ring_theory.chain_of_divisors
⟷
Mathlib.RingTheory.ChainOfDivisors
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -415,7 +415,7 @@ def mkFactorOrderIsoOfFactorDvdEquiv {m : M} {n : N} {d : { l : M // l ∣ m }
obtain ⟨x, hx⟩ := l;
rw [Subtype.coe_mk, associatesEquivOfUniqueUnits_apply, out_dvd_iff]
exact hx⟩),
- mk_le_mk_iff_dvd_iff.mpr (Subtype.prop (d ⟨associatesEquivOfUniqueUnits ↑l, _⟩))⟩
+ mk_le_mk_iff_dvd.mpr (Subtype.prop (d ⟨associatesEquivOfUniqueUnits ↑l, _⟩))⟩
invFun l :=
⟨Associates.mk
(d.symm
@@ -423,7 +423,7 @@ def mkFactorOrderIsoOfFactorDvdEquiv {m : M} {n : N} {d : { l : M // l ∣ m }
obtain ⟨x, hx⟩ := l <;>
rw [Subtype.coe_mk, associatesEquivOfUniqueUnits_apply, out_dvd_iff] <;>
exact hx⟩),
- mk_le_mk_iff_dvd_iff.mpr (Subtype.prop (d.symm ⟨associatesEquivOfUniqueUnits ↑l, _⟩))⟩
+ mk_le_mk_iff_dvd.mpr (Subtype.prop (d.symm ⟨associatesEquivOfUniqueUnits ↑l, _⟩))⟩
left_inv := fun ⟨l, hl⟩ => by
simp only [Subtype.coe_eta, Equiv.symm_apply_apply, Subtype.coe_mk,
associatesEquivOfUniqueUnits_apply, mk_out, out_mk, normalize_eq]
@@ -432,8 +432,8 @@ def mkFactorOrderIsoOfFactorDvdEquiv {m : M} {n : N} {d : { l : M // l ∣ m }
associatesEquivOfUniqueUnits_apply, out_mk, normalize_eq, mk_out]
map_rel_iff' := by
rintro ⟨a, ha⟩ ⟨b, hb⟩ <;>
- simp only [Equiv.coe_fn_mk, Subtype.mk_le_mk, Associates.mk_le_mk_iff_dvd_iff, hd,
- Subtype.coe_mk, associatesEquivOfUniqueUnits_apply, out_dvd_iff, mk_out]
+ simp only [Equiv.coe_fn_mk, Subtype.mk_le_mk, Associates.mk_le_mk_iff_dvd, hd, Subtype.coe_mk,
+ associatesEquivOfUniqueUnits_apply, out_dvd_iff, mk_out]
#align mk_factor_order_iso_of_factor_dvd_equiv mkFactorOrderIsoOfFactorDvdEquiv
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -4,9 +4,9 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Anne Baanen, Paul Lezeau
-/
import Algebra.IsPrimePow
-import Algebra.Squarefree
+import Algebra.Squarefree.Basic
import Order.Hom.Bounded
-import Algebra.GcdMonoid.Basic
+import Algebra.GCDMonoid.Basic
#align_import ring_theory.chain_of_divisors from "leanprover-community/mathlib"@"86d1873c01a723aba6788f0b9051ae3d23b4c1c3"
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -49,13 +49,13 @@ theorem Associates.isAtom_iff {p : Associates M} (h₁ : p ≠ 0) : IsAtom p ↔
⟨by simpa only [Associates.isUnit_iff_eq_one] using hp.1, fun a b h =>
(hp.le_iff.mp ⟨_, h⟩).casesOn (fun ha => Or.inl (a.isUnit_iff_eq_one.mpr ha)) fun ha =>
Or.inr
- (show IsUnit b by rw [ha] at h ;
+ (show IsUnit b by rw [ha] at h;
apply isUnit_of_associated_mul (show Associated (p * b) p by conv_rhs => rw [h]) h₁)⟩,
fun hp =>
⟨by simpa only [Associates.isUnit_iff_eq_one, Associates.bot_eq_one] using hp.1,
fun b ⟨⟨a, hab⟩, hb⟩ =>
(hp.isUnit_or_isUnit hab).casesOn
- (fun hb => show b = ⊥ by rwa [Associates.isUnit_iff_eq_one, ← Associates.bot_eq_one] at hb )
+ (fun hb => show b = ⊥ by rwa [Associates.isUnit_iff_eq_one, ← Associates.bot_eq_one] at hb)
fun ha =>
absurd
(show p ∣ b from
@@ -84,7 +84,7 @@ theorem exists_chain_of_prime_pow {p : Associates M} {n : ℕ} (hn : n ≠ 0) (h
not_isUnit_of_not_isUnit_dvd hp.not_unit (dvd_pow dvd_rfl (Nat.sub_pos_of_lt h).ne'),
(pow_mul_pow_sub p h.le).symm⟩
· obtain ⟨i, i_le, hi⟩ := (dvd_prime_pow hp n).1 h
- rw [associated_iff_eq] at hi
+ rw [associated_iff_eq] at hi
exact ⟨⟨i, Nat.lt_succ_of_le i_le⟩, hi⟩
· rintro ⟨i, rfl⟩
exact ⟨p ^ (n - i : ℕ), (pow_mul_pow_sub p (nat.succ_le_succ_iff.mp i.2)).symm⟩
@@ -184,7 +184,7 @@ theorem element_of_chain_eq_pow_second_of_chain {q r : Associates M} {n : ℕ} (
have H : r = c 1 ^ i :=
by
have := UniqueFactorizationMonoid.normalizedFactors_prod (ne_zero_of_dvd_ne_zero hq hr)
- rw [associated_iff_eq, hi, Multiset.prod_replicate] at this
+ rw [associated_iff_eq, hi, Multiset.prod_replicate] at this
rw [this]
refine' ⟨⟨i, _⟩, H⟩
have : (finset.univ.image fun m : Fin (i + 1) => c 1 ^ (m : ℕ)).card = i + 1 :=
@@ -226,10 +226,10 @@ theorem eq_pow_second_of_chain_of_has_chain {q : Associates M} {n : ℕ} (hn : n
intro r hr
obtain ⟨j, -, rfl⟩ := Finset.mem_image.1 hr
have := h₂.2 ⟨j, rfl⟩
- rw [hi'] at this
+ rw [hi'] at this
obtain ⟨u, hu, hu'⟩ := (dvd_prime_pow (show Prime (c 1) from _) i).1 this
refine' finset.mem_image.mpr ⟨u, Finset.mem_univ _, _⟩
- · rw [associated_iff_eq] at hu' ; rw [Fin.val_cast_of_lt (Nat.lt_succ_of_le hu), hu']
+ · rw [associated_iff_eq] at hu'; rw [Fin.val_cast_of_lt (Nat.lt_succ_of_le hu), hu']
· rw [← irreducible_iff_prime]; exact second_of_chain_is_irreducible hn h₁ (@h₂) hq
#align divisor_chain.eq_pow_second_of_chain_of_has_chain DivisorChain.eq_pow_second_of_chain_of_has_chain
-/
@@ -324,11 +324,11 @@ theorem map_prime_of_factor_orderIso [DecidableEq (Associates M)] {m p : Associa
exact (prime_of_normalized_factor 1 hp).not_unit isUnit_one
· obtain ⟨x, hx⟩ :=
d.surjective ⟨b, le_trans (le_of_lt hb) (d ⟨p, dvd_of_mem_normalized_factors hp⟩).Prop⟩
- rw [← Subtype.coe_mk b _, Subtype.coe_lt_coe, ← hx] at hb
+ rw [← Subtype.coe_mk b _, Subtype.coe_lt_coe, ← hx] at hb
letI : OrderBot { l : Associates M // l ≤ m } := Subtype.orderBot bot_le
letI : OrderBot { l : Associates N // l ≤ n } := Subtype.orderBot bot_le
suffices x = ⊥ by
- rw [this, OrderIso.map_bot d] at hx
+ rw [this, OrderIso.map_bot d] at hx
refine' (Subtype.mk_eq_bot_iff _ _).mp hx.symm
exact bot_le
obtain ⟨a, ha⟩ := x
@@ -351,7 +351,7 @@ theorem mem_normalizedFactors_factor_orderIso_of_mem_normalizedFactors [Decidabl
obtain ⟨q, hq, hq'⟩ :=
exists_mem_normalized_factors_of_dvd hn (map_prime_of_factor_orderIso hn hp d).Irreducible
(d ⟨p, dvd_of_mem_normalized_factors hp⟩).Prop
- rw [associated_iff_eq] at hq'
+ rw [associated_iff_eq] at hq'
rwa [hq']
#align mem_normalized_factors_factor_order_iso_of_mem_normalized_factors mem_normalizedFactors_factor_orderIso_of_mem_normalizedFactors
-/
@@ -387,7 +387,7 @@ theorem multiplicity_prime_eq_multiplicity_image_by_factor_orderIso [DecidableEq
multiplicity (↑(d ⟨p, dvd_of_mem_normalized_factors hp⟩)) n ≤
multiplicity (↑(d.symm (d ⟨p, dvd_of_mem_normalized_factors hp⟩))) m
by
- rw [d.symm_apply_apply ⟨p, dvd_of_mem_normalized_factors hp⟩, Subtype.coe_mk] at this
+ rw [d.symm_apply_apply ⟨p, dvd_of_mem_normalized_factors hp⟩, Subtype.coe_mk] at this
exact this
letI := Classical.decEq (Associates N)
simpa only [Subtype.coe_eta] using
@@ -453,7 +453,7 @@ theorem mem_normalizedFactors_factor_dvd_iso_of_mem_normalizedFactors [Decidable
simp [dvd_of_mem_normalized_factors hp]⟩)
by
simp only [associatesEquivOfUniqueUnits_apply, out_mk, normalize_eq,
- associatesEquivOfUniqueUnits_symm_apply] at this
+ associatesEquivOfUniqueUnits_symm_apply] at this
obtain ⟨q, hq, hq'⟩ :=
exists_mem_normalized_factors_of_dvd hn this.irreducible
(d ⟨p, by apply dvd_of_mem_normalized_factors <;> convert hp⟩).Prop
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -154,7 +154,15 @@ theorem eq_second_of_chain_of_prime_dvd {p q r : Associates M} {n : ℕ} (hn : n
#print DivisorChain.card_subset_divisors_le_length_of_chain /-
theorem card_subset_divisors_le_length_of_chain {q : Associates M} {n : ℕ}
{c : Fin (n + 1) → Associates M} (h₂ : ∀ {r}, r ≤ q ↔ ∃ i, r = c i) {m : Finset (Associates M)}
- (hm : ∀ r, r ∈ m → r ≤ q) : m.card ≤ n + 1 := by classical
+ (hm : ∀ r, r ∈ m → r ≤ q) : m.card ≤ n + 1 := by
+ classical
+ have mem_image : ∀ r : Associates M, r ≤ q → r ∈ finset.univ.image c :=
+ by
+ intro r hr
+ obtain ⟨i, hi⟩ := h₂.1 hr
+ exact Finset.mem_image.2 ⟨i, Finset.mem_univ _, hi.symm⟩
+ rw [← Finset.card_fin (n + 1)]
+ exact (Finset.card_le_card fun x hx => mem_image x <| hm x hx).trans Finset.card_image_le
#align divisor_chain.card_subset_divisors_le_length_of_chain DivisorChain.card_subset_divisors_le_length_of_chain
-/
@@ -163,14 +171,66 @@ variable [UniqueFactorizationMonoid M]
#print DivisorChain.element_of_chain_eq_pow_second_of_chain /-
theorem element_of_chain_eq_pow_second_of_chain {q r : Associates M} {n : ℕ} (hn : n ≠ 0)
{c : Fin (n + 1) → Associates M} (h₁ : StrictMono c) (h₂ : ∀ {r}, r ≤ q ↔ ∃ i, r = c i)
- (hr : r ∣ q) (hq : q ≠ 0) : ∃ i : Fin (n + 1), r = c 1 ^ (i : ℕ) := by classical
+ (hr : r ∣ q) (hq : q ≠ 0) : ∃ i : Fin (n + 1), r = c 1 ^ (i : ℕ) := by
+ classical
+ let i := (normalized_factors r).card
+ have hi : normalized_factors r = Multiset.replicate i (c 1) :=
+ by
+ apply Multiset.eq_replicate_of_mem
+ intro b hb
+ refine'
+ eq_second_of_chain_of_prime_dvd hn h₁ (fun r' => h₂) (prime_of_normalized_factor b hb) hr
+ (dvd_of_mem_normalized_factors hb)
+ have H : r = c 1 ^ i :=
+ by
+ have := UniqueFactorizationMonoid.normalizedFactors_prod (ne_zero_of_dvd_ne_zero hq hr)
+ rw [associated_iff_eq, hi, Multiset.prod_replicate] at this
+ rw [this]
+ refine' ⟨⟨i, _⟩, H⟩
+ have : (finset.univ.image fun m : Fin (i + 1) => c 1 ^ (m : ℕ)).card = i + 1 :=
+ by
+ conv_rhs => rw [← Finset.card_fin (i + 1)]
+ cases n; · contradiction
+ rw [Finset.card_image_iff]
+ refine' Set.injOn_of_injective (fun m m' h => Fin.ext _) _
+ refine'
+ pow_injective_of_not_unit (element_of_chain_not_is_unit_of_index_ne_zero (by simp) h₁) _ h
+ exact Irreducible.ne_zero (second_of_chain_is_irreducible hn h₁ (@h₂) hq)
+ suffices H' : ∀ r ∈ finset.univ.image fun m : Fin (i + 1) => c 1 ^ (m : ℕ), r ≤ q
+ · simp only [← Nat.succ_le_iff, Nat.succ_eq_add_one, ← this]
+ apply card_subset_divisors_le_length_of_chain (@h₂) H'
+ simp only [Finset.mem_image]
+ rintro r ⟨a, ha, rfl⟩
+ refine' dvd_trans _ hr
+ use c 1 ^ (i - a)
+ rw [pow_mul_pow_sub (c 1)]
+ · exact H
+ · exact nat.succ_le_succ_iff.mp a.2
#align divisor_chain.element_of_chain_eq_pow_second_of_chain DivisorChain.element_of_chain_eq_pow_second_of_chain
-/
#print DivisorChain.eq_pow_second_of_chain_of_has_chain /-
theorem eq_pow_second_of_chain_of_has_chain {q : Associates M} {n : ℕ} (hn : n ≠ 0)
{c : Fin (n + 1) → Associates M} (h₁ : StrictMono c)
- (h₂ : ∀ {r : Associates M}, r ≤ q ↔ ∃ i, r = c i) (hq : q ≠ 0) : q = c 1 ^ n := by classical
+ (h₂ : ∀ {r : Associates M}, r ≤ q ↔ ∃ i, r = c i) (hq : q ≠ 0) : q = c 1 ^ n := by
+ classical
+ obtain ⟨i, hi'⟩ := element_of_chain_eq_pow_second_of_chain hn h₁ (fun r => h₂) (dvd_refl q) hq
+ convert hi'
+ refine' (Nat.lt_succ_iff.1 i.prop).antisymm' (Nat.le_of_succ_le_succ _)
+ calc
+ n + 1 = (Finset.univ : Finset (Fin (n + 1))).card := (Finset.card_fin _).symm
+ _ = (finset.univ.image c).card := (finset.card_image_iff.mpr (h₁.injective.inj_on _)).symm
+ _ ≤ (finset.univ.image fun m : Fin (i + 1) => c 1 ^ (m : ℕ)).card := (Finset.card_le_card _)
+ _ ≤ (Finset.univ : Finset (Fin (i + 1))).card := Finset.card_image_le
+ _ = i + 1 := Finset.card_fin _
+ intro r hr
+ obtain ⟨j, -, rfl⟩ := Finset.mem_image.1 hr
+ have := h₂.2 ⟨j, rfl⟩
+ rw [hi'] at this
+ obtain ⟨u, hu, hu'⟩ := (dvd_prime_pow (show Prime (c 1) from _) i).1 this
+ refine' finset.mem_image.mpr ⟨u, Finset.mem_univ _, _⟩
+ · rw [associated_iff_eq] at hu' ; rw [Fin.val_cast_of_lt (Nat.lt_succ_of_le hu), hu']
+ · rw [← irreducible_iff_prime]; exact second_of_chain_is_irreducible hn h₁ (@h₂) hq
#align divisor_chain.eq_pow_second_of_chain_of_has_chain DivisorChain.eq_pow_second_of_chain_of_has_chain
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -154,15 +154,7 @@ theorem eq_second_of_chain_of_prime_dvd {p q r : Associates M} {n : ℕ} (hn : n
#print DivisorChain.card_subset_divisors_le_length_of_chain /-
theorem card_subset_divisors_le_length_of_chain {q : Associates M} {n : ℕ}
{c : Fin (n + 1) → Associates M} (h₂ : ∀ {r}, r ≤ q ↔ ∃ i, r = c i) {m : Finset (Associates M)}
- (hm : ∀ r, r ∈ m → r ≤ q) : m.card ≤ n + 1 := by
- classical
- have mem_image : ∀ r : Associates M, r ≤ q → r ∈ finset.univ.image c :=
- by
- intro r hr
- obtain ⟨i, hi⟩ := h₂.1 hr
- exact Finset.mem_image.2 ⟨i, Finset.mem_univ _, hi.symm⟩
- rw [← Finset.card_fin (n + 1)]
- exact (Finset.card_le_card fun x hx => mem_image x <| hm x hx).trans Finset.card_image_le
+ (hm : ∀ r, r ∈ m → r ≤ q) : m.card ≤ n + 1 := by classical
#align divisor_chain.card_subset_divisors_le_length_of_chain DivisorChain.card_subset_divisors_le_length_of_chain
-/
@@ -171,66 +163,14 @@ variable [UniqueFactorizationMonoid M]
#print DivisorChain.element_of_chain_eq_pow_second_of_chain /-
theorem element_of_chain_eq_pow_second_of_chain {q r : Associates M} {n : ℕ} (hn : n ≠ 0)
{c : Fin (n + 1) → Associates M} (h₁ : StrictMono c) (h₂ : ∀ {r}, r ≤ q ↔ ∃ i, r = c i)
- (hr : r ∣ q) (hq : q ≠ 0) : ∃ i : Fin (n + 1), r = c 1 ^ (i : ℕ) := by
- classical
- let i := (normalized_factors r).card
- have hi : normalized_factors r = Multiset.replicate i (c 1) :=
- by
- apply Multiset.eq_replicate_of_mem
- intro b hb
- refine'
- eq_second_of_chain_of_prime_dvd hn h₁ (fun r' => h₂) (prime_of_normalized_factor b hb) hr
- (dvd_of_mem_normalized_factors hb)
- have H : r = c 1 ^ i :=
- by
- have := UniqueFactorizationMonoid.normalizedFactors_prod (ne_zero_of_dvd_ne_zero hq hr)
- rw [associated_iff_eq, hi, Multiset.prod_replicate] at this
- rw [this]
- refine' ⟨⟨i, _⟩, H⟩
- have : (finset.univ.image fun m : Fin (i + 1) => c 1 ^ (m : ℕ)).card = i + 1 :=
- by
- conv_rhs => rw [← Finset.card_fin (i + 1)]
- cases n; · contradiction
- rw [Finset.card_image_iff]
- refine' Set.injOn_of_injective (fun m m' h => Fin.ext _) _
- refine'
- pow_injective_of_not_unit (element_of_chain_not_is_unit_of_index_ne_zero (by simp) h₁) _ h
- exact Irreducible.ne_zero (second_of_chain_is_irreducible hn h₁ (@h₂) hq)
- suffices H' : ∀ r ∈ finset.univ.image fun m : Fin (i + 1) => c 1 ^ (m : ℕ), r ≤ q
- · simp only [← Nat.succ_le_iff, Nat.succ_eq_add_one, ← this]
- apply card_subset_divisors_le_length_of_chain (@h₂) H'
- simp only [Finset.mem_image]
- rintro r ⟨a, ha, rfl⟩
- refine' dvd_trans _ hr
- use c 1 ^ (i - a)
- rw [pow_mul_pow_sub (c 1)]
- · exact H
- · exact nat.succ_le_succ_iff.mp a.2
+ (hr : r ∣ q) (hq : q ≠ 0) : ∃ i : Fin (n + 1), r = c 1 ^ (i : ℕ) := by classical
#align divisor_chain.element_of_chain_eq_pow_second_of_chain DivisorChain.element_of_chain_eq_pow_second_of_chain
-/
#print DivisorChain.eq_pow_second_of_chain_of_has_chain /-
theorem eq_pow_second_of_chain_of_has_chain {q : Associates M} {n : ℕ} (hn : n ≠ 0)
{c : Fin (n + 1) → Associates M} (h₁ : StrictMono c)
- (h₂ : ∀ {r : Associates M}, r ≤ q ↔ ∃ i, r = c i) (hq : q ≠ 0) : q = c 1 ^ n := by
- classical
- obtain ⟨i, hi'⟩ := element_of_chain_eq_pow_second_of_chain hn h₁ (fun r => h₂) (dvd_refl q) hq
- convert hi'
- refine' (Nat.lt_succ_iff.1 i.prop).antisymm' (Nat.le_of_succ_le_succ _)
- calc
- n + 1 = (Finset.univ : Finset (Fin (n + 1))).card := (Finset.card_fin _).symm
- _ = (finset.univ.image c).card := (finset.card_image_iff.mpr (h₁.injective.inj_on _)).symm
- _ ≤ (finset.univ.image fun m : Fin (i + 1) => c 1 ^ (m : ℕ)).card := (Finset.card_le_card _)
- _ ≤ (Finset.univ : Finset (Fin (i + 1))).card := Finset.card_image_le
- _ = i + 1 := Finset.card_fin _
- intro r hr
- obtain ⟨j, -, rfl⟩ := Finset.mem_image.1 hr
- have := h₂.2 ⟨j, rfl⟩
- rw [hi'] at this
- obtain ⟨u, hu, hu'⟩ := (dvd_prime_pow (show Prime (c 1) from _) i).1 this
- refine' finset.mem_image.mpr ⟨u, Finset.mem_univ _, _⟩
- · rw [associated_iff_eq] at hu' ; rw [Fin.val_cast_of_lt (Nat.lt_succ_of_le hu), hu']
- · rw [← irreducible_iff_prime]; exact second_of_chain_is_irreducible hn h₁ (@h₂) hq
+ (h₂ : ∀ {r : Associates M}, r ≤ q ↔ ∃ i, r = c i) (hq : q ≠ 0) : q = c 1 ^ n := by classical
#align divisor_chain.eq_pow_second_of_chain_of_has_chain DivisorChain.eq_pow_second_of_chain_of_has_chain
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -162,7 +162,7 @@ theorem card_subset_divisors_le_length_of_chain {q : Associates M} {n : ℕ}
obtain ⟨i, hi⟩ := h₂.1 hr
exact Finset.mem_image.2 ⟨i, Finset.mem_univ _, hi.symm⟩
rw [← Finset.card_fin (n + 1)]
- exact (Finset.card_le_of_subset fun x hx => mem_image x <| hm x hx).trans Finset.card_image_le
+ exact (Finset.card_le_card fun x hx => mem_image x <| hm x hx).trans Finset.card_image_le
#align divisor_chain.card_subset_divisors_le_length_of_chain DivisorChain.card_subset_divisors_le_length_of_chain
-/
@@ -220,8 +220,7 @@ theorem eq_pow_second_of_chain_of_has_chain {q : Associates M} {n : ℕ} (hn : n
calc
n + 1 = (Finset.univ : Finset (Fin (n + 1))).card := (Finset.card_fin _).symm
_ = (finset.univ.image c).card := (finset.card_image_iff.mpr (h₁.injective.inj_on _)).symm
- _ ≤ (finset.univ.image fun m : Fin (i + 1) => c 1 ^ (m : ℕ)).card :=
- (Finset.card_le_of_subset _)
+ _ ≤ (finset.univ.image fun m : Fin (i + 1) => c 1 ^ (m : ℕ)).card := (Finset.card_le_card _)
_ ≤ (Finset.univ : Finset (Fin (i + 1))).card := Finset.card_image_le
_ = i + 1 := Finset.card_fin _
intro r hr
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,10 +3,10 @@ Copyright (c) 2021 Paul Lezeau. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Anne Baanen, Paul Lezeau
-/
-import Mathbin.Algebra.IsPrimePow
-import Mathbin.Algebra.Squarefree
-import Mathbin.Order.Hom.Bounded
-import Mathbin.Algebra.GcdMonoid.Basic
+import Algebra.IsPrimePow
+import Algebra.Squarefree
+import Order.Hom.Bounded
+import Algebra.GcdMonoid.Basic
#align_import ring_theory.chain_of_divisors from "leanprover-community/mathlib"@"86d1873c01a723aba6788f0b9051ae3d23b4c1c3"
mathlib commit https://github.com/leanprover-community/mathlib/commit/63721b2c3eba6c325ecf8ae8cca27155a4f6306f
@@ -106,7 +106,7 @@ theorem first_of_chain_isUnit {q : Associates M} {n : ℕ} {c : Fin (n + 1) →
by
obtain ⟨i, hr⟩ := h₂.mp Associates.one_le
rw [Associates.isUnit_iff_eq_one, ← Associates.le_one_iff, hr]
- exact h₁.monotone (Fin.zero_le i)
+ exact h₁.monotone (Fin.zero_le' i)
#align divisor_chain.first_of_chain_is_unit DivisorChain.first_of_chain_isUnit
-/
@@ -135,7 +135,7 @@ theorem eq_second_of_chain_of_prime_dvd {p q r : Associates M} {n : ℕ} (hn : n
obtain ⟨i, rfl⟩ := h₂.1 (dvd_trans hp' hr)
refine' congr_arg c (eq_of_ge_of_not_gt _ fun hi => _)
· rw [Fin.le_iff_val_le_val, Fin.val_one, Nat.succ_le_iff, ← Fin.val_zero (n.succ + 1), ←
- Fin.lt_iff_val_lt_val, Fin.pos_iff_ne_zero]
+ Fin.lt_iff_val_lt_val, Fin.pos_iff_ne_zero']
rintro rfl
exact hp.not_unit (first_of_chain_is_unit h₁ @h₂)
obtain rfl | ⟨j, rfl⟩ := i.eq_zero_or_eq_succ
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,17 +2,14 @@
Copyright (c) 2021 Paul Lezeau. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Anne Baanen, Paul Lezeau
-
-! This file was ported from Lean 3 source module ring_theory.chain_of_divisors
-! leanprover-community/mathlib commit 86d1873c01a723aba6788f0b9051ae3d23b4c1c3
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Algebra.IsPrimePow
import Mathbin.Algebra.Squarefree
import Mathbin.Order.Hom.Bounded
import Mathbin.Algebra.GcdMonoid.Basic
+#align_import ring_theory.chain_of_divisors from "leanprover-community/mathlib"@"86d1873c01a723aba6788f0b9051ae3d23b4c1c3"
+
/-!
# Chains of divisors
mathlib commit https://github.com/leanprover-community/mathlib/commit/2fe465deb81bcd7ccafa065bb686888a82f15372
@@ -150,7 +150,7 @@ theorem eq_second_of_chain_of_prime_dvd {p q r : Associates M} {n : ℕ} (hn : n
_ hp.irreducible
· simpa [Fin.succ_lt_succ_iff, Fin.lt_iff_val_lt_val] using hi
· refine' Associates.dvdNotUnit_iff_lt.2 (h₁ _)
- simpa only [Fin.coe_eq_castSuccEmb] using Fin.lt_succ
+ simpa only [Fin.coe_eq_castSucc] using Fin.lt_succ
#align divisor_chain.eq_second_of_chain_of_prime_dvd DivisorChain.eq_second_of_chain_of_prime_dvd
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/5dc6092d09e5e489106865241986f7f2ad28d4c8
@@ -150,7 +150,7 @@ theorem eq_second_of_chain_of_prime_dvd {p q r : Associates M} {n : ℕ} (hn : n
_ hp.irreducible
· simpa [Fin.succ_lt_succ_iff, Fin.lt_iff_val_lt_val] using hi
· refine' Associates.dvdNotUnit_iff_lt.2 (h₁ _)
- simpa only [Fin.coe_eq_castSucc] using Fin.lt_succ
+ simpa only [Fin.coe_eq_castSuccEmb] using Fin.lt_succ
#align divisor_chain.eq_second_of_chain_of_prime_dvd DivisorChain.eq_second_of_chain_of_prime_dvd
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -46,6 +46,7 @@ and the set of factors of `a`.
variable {M : Type _} [CancelCommMonoidWithZero M]
+#print Associates.isAtom_iff /-
theorem Associates.isAtom_iff {p : Associates M} (h₁ : p ≠ 0) : IsAtom p ↔ Irreducible p :=
⟨fun hp =>
⟨by simpa only [Associates.isUnit_iff_eq_one] using hp.1, fun a b h =>
@@ -65,11 +66,13 @@ theorem Associates.isAtom_iff {p : Associates M} (h₁ : p ≠ 0) : IsAtom p ↔
simp [hab] <;> rw [mul_assoc] <;> rw [IsUnit.mul_val_inv ha] <;> rw [mul_one]⟩)
hb⟩⟩
#align associates.is_atom_iff Associates.isAtom_iff
+-/
open UniqueFactorizationMonoid multiplicity Irreducible Associates
namespace DivisorChain
+#print DivisorChain.exists_chain_of_prime_pow /-
theorem exists_chain_of_prime_pow {p : Associates M} {n : ℕ} (hn : n ≠ 0) (hp : Prime p) :
∃ c : Fin (n + 1) → Associates M,
c 1 = p ∧ StrictMono c ∧ ∀ {r : Associates M}, r ≤ p ^ n ↔ ∃ i, r = c i :=
@@ -89,14 +92,18 @@ theorem exists_chain_of_prime_pow {p : Associates M} {n : ℕ} (hn : n ≠ 0) (h
· rintro ⟨i, rfl⟩
exact ⟨p ^ (n - i : ℕ), (pow_mul_pow_sub p (nat.succ_le_succ_iff.mp i.2)).symm⟩
#align divisor_chain.exists_chain_of_prime_pow DivisorChain.exists_chain_of_prime_pow
+-/
+#print DivisorChain.element_of_chain_not_isUnit_of_index_ne_zero /-
theorem element_of_chain_not_isUnit_of_index_ne_zero {n : ℕ} {i : Fin (n + 1)} (i_pos : i ≠ 0)
{c : Fin (n + 1) → Associates M} (h₁ : StrictMono c) : ¬IsUnit (c i) :=
DvdNotUnit.not_unit
(Associates.dvdNotUnit_iff_lt.2
(h₁ <| show (0 : Fin (n + 1)) < i from i.pos_iff_ne_zero.mpr i_pos))
#align divisor_chain.element_of_chain_not_is_unit_of_index_ne_zero DivisorChain.element_of_chain_not_isUnit_of_index_ne_zero
+-/
+#print DivisorChain.first_of_chain_isUnit /-
theorem first_of_chain_isUnit {q : Associates M} {n : ℕ} {c : Fin (n + 1) → Associates M}
(h₁ : StrictMono c) (h₂ : ∀ {r}, r ≤ q ↔ ∃ i, r = c i) : IsUnit (c 0) :=
by
@@ -104,7 +111,9 @@ theorem first_of_chain_isUnit {q : Associates M} {n : ℕ} {c : Fin (n + 1) →
rw [Associates.isUnit_iff_eq_one, ← Associates.le_one_iff, hr]
exact h₁.monotone (Fin.zero_le i)
#align divisor_chain.first_of_chain_is_unit DivisorChain.first_of_chain_isUnit
+-/
+#print DivisorChain.second_of_chain_is_irreducible /-
/-- The second element of a chain is irreducible. -/
theorem second_of_chain_is_irreducible {q : Associates M} {n : ℕ} (hn : n ≠ 0)
{c : Fin (n + 1) → Associates M} (h₁ : StrictMono c) (h₂ : ∀ {r}, r ≤ q ↔ ∃ i, r = c i)
@@ -117,7 +126,9 @@ theorem second_of_chain_is_irreducible {q : Associates M} {n : ℕ} (hn : n ≠
· exact (Associates.isUnit_iff_eq_one _).mp (first_of_chain_is_unit h₁ @h₂)
· simpa [Fin.lt_iff_val_lt_val] using h₁.lt_iff_lt.mp hb
#align divisor_chain.second_of_chain_is_irreducible DivisorChain.second_of_chain_is_irreducible
+-/
+#print DivisorChain.eq_second_of_chain_of_prime_dvd /-
theorem eq_second_of_chain_of_prime_dvd {p q r : Associates M} {n : ℕ} (hn : n ≠ 0)
{c : Fin (n + 1) → Associates M} (h₁ : StrictMono c)
(h₂ : ∀ {r : Associates M}, r ≤ q ↔ ∃ i, r = c i) (hp : Prime p) (hr : r ∣ q) (hp' : p ∣ r) :
@@ -141,7 +152,9 @@ theorem eq_second_of_chain_of_prime_dvd {p q r : Associates M} {n : ℕ} (hn : n
· refine' Associates.dvdNotUnit_iff_lt.2 (h₁ _)
simpa only [Fin.coe_eq_castSucc] using Fin.lt_succ
#align divisor_chain.eq_second_of_chain_of_prime_dvd DivisorChain.eq_second_of_chain_of_prime_dvd
+-/
+#print DivisorChain.card_subset_divisors_le_length_of_chain /-
theorem card_subset_divisors_le_length_of_chain {q : Associates M} {n : ℕ}
{c : Fin (n + 1) → Associates M} (h₂ : ∀ {r}, r ≤ q ↔ ∃ i, r = c i) {m : Finset (Associates M)}
(hm : ∀ r, r ∈ m → r ≤ q) : m.card ≤ n + 1 := by
@@ -154,9 +167,11 @@ theorem card_subset_divisors_le_length_of_chain {q : Associates M} {n : ℕ}
rw [← Finset.card_fin (n + 1)]
exact (Finset.card_le_of_subset fun x hx => mem_image x <| hm x hx).trans Finset.card_image_le
#align divisor_chain.card_subset_divisors_le_length_of_chain DivisorChain.card_subset_divisors_le_length_of_chain
+-/
variable [UniqueFactorizationMonoid M]
+#print DivisorChain.element_of_chain_eq_pow_second_of_chain /-
theorem element_of_chain_eq_pow_second_of_chain {q r : Associates M} {n : ℕ} (hn : n ≠ 0)
{c : Fin (n + 1) → Associates M} (h₁ : StrictMono c) (h₂ : ∀ {r}, r ≤ q ↔ ∃ i, r = c i)
(hr : r ∣ q) (hq : q ≠ 0) : ∃ i : Fin (n + 1), r = c 1 ^ (i : ℕ) := by
@@ -195,7 +210,9 @@ theorem element_of_chain_eq_pow_second_of_chain {q r : Associates M} {n : ℕ} (
· exact H
· exact nat.succ_le_succ_iff.mp a.2
#align divisor_chain.element_of_chain_eq_pow_second_of_chain DivisorChain.element_of_chain_eq_pow_second_of_chain
+-/
+#print DivisorChain.eq_pow_second_of_chain_of_has_chain /-
theorem eq_pow_second_of_chain_of_has_chain {q : Associates M} {n : ℕ} (hn : n ≠ 0)
{c : Fin (n + 1) → Associates M} (h₁ : StrictMono c)
(h₂ : ∀ {r : Associates M}, r ≤ q ↔ ∃ i, r = c i) (hq : q ≠ 0) : q = c 1 ^ n := by
@@ -219,18 +236,22 @@ theorem eq_pow_second_of_chain_of_has_chain {q : Associates M} {n : ℕ} (hn : n
· rw [associated_iff_eq] at hu' ; rw [Fin.val_cast_of_lt (Nat.lt_succ_of_le hu), hu']
· rw [← irreducible_iff_prime]; exact second_of_chain_is_irreducible hn h₁ (@h₂) hq
#align divisor_chain.eq_pow_second_of_chain_of_has_chain DivisorChain.eq_pow_second_of_chain_of_has_chain
+-/
+#print DivisorChain.isPrimePow_of_has_chain /-
theorem isPrimePow_of_has_chain {q : Associates M} {n : ℕ} (hn : n ≠ 0)
{c : Fin (n + 1) → Associates M} (h₁ : StrictMono c)
(h₂ : ∀ {r : Associates M}, r ≤ q ↔ ∃ i, r = c i) (hq : q ≠ 0) : IsPrimePow q :=
⟨c 1, n, irreducible_iff_prime.mp (second_of_chain_is_irreducible hn h₁ (@h₂) hq),
zero_lt_iff.mpr hn, (eq_pow_second_of_chain_of_has_chain hn h₁ (@h₂) hq).symm⟩
#align divisor_chain.is_prime_pow_of_has_chain DivisorChain.isPrimePow_of_has_chain
+-/
end DivisorChain
variable {N : Type _} [CancelCommMonoidWithZero N]
+#print factor_orderIso_map_one_eq_bot /-
theorem factor_orderIso_map_one_eq_bot {m : Associates M} {n : Associates N}
(d : { l : Associates M // l ≤ m } ≃o { l : Associates N // l ≤ n }) :
(d ⟨1, one_dvd m⟩ : Associates N) = 1 :=
@@ -239,7 +260,9 @@ theorem factor_orderIso_map_one_eq_bot {m : Associates M} {n : Associates N}
letI : OrderBot { l : Associates N // l ≤ n } := Subtype.orderBot bot_le
simp [← Associates.bot_eq_one]
#align factor_order_iso_map_one_eq_bot factor_orderIso_map_one_eq_bot
+-/
+#print coe_factor_orderIso_map_eq_one_iff /-
theorem coe_factor_orderIso_map_eq_one_iff {m u : Associates M} {n : Associates N} (hu' : u ≤ m)
(d : Set.Iic m ≃o Set.Iic n) : (d ⟨u, hu'⟩ : Associates N) = 1 ↔ u = 1 :=
⟨fun hu =>
@@ -249,6 +272,7 @@ theorem coe_factor_orderIso_map_eq_one_iff {m u : Associates M} {n : Associates
convert factor_orderIso_map_one_eq_bot d.symm, fun hu => by simp_rw [hu];
convert factor_orderIso_map_one_eq_bot d⟩
#align coe_factor_order_iso_map_eq_one_iff coe_factor_orderIso_map_eq_one_iff
+-/
section
@@ -256,6 +280,7 @@ variable [UniqueFactorizationMonoid N] [UniqueFactorizationMonoid M]
open DivisorChain
+#print pow_image_of_prime_by_factor_orderIso_dvd /-
theorem pow_image_of_prime_by_factor_orderIso_dvd [DecidableEq (Associates M)] {m p : Associates M}
{n : Associates N} (hn : n ≠ 0) (hp : p ∈ normalizedFactors m) (d : Set.Iic m ≃o Set.Iic n)
{s : ℕ} (hs' : p ^ s ≤ m) : (d ⟨p, dvd_of_mem_normalizedFactors hp⟩ : Associates N) ^ s ≤ n :=
@@ -288,7 +313,9 @@ theorem pow_image_of_prime_by_factor_orderIso_dvd [DecidableEq (Associates M)] {
simpa [Subtype.mk_le_mk] using hc₁''.2 ⟨i, rfl⟩
exact ne_zero_of_dvd_ne_zero hn (Subtype.prop (d ⟨c₁ 1 ^ s, _⟩))
#align pow_image_of_prime_by_factor_order_iso_dvd pow_image_of_prime_by_factor_orderIso_dvd
+-/
+#print map_prime_of_factor_orderIso /-
theorem map_prime_of_factor_orderIso [DecidableEq (Associates M)] {m p : Associates M}
{n : Associates N} (hn : n ≠ 0) (hp : p ∈ normalizedFactors m) (d : Set.Iic m ≃o Set.Iic n) :
Prime (d ⟨p, dvd_of_mem_normalizedFactors hp⟩ : Associates N) :=
@@ -317,7 +344,9 @@ theorem map_prime_of_factor_orderIso [DecidableEq (Associates M)] {m p : Associa
a (subtype.mk_lt_mk.mp <| d.lt_iff_lt.mp hb)
exact bot_le
#align map_prime_of_factor_order_iso map_prime_of_factor_orderIso
+-/
+#print mem_normalizedFactors_factor_orderIso_of_mem_normalizedFactors /-
theorem mem_normalizedFactors_factor_orderIso_of_mem_normalizedFactors [DecidableEq (Associates M)]
[DecidableEq (Associates N)] {m p : Associates M} {n : Associates N} (hn : n ≠ 0)
(hp : p ∈ normalizedFactors m) (d : Set.Iic m ≃o Set.Iic n) :
@@ -329,9 +358,11 @@ theorem mem_normalizedFactors_factor_orderIso_of_mem_normalizedFactors [Decidabl
rw [associated_iff_eq] at hq'
rwa [hq']
#align mem_normalized_factors_factor_order_iso_of_mem_normalized_factors mem_normalizedFactors_factor_orderIso_of_mem_normalizedFactors
+-/
variable [DecidableRel ((· ∣ ·) : M → M → Prop)] [DecidableRel ((· ∣ ·) : N → N → Prop)]
+#print multiplicity_prime_le_multiplicity_image_by_factor_orderIso /-
theorem multiplicity_prime_le_multiplicity_image_by_factor_orderIso [DecidableEq (Associates M)]
{m p : Associates M} {n : Associates N} (hp : p ∈ normalizedFactors m)
(d : Set.Iic m ≃o Set.Iic n) :
@@ -347,7 +378,9 @@ theorem multiplicity_prime_le_multiplicity_image_by_factor_orderIso [DecidableEq
← pow_dvd_iff_le_multiplicity]
exact pow_image_of_prime_by_factor_orderIso_dvd hn hp d (pow_multiplicity_dvd _)
#align multiplicity_prime_le_multiplicity_image_by_factor_order_iso multiplicity_prime_le_multiplicity_image_by_factor_orderIso
+-/
+#print multiplicity_prime_eq_multiplicity_image_by_factor_orderIso /-
theorem multiplicity_prime_eq_multiplicity_image_by_factor_orderIso [DecidableEq (Associates M)]
{m p : Associates M} {n : Associates N} (hn : n ≠ 0) (hp : p ∈ normalizedFactors m)
(d : Set.Iic m ≃o Set.Iic n) :
@@ -365,6 +398,7 @@ theorem multiplicity_prime_eq_multiplicity_image_by_factor_orderIso [DecidableEq
multiplicity_prime_le_multiplicity_image_by_factor_orderIso
(mem_normalizedFactors_factor_orderIso_of_mem_normalizedFactors hn hp d) d.symm
#align multiplicity_prime_eq_multiplicity_image_by_factor_order_iso multiplicity_prime_eq_multiplicity_image_by_factor_orderIso
+-/
end
@@ -409,6 +443,7 @@ def mkFactorOrderIsoOfFactorDvdEquiv {m : M} {n : N} {d : { l : M // l ∣ m }
variable [UniqueFactorizationMonoid M] [UniqueFactorizationMonoid N] [DecidableEq M]
+#print mem_normalizedFactors_factor_dvd_iso_of_mem_normalizedFactors /-
theorem mem_normalizedFactors_factor_dvd_iso_of_mem_normalizedFactors [DecidableEq N] {m p : M}
{n : N} (hm : m ≠ 0) (hn : n ≠ 0) (hp : p ∈ normalizedFactors m)
{d : { l : M // l ∣ m } ≃ { l : N // l ∣ n }}
@@ -449,9 +484,11 @@ theorem mem_normalizedFactors_factor_dvd_iso_of_mem_normalizedFactors [Decidable
(mk_le_mk_of_dvd (dvd_of_mem_normalized_factors hp))
simpa only [associated_iff_eq.mp hq', associatesEquivOfUniqueUnits_symm_apply] using hq
#align mem_normalized_factors_factor_dvd_iso_of_mem_normalized_factors mem_normalizedFactors_factor_dvd_iso_of_mem_normalizedFactors
+-/
variable [DecidableRel ((· ∣ ·) : M → M → Prop)] [DecidableRel ((· ∣ ·) : N → N → Prop)]
+#print multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalizedFactors /-
theorem multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalizedFactors {m p : M} {n : N}
(hm : m ≠ 0) (hn : n ≠ 0) (hp : p ∈ normalizedFactors m)
{d : { l : M // l ∣ m } ≃ { l : N // l ∣ n }} (hd : ∀ l l', (d l : N) ∣ d l' ↔ (l : M) ∣ l') :
@@ -491,4 +528,5 @@ theorem multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalizedFactors {m
(mk_le_mk_of_dvd (dvd_of_mem_normalized_factors hp))
rwa [associated_iff_eq.mp hq']
#align multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalized_factor multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalizedFactors
+-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/7e5137f579de09a059a5ce98f364a04e221aabf0
@@ -210,7 +210,6 @@ theorem eq_pow_second_of_chain_of_has_chain {q : Associates M} {n : ℕ} (hn : n
(Finset.card_le_of_subset _)
_ ≤ (Finset.univ : Finset (Fin (i + 1))).card := Finset.card_image_le
_ = i + 1 := Finset.card_fin _
-
intro r hr
obtain ⟨j, -, rfl⟩ := Finset.mem_image.1 hr
have := h₂.2 ⟨j, rfl⟩
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -146,13 +146,13 @@ theorem card_subset_divisors_le_length_of_chain {q : Associates M} {n : ℕ}
{c : Fin (n + 1) → Associates M} (h₂ : ∀ {r}, r ≤ q ↔ ∃ i, r = c i) {m : Finset (Associates M)}
(hm : ∀ r, r ∈ m → r ≤ q) : m.card ≤ n + 1 := by
classical
- have mem_image : ∀ r : Associates M, r ≤ q → r ∈ finset.univ.image c :=
- by
- intro r hr
- obtain ⟨i, hi⟩ := h₂.1 hr
- exact Finset.mem_image.2 ⟨i, Finset.mem_univ _, hi.symm⟩
- rw [← Finset.card_fin (n + 1)]
- exact (Finset.card_le_of_subset fun x hx => mem_image x <| hm x hx).trans Finset.card_image_le
+ have mem_image : ∀ r : Associates M, r ≤ q → r ∈ finset.univ.image c :=
+ by
+ intro r hr
+ obtain ⟨i, hi⟩ := h₂.1 hr
+ exact Finset.mem_image.2 ⟨i, Finset.mem_univ _, hi.symm⟩
+ rw [← Finset.card_fin (n + 1)]
+ exact (Finset.card_le_of_subset fun x hx => mem_image x <| hm x hx).trans Finset.card_image_le
#align divisor_chain.card_subset_divisors_le_length_of_chain DivisorChain.card_subset_divisors_le_length_of_chain
variable [UniqueFactorizationMonoid M]
@@ -161,64 +161,64 @@ theorem element_of_chain_eq_pow_second_of_chain {q r : Associates M} {n : ℕ} (
{c : Fin (n + 1) → Associates M} (h₁ : StrictMono c) (h₂ : ∀ {r}, r ≤ q ↔ ∃ i, r = c i)
(hr : r ∣ q) (hq : q ≠ 0) : ∃ i : Fin (n + 1), r = c 1 ^ (i : ℕ) := by
classical
- let i := (normalized_factors r).card
- have hi : normalized_factors r = Multiset.replicate i (c 1) :=
- by
- apply Multiset.eq_replicate_of_mem
- intro b hb
- refine'
- eq_second_of_chain_of_prime_dvd hn h₁ (fun r' => h₂) (prime_of_normalized_factor b hb) hr
- (dvd_of_mem_normalized_factors hb)
- have H : r = c 1 ^ i :=
- by
- have := UniqueFactorizationMonoid.normalizedFactors_prod (ne_zero_of_dvd_ne_zero hq hr)
- rw [associated_iff_eq, hi, Multiset.prod_replicate] at this
- rw [this]
- refine' ⟨⟨i, _⟩, H⟩
- have : (finset.univ.image fun m : Fin (i + 1) => c 1 ^ (m : ℕ)).card = i + 1 :=
- by
- conv_rhs => rw [← Finset.card_fin (i + 1)]
- cases n; · contradiction
- rw [Finset.card_image_iff]
- refine' Set.injOn_of_injective (fun m m' h => Fin.ext _) _
- refine'
- pow_injective_of_not_unit (element_of_chain_not_is_unit_of_index_ne_zero (by simp) h₁) _ h
- exact Irreducible.ne_zero (second_of_chain_is_irreducible hn h₁ (@h₂) hq)
- suffices H' : ∀ r ∈ finset.univ.image fun m : Fin (i + 1) => c 1 ^ (m : ℕ), r ≤ q
- · simp only [← Nat.succ_le_iff, Nat.succ_eq_add_one, ← this]
- apply card_subset_divisors_le_length_of_chain (@h₂) H'
- simp only [Finset.mem_image]
- rintro r ⟨a, ha, rfl⟩
- refine' dvd_trans _ hr
- use c 1 ^ (i - a)
- rw [pow_mul_pow_sub (c 1)]
- · exact H
- · exact nat.succ_le_succ_iff.mp a.2
+ let i := (normalized_factors r).card
+ have hi : normalized_factors r = Multiset.replicate i (c 1) :=
+ by
+ apply Multiset.eq_replicate_of_mem
+ intro b hb
+ refine'
+ eq_second_of_chain_of_prime_dvd hn h₁ (fun r' => h₂) (prime_of_normalized_factor b hb) hr
+ (dvd_of_mem_normalized_factors hb)
+ have H : r = c 1 ^ i :=
+ by
+ have := UniqueFactorizationMonoid.normalizedFactors_prod (ne_zero_of_dvd_ne_zero hq hr)
+ rw [associated_iff_eq, hi, Multiset.prod_replicate] at this
+ rw [this]
+ refine' ⟨⟨i, _⟩, H⟩
+ have : (finset.univ.image fun m : Fin (i + 1) => c 1 ^ (m : ℕ)).card = i + 1 :=
+ by
+ conv_rhs => rw [← Finset.card_fin (i + 1)]
+ cases n; · contradiction
+ rw [Finset.card_image_iff]
+ refine' Set.injOn_of_injective (fun m m' h => Fin.ext _) _
+ refine'
+ pow_injective_of_not_unit (element_of_chain_not_is_unit_of_index_ne_zero (by simp) h₁) _ h
+ exact Irreducible.ne_zero (second_of_chain_is_irreducible hn h₁ (@h₂) hq)
+ suffices H' : ∀ r ∈ finset.univ.image fun m : Fin (i + 1) => c 1 ^ (m : ℕ), r ≤ q
+ · simp only [← Nat.succ_le_iff, Nat.succ_eq_add_one, ← this]
+ apply card_subset_divisors_le_length_of_chain (@h₂) H'
+ simp only [Finset.mem_image]
+ rintro r ⟨a, ha, rfl⟩
+ refine' dvd_trans _ hr
+ use c 1 ^ (i - a)
+ rw [pow_mul_pow_sub (c 1)]
+ · exact H
+ · exact nat.succ_le_succ_iff.mp a.2
#align divisor_chain.element_of_chain_eq_pow_second_of_chain DivisorChain.element_of_chain_eq_pow_second_of_chain
theorem eq_pow_second_of_chain_of_has_chain {q : Associates M} {n : ℕ} (hn : n ≠ 0)
{c : Fin (n + 1) → Associates M} (h₁ : StrictMono c)
(h₂ : ∀ {r : Associates M}, r ≤ q ↔ ∃ i, r = c i) (hq : q ≠ 0) : q = c 1 ^ n := by
classical
- obtain ⟨i, hi'⟩ := element_of_chain_eq_pow_second_of_chain hn h₁ (fun r => h₂) (dvd_refl q) hq
- convert hi'
- refine' (Nat.lt_succ_iff.1 i.prop).antisymm' (Nat.le_of_succ_le_succ _)
- calc
- n + 1 = (Finset.univ : Finset (Fin (n + 1))).card := (Finset.card_fin _).symm
- _ = (finset.univ.image c).card := (finset.card_image_iff.mpr (h₁.injective.inj_on _)).symm
- _ ≤ (finset.univ.image fun m : Fin (i + 1) => c 1 ^ (m : ℕ)).card :=
- (Finset.card_le_of_subset _)
- _ ≤ (Finset.univ : Finset (Fin (i + 1))).card := Finset.card_image_le
- _ = i + 1 := Finset.card_fin _
-
- intro r hr
- obtain ⟨j, -, rfl⟩ := Finset.mem_image.1 hr
- have := h₂.2 ⟨j, rfl⟩
- rw [hi'] at this
- obtain ⟨u, hu, hu'⟩ := (dvd_prime_pow (show Prime (c 1) from _) i).1 this
- refine' finset.mem_image.mpr ⟨u, Finset.mem_univ _, _⟩
- · rw [associated_iff_eq] at hu' ; rw [Fin.val_cast_of_lt (Nat.lt_succ_of_le hu), hu']
- · rw [← irreducible_iff_prime]; exact second_of_chain_is_irreducible hn h₁ (@h₂) hq
+ obtain ⟨i, hi'⟩ := element_of_chain_eq_pow_second_of_chain hn h₁ (fun r => h₂) (dvd_refl q) hq
+ convert hi'
+ refine' (Nat.lt_succ_iff.1 i.prop).antisymm' (Nat.le_of_succ_le_succ _)
+ calc
+ n + 1 = (Finset.univ : Finset (Fin (n + 1))).card := (Finset.card_fin _).symm
+ _ = (finset.univ.image c).card := (finset.card_image_iff.mpr (h₁.injective.inj_on _)).symm
+ _ ≤ (finset.univ.image fun m : Fin (i + 1) => c 1 ^ (m : ℕ)).card :=
+ (Finset.card_le_of_subset _)
+ _ ≤ (Finset.univ : Finset (Fin (i + 1))).card := Finset.card_image_le
+ _ = i + 1 := Finset.card_fin _
+
+ intro r hr
+ obtain ⟨j, -, rfl⟩ := Finset.mem_image.1 hr
+ have := h₂.2 ⟨j, rfl⟩
+ rw [hi'] at this
+ obtain ⟨u, hu, hu'⟩ := (dvd_prime_pow (show Prime (c 1) from _) i).1 this
+ refine' finset.mem_image.mpr ⟨u, Finset.mem_univ _, _⟩
+ · rw [associated_iff_eq] at hu' ; rw [Fin.val_cast_of_lt (Nat.lt_succ_of_le hu), hu']
+ · rw [← irreducible_iff_prime]; exact second_of_chain_is_irreducible hn h₁ (@h₂) hq
#align divisor_chain.eq_pow_second_of_chain_of_has_chain DivisorChain.eq_pow_second_of_chain_of_has_chain
theorem isPrimePow_of_has_chain {q : Associates M} {n : ℕ} (hn : n ≠ 0)
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -51,13 +51,13 @@ theorem Associates.isAtom_iff {p : Associates M} (h₁ : p ≠ 0) : IsAtom p ↔
⟨by simpa only [Associates.isUnit_iff_eq_one] using hp.1, fun a b h =>
(hp.le_iff.mp ⟨_, h⟩).casesOn (fun ha => Or.inl (a.isUnit_iff_eq_one.mpr ha)) fun ha =>
Or.inr
- (show IsUnit b by rw [ha] at h;
+ (show IsUnit b by rw [ha] at h ;
apply isUnit_of_associated_mul (show Associated (p * b) p by conv_rhs => rw [h]) h₁)⟩,
fun hp =>
⟨by simpa only [Associates.isUnit_iff_eq_one, Associates.bot_eq_one] using hp.1,
fun b ⟨⟨a, hab⟩, hb⟩ =>
(hp.isUnit_or_isUnit hab).casesOn
- (fun hb => show b = ⊥ by rwa [Associates.isUnit_iff_eq_one, ← Associates.bot_eq_one] at hb)
+ (fun hb => show b = ⊥ by rwa [Associates.isUnit_iff_eq_one, ← Associates.bot_eq_one] at hb )
fun ha =>
absurd
(show p ∣ b from
@@ -84,7 +84,7 @@ theorem exists_chain_of_prime_pow {p : Associates M} {n : ℕ} (hn : n ≠ 0) (h
not_isUnit_of_not_isUnit_dvd hp.not_unit (dvd_pow dvd_rfl (Nat.sub_pos_of_lt h).ne'),
(pow_mul_pow_sub p h.le).symm⟩
· obtain ⟨i, i_le, hi⟩ := (dvd_prime_pow hp n).1 h
- rw [associated_iff_eq] at hi
+ rw [associated_iff_eq] at hi
exact ⟨⟨i, Nat.lt_succ_of_le i_le⟩, hi⟩
· rintro ⟨i, rfl⟩
exact ⟨p ^ (n - i : ℕ), (pow_mul_pow_sub p (nat.succ_le_succ_iff.mp i.2)).symm⟩
@@ -172,7 +172,7 @@ theorem element_of_chain_eq_pow_second_of_chain {q r : Associates M} {n : ℕ} (
have H : r = c 1 ^ i :=
by
have := UniqueFactorizationMonoid.normalizedFactors_prod (ne_zero_of_dvd_ne_zero hq hr)
- rw [associated_iff_eq, hi, Multiset.prod_replicate] at this
+ rw [associated_iff_eq, hi, Multiset.prod_replicate] at this
rw [this]
refine' ⟨⟨i, _⟩, H⟩
have : (finset.univ.image fun m : Fin (i + 1) => c 1 ^ (m : ℕ)).card = i + 1 :=
@@ -214,10 +214,10 @@ theorem eq_pow_second_of_chain_of_has_chain {q : Associates M} {n : ℕ} (hn : n
intro r hr
obtain ⟨j, -, rfl⟩ := Finset.mem_image.1 hr
have := h₂.2 ⟨j, rfl⟩
- rw [hi'] at this
+ rw [hi'] at this
obtain ⟨u, hu, hu'⟩ := (dvd_prime_pow (show Prime (c 1) from _) i).1 this
refine' finset.mem_image.mpr ⟨u, Finset.mem_univ _, _⟩
- · rw [associated_iff_eq] at hu'; rw [Fin.val_cast_of_lt (Nat.lt_succ_of_le hu), hu']
+ · rw [associated_iff_eq] at hu' ; rw [Fin.val_cast_of_lt (Nat.lt_succ_of_le hu), hu']
· rw [← irreducible_iff_prime]; exact second_of_chain_is_irreducible hn h₁ (@h₂) hq
#align divisor_chain.eq_pow_second_of_chain_of_has_chain DivisorChain.eq_pow_second_of_chain_of_has_chain
@@ -302,11 +302,11 @@ theorem map_prime_of_factor_orderIso [DecidableEq (Associates M)] {m p : Associa
exact (prime_of_normalized_factor 1 hp).not_unit isUnit_one
· obtain ⟨x, hx⟩ :=
d.surjective ⟨b, le_trans (le_of_lt hb) (d ⟨p, dvd_of_mem_normalized_factors hp⟩).Prop⟩
- rw [← Subtype.coe_mk b _, Subtype.coe_lt_coe, ← hx] at hb
+ rw [← Subtype.coe_mk b _, Subtype.coe_lt_coe, ← hx] at hb
letI : OrderBot { l : Associates M // l ≤ m } := Subtype.orderBot bot_le
letI : OrderBot { l : Associates N // l ≤ n } := Subtype.orderBot bot_le
suffices x = ⊥ by
- rw [this, OrderIso.map_bot d] at hx
+ rw [this, OrderIso.map_bot d] at hx
refine' (Subtype.mk_eq_bot_iff _ _).mp hx.symm
exact bot_le
obtain ⟨a, ha⟩ := x
@@ -327,7 +327,7 @@ theorem mem_normalizedFactors_factor_orderIso_of_mem_normalizedFactors [Decidabl
obtain ⟨q, hq, hq'⟩ :=
exists_mem_normalized_factors_of_dvd hn (map_prime_of_factor_orderIso hn hp d).Irreducible
(d ⟨p, dvd_of_mem_normalized_factors hp⟩).Prop
- rw [associated_iff_eq] at hq'
+ rw [associated_iff_eq] at hq'
rwa [hq']
#align mem_normalized_factors_factor_order_iso_of_mem_normalized_factors mem_normalizedFactors_factor_orderIso_of_mem_normalizedFactors
@@ -359,7 +359,7 @@ theorem multiplicity_prime_eq_multiplicity_image_by_factor_orderIso [DecidableEq
multiplicity (↑(d ⟨p, dvd_of_mem_normalized_factors hp⟩)) n ≤
multiplicity (↑(d.symm (d ⟨p, dvd_of_mem_normalized_factors hp⟩))) m
by
- rw [d.symm_apply_apply ⟨p, dvd_of_mem_normalized_factors hp⟩, Subtype.coe_mk] at this
+ rw [d.symm_apply_apply ⟨p, dvd_of_mem_normalized_factors hp⟩, Subtype.coe_mk] at this
exact this
letI := Classical.decEq (Associates N)
simpa only [Subtype.coe_eta] using
@@ -423,7 +423,7 @@ theorem mem_normalizedFactors_factor_dvd_iso_of_mem_normalizedFactors [Decidable
simp [dvd_of_mem_normalized_factors hp]⟩)
by
simp only [associatesEquivOfUniqueUnits_apply, out_mk, normalize_eq,
- associatesEquivOfUniqueUnits_symm_apply] at this
+ associatesEquivOfUniqueUnits_symm_apply] at this
obtain ⟨q, hq, hq'⟩ :=
exists_mem_normalized_factors_of_dvd hn this.irreducible
(d ⟨p, by apply dvd_of_mem_normalized_factors <;> convert hp⟩).Prop
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -46,12 +46,6 @@ and the set of factors of `a`.
variable {M : Type _} [CancelCommMonoidWithZero M]
-/- warning: associates.is_atom_iff -> Associates.isAtom_iff is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) p (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (OfNat.mk.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.zero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.hasZero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))))) -> (Iff (IsAtom.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) (Associates.orderBot.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) p) (Irreducible.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) p))
-but is expected to have type
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) p (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instZeroAssociates.{u1} M (CommMonoidWithZero.toZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))) -> (Iff (IsAtom.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) (Associates.instOrderBotAssociatesToMonoidToLEInstPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) p) (Irreducible.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) p))
-Case conversion may be inaccurate. Consider using '#align associates.is_atom_iff Associates.isAtom_iffₓ'. -/
theorem Associates.isAtom_iff {p : Associates M} (h₁ : p ≠ 0) : IsAtom p ↔ Irreducible p :=
⟨fun hp =>
⟨by simpa only [Associates.isUnit_iff_eq_one] using hp.1, fun a b h =>
@@ -76,12 +70,6 @@ open UniqueFactorizationMonoid multiplicity Irreducible Associates
namespace DivisorChain
-/- warning: divisor_chain.exists_chain_of_prime_pow -> DivisorChain.exists_chain_of_prime_pow is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (Prime.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) p) -> (Exists.{succ u1} ((Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (fun (c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) => And (Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (One.one.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasOneOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n)))))) p) (And (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (HPow.hPow.{u1, 0, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (instHPow.{u1, 0} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Monoid.Pow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) p n)) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))))))
-but is expected to have type
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (Prime.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) p) -> (Exists.{succ u1} ((Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (fun (c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) => And (Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 1 (Fin.instOfNatFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) 1 (NeZero.succ n)))) p) (And (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin.instPartialOrderFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (HPow.hPow.{u1, 0, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (instHPow.{u1, 0} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Monoid.Pow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) p n)) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))))))
-Case conversion may be inaccurate. Consider using '#align divisor_chain.exists_chain_of_prime_pow DivisorChain.exists_chain_of_prime_powₓ'. -/
theorem exists_chain_of_prime_pow {p : Associates M} {n : ℕ} (hn : n ≠ 0) (hp : Prime p) :
∃ c : Fin (n + 1) → Associates M,
c 1 = p ∧ StrictMono c ∧ ∀ {r : Associates M}, r ≤ p ^ n ↔ ∃ i, r = c i :=
@@ -102,12 +90,6 @@ theorem exists_chain_of_prime_pow {p : Associates M} {n : ℕ} (hn : n ≠ 0) (h
exact ⟨p ^ (n - i : ℕ), (pow_mul_pow_sub p (nat.succ_le_succ_iff.mp i.2)).symm⟩
#align divisor_chain.exists_chain_of_prime_pow DivisorChain.exists_chain_of_prime_pow
-/- warning: divisor_chain.element_of_chain_not_is_unit_of_index_ne_zero -> DivisorChain.element_of_chain_not_isUnit_of_index_ne_zero is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {n : Nat} {i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))}, (Ne.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) i (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 0 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 0 (Zero.zero.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasZeroOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n)))))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (Not (IsUnit.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (c i))))
-but is expected to have type
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {n : Nat} {i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))}, (Ne.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) i (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 0 (Fin.instOfNatFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) 0 (NeZero.succ n)))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin.instPartialOrderFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (Not (IsUnit.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (c i))))
-Case conversion may be inaccurate. Consider using '#align divisor_chain.element_of_chain_not_is_unit_of_index_ne_zero DivisorChain.element_of_chain_not_isUnit_of_index_ne_zeroₓ'. -/
theorem element_of_chain_not_isUnit_of_index_ne_zero {n : ℕ} {i : Fin (n + 1)} (i_pos : i ≠ 0)
{c : Fin (n + 1) → Associates M} (h₁ : StrictMono c) : ¬IsUnit (c i) :=
DvdNotUnit.not_unit
@@ -115,12 +97,6 @@ theorem element_of_chain_not_isUnit_of_index_ne_zero {n : ℕ} {i : Fin (n + 1)}
(h₁ <| show (0 : Fin (n + 1)) < i from i.pos_iff_ne_zero.mpr i_pos))
#align divisor_chain.element_of_chain_not_is_unit_of_index_ne_zero DivisorChain.element_of_chain_not_isUnit_of_index_ne_zero
-/- warning: divisor_chain.first_of_chain_is_unit -> DivisorChain.first_of_chain_isUnit is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat} {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (IsUnit.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 0 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 0 (Zero.zero.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasZeroOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n)))))))
-but is expected to have type
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat} {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin.instPartialOrderFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (IsUnit.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 0 (Fin.instOfNatFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) 0 (NeZero.succ n)))))
-Case conversion may be inaccurate. Consider using '#align divisor_chain.first_of_chain_is_unit DivisorChain.first_of_chain_isUnitₓ'. -/
theorem first_of_chain_isUnit {q : Associates M} {n : ℕ} {c : Fin (n + 1) → Associates M}
(h₁ : StrictMono c) (h₂ : ∀ {r}, r ≤ q ↔ ∃ i, r = c i) : IsUnit (c 0) :=
by
@@ -129,12 +105,6 @@ theorem first_of_chain_isUnit {q : Associates M} {n : ℕ} {c : Fin (n + 1) →
exact h₁.monotone (Fin.zero_le i)
#align divisor_chain.first_of_chain_is_unit DivisorChain.first_of_chain_isUnit
-/- warning: divisor_chain.second_of_chain_is_irreducible -> DivisorChain.second_of_chain_is_irreducible is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (OfNat.mk.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.zero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.hasZero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))))) -> (Irreducible.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (One.one.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasOneOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n))))))))
-but is expected to have type
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin.instPartialOrderFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instZeroAssociates.{u1} M (CommMonoidWithZero.toZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))) -> (Irreducible.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 1 (Fin.instOfNatFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) 1 (NeZero.succ n))))))
-Case conversion may be inaccurate. Consider using '#align divisor_chain.second_of_chain_is_irreducible DivisorChain.second_of_chain_is_irreducibleₓ'. -/
/-- The second element of a chain is irreducible. -/
theorem second_of_chain_is_irreducible {q : Associates M} {n : ℕ} (hn : n ≠ 0)
{c : Fin (n + 1) → Associates M} (h₁ : StrictMono c) (h₂ : ∀ {r}, r ≤ q ↔ ∃ i, r = c i)
@@ -148,9 +118,6 @@ theorem second_of_chain_is_irreducible {q : Associates M} {n : ℕ} (hn : n ≠
· simpa [Fin.lt_iff_val_lt_val] using h₁.lt_iff_lt.mp hb
#align divisor_chain.second_of_chain_is_irreducible DivisorChain.second_of_chain_is_irreducible
-/- warning: divisor_chain.eq_second_of_chain_of_prime_dvd -> DivisorChain.eq_second_of_chain_of_prime_dvd is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align divisor_chain.eq_second_of_chain_of_prime_dvd DivisorChain.eq_second_of_chain_of_prime_dvdₓ'. -/
theorem eq_second_of_chain_of_prime_dvd {p q r : Associates M} {n : ℕ} (hn : n ≠ 0)
{c : Fin (n + 1) → Associates M} (h₁ : StrictMono c)
(h₂ : ∀ {r : Associates M}, r ≤ q ↔ ∃ i, r = c i) (hp : Prime p) (hr : r ∣ q) (hp' : p ∣ r) :
@@ -175,12 +142,6 @@ theorem eq_second_of_chain_of_prime_dvd {p q r : Associates M} {n : ℕ} (hn : n
simpa only [Fin.coe_eq_castSucc] using Fin.lt_succ
#align divisor_chain.eq_second_of_chain_of_prime_dvd DivisorChain.eq_second_of_chain_of_prime_dvd
-/- warning: divisor_chain.card_subset_divisors_le_length_of_chain -> DivisorChain.card_subset_divisors_le_length_of_chain is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat} {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (forall {m : Finset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (forall (r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))), (Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Finset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Finset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) r m) -> (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q)) -> (LE.le.{0} Nat Nat.hasLe (Finset.card.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) m) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))
-but is expected to have type
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat} {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (forall {m : Finset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (forall (r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))), (Membership.mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Finset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Finset.instMembershipFinset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) r m) -> (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q)) -> (LE.le.{0} Nat instLENat (Finset.card.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) m) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))
-Case conversion may be inaccurate. Consider using '#align divisor_chain.card_subset_divisors_le_length_of_chain DivisorChain.card_subset_divisors_le_length_of_chainₓ'. -/
theorem card_subset_divisors_le_length_of_chain {q : Associates M} {n : ℕ}
{c : Fin (n + 1) → Associates M} (h₂ : ∀ {r}, r ≤ q ↔ ∃ i, r = c i) {m : Finset (Associates M)}
(hm : ∀ r, r ∈ m → r ≤ q) : m.card ≤ n + 1 := by
@@ -196,9 +157,6 @@ theorem card_subset_divisors_le_length_of_chain {q : Associates M} {n : ℕ}
variable [UniqueFactorizationMonoid M]
-/- warning: divisor_chain.element_of_chain_eq_pow_second_of_chain -> DivisorChain.element_of_chain_eq_pow_second_of_chain is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align divisor_chain.element_of_chain_eq_pow_second_of_chain DivisorChain.element_of_chain_eq_pow_second_of_chainₓ'. -/
theorem element_of_chain_eq_pow_second_of_chain {q r : Associates M} {n : ℕ} (hn : n ≠ 0)
{c : Fin (n + 1) → Associates M} (h₁ : StrictMono c) (h₂ : ∀ {r}, r ≤ q ↔ ∃ i, r = c i)
(hr : r ∣ q) (hq : q ≠ 0) : ∃ i : Fin (n + 1), r = c 1 ^ (i : ℕ) := by
@@ -238,9 +196,6 @@ theorem element_of_chain_eq_pow_second_of_chain {q r : Associates M} {n : ℕ} (
· exact nat.succ_le_succ_iff.mp a.2
#align divisor_chain.element_of_chain_eq_pow_second_of_chain DivisorChain.element_of_chain_eq_pow_second_of_chain
-/- warning: divisor_chain.eq_pow_second_of_chain_of_has_chain -> DivisorChain.eq_pow_second_of_chain_of_has_chain is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align divisor_chain.eq_pow_second_of_chain_of_has_chain DivisorChain.eq_pow_second_of_chain_of_has_chainₓ'. -/
theorem eq_pow_second_of_chain_of_has_chain {q : Associates M} {n : ℕ} (hn : n ≠ 0)
{c : Fin (n + 1) → Associates M} (h₁ : StrictMono c)
(h₂ : ∀ {r : Associates M}, r ≤ q ↔ ∃ i, r = c i) (hq : q ≠ 0) : q = c 1 ^ n := by
@@ -266,12 +221,6 @@ theorem eq_pow_second_of_chain_of_has_chain {q : Associates M} {n : ℕ} (hn : n
· rw [← irreducible_iff_prime]; exact second_of_chain_is_irreducible hn h₁ (@h₂) hq
#align divisor_chain.eq_pow_second_of_chain_of_has_chain DivisorChain.eq_pow_second_of_chain_of_has_chain
-/- warning: divisor_chain.is_prime_pow_of_has_chain -> DivisorChain.isPrimePow_of_has_chain is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] [_inst_2 : UniqueFactorizationMonoid.{u1} M _inst_1] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (OfNat.mk.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.zero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.hasZero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))))) -> (IsPrimePow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) q))
-but is expected to have type
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] [_inst_2 : UniqueFactorizationMonoid.{u1} M _inst_1] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin.instPartialOrderFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instZeroAssociates.{u1} M (CommMonoidWithZero.toZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))) -> (IsPrimePow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) q))
-Case conversion may be inaccurate. Consider using '#align divisor_chain.is_prime_pow_of_has_chain DivisorChain.isPrimePow_of_has_chainₓ'. -/
theorem isPrimePow_of_has_chain {q : Associates M} {n : ℕ} (hn : n ≠ 0)
{c : Fin (n + 1) → Associates M} (h₁ : StrictMono c)
(h₂ : ∀ {r : Associates M}, r ≤ q ↔ ∃ i, r = c i) (hq : q ≠ 0) : IsPrimePow q :=
@@ -283,9 +232,6 @@ end DivisorChain
variable {N : Type _} [CancelCommMonoidWithZero N]
-/- warning: factor_order_iso_map_one_eq_bot -> factor_orderIso_map_one_eq_bot is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align factor_order_iso_map_one_eq_bot factor_orderIso_map_one_eq_botₓ'. -/
theorem factor_orderIso_map_one_eq_bot {m : Associates M} {n : Associates N}
(d : { l : Associates M // l ≤ m } ≃o { l : Associates N // l ≤ n }) :
(d ⟨1, one_dvd m⟩ : Associates N) = 1 :=
@@ -295,9 +241,6 @@ theorem factor_orderIso_map_one_eq_bot {m : Associates M} {n : Associates N}
simp [← Associates.bot_eq_one]
#align factor_order_iso_map_one_eq_bot factor_orderIso_map_one_eq_bot
-/- warning: coe_factor_order_iso_map_eq_one_iff -> coe_factor_orderIso_map_eq_one_iff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align coe_factor_order_iso_map_eq_one_iff coe_factor_orderIso_map_eq_one_iffₓ'. -/
theorem coe_factor_orderIso_map_eq_one_iff {m u : Associates M} {n : Associates N} (hu' : u ≤ m)
(d : Set.Iic m ≃o Set.Iic n) : (d ⟨u, hu'⟩ : Associates N) = 1 ↔ u = 1 :=
⟨fun hu =>
@@ -314,9 +257,6 @@ variable [UniqueFactorizationMonoid N] [UniqueFactorizationMonoid M]
open DivisorChain
-/- warning: pow_image_of_prime_by_factor_order_iso_dvd -> pow_image_of_prime_by_factor_orderIso_dvd is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align pow_image_of_prime_by_factor_order_iso_dvd pow_image_of_prime_by_factor_orderIso_dvdₓ'. -/
theorem pow_image_of_prime_by_factor_orderIso_dvd [DecidableEq (Associates M)] {m p : Associates M}
{n : Associates N} (hn : n ≠ 0) (hp : p ∈ normalizedFactors m) (d : Set.Iic m ≃o Set.Iic n)
{s : ℕ} (hs' : p ^ s ≤ m) : (d ⟨p, dvd_of_mem_normalizedFactors hp⟩ : Associates N) ^ s ≤ n :=
@@ -350,9 +290,6 @@ theorem pow_image_of_prime_by_factor_orderIso_dvd [DecidableEq (Associates M)] {
exact ne_zero_of_dvd_ne_zero hn (Subtype.prop (d ⟨c₁ 1 ^ s, _⟩))
#align pow_image_of_prime_by_factor_order_iso_dvd pow_image_of_prime_by_factor_orderIso_dvd
-/- warning: map_prime_of_factor_order_iso -> map_prime_of_factor_orderIso is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align map_prime_of_factor_order_iso map_prime_of_factor_orderIsoₓ'. -/
theorem map_prime_of_factor_orderIso [DecidableEq (Associates M)] {m p : Associates M}
{n : Associates N} (hn : n ≠ 0) (hp : p ∈ normalizedFactors m) (d : Set.Iic m ≃o Set.Iic n) :
Prime (d ⟨p, dvd_of_mem_normalizedFactors hp⟩ : Associates N) :=
@@ -382,9 +319,6 @@ theorem map_prime_of_factor_orderIso [DecidableEq (Associates M)] {m p : Associa
exact bot_le
#align map_prime_of_factor_order_iso map_prime_of_factor_orderIso
-/- warning: mem_normalized_factors_factor_order_iso_of_mem_normalized_factors -> mem_normalizedFactors_factor_orderIso_of_mem_normalizedFactors is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mem_normalized_factors_factor_order_iso_of_mem_normalized_factors mem_normalizedFactors_factor_orderIso_of_mem_normalizedFactorsₓ'. -/
theorem mem_normalizedFactors_factor_orderIso_of_mem_normalizedFactors [DecidableEq (Associates M)]
[DecidableEq (Associates N)] {m p : Associates M} {n : Associates N} (hn : n ≠ 0)
(hp : p ∈ normalizedFactors m) (d : Set.Iic m ≃o Set.Iic n) :
@@ -399,9 +333,6 @@ theorem mem_normalizedFactors_factor_orderIso_of_mem_normalizedFactors [Decidabl
variable [DecidableRel ((· ∣ ·) : M → M → Prop)] [DecidableRel ((· ∣ ·) : N → N → Prop)]
-/- warning: multiplicity_prime_le_multiplicity_image_by_factor_order_iso -> multiplicity_prime_le_multiplicity_image_by_factor_orderIso is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align multiplicity_prime_le_multiplicity_image_by_factor_order_iso multiplicity_prime_le_multiplicity_image_by_factor_orderIsoₓ'. -/
theorem multiplicity_prime_le_multiplicity_image_by_factor_orderIso [DecidableEq (Associates M)]
{m p : Associates M} {n : Associates N} (hp : p ∈ normalizedFactors m)
(d : Set.Iic m ≃o Set.Iic n) :
@@ -418,9 +349,6 @@ theorem multiplicity_prime_le_multiplicity_image_by_factor_orderIso [DecidableEq
exact pow_image_of_prime_by_factor_orderIso_dvd hn hp d (pow_multiplicity_dvd _)
#align multiplicity_prime_le_multiplicity_image_by_factor_order_iso multiplicity_prime_le_multiplicity_image_by_factor_orderIso
-/- warning: multiplicity_prime_eq_multiplicity_image_by_factor_order_iso -> multiplicity_prime_eq_multiplicity_image_by_factor_orderIso is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align multiplicity_prime_eq_multiplicity_image_by_factor_order_iso multiplicity_prime_eq_multiplicity_image_by_factor_orderIsoₓ'. -/
theorem multiplicity_prime_eq_multiplicity_image_by_factor_orderIso [DecidableEq (Associates M)]
{m p : Associates M} {n : Associates N} (hn : n ≠ 0) (hp : p ∈ normalizedFactors m)
(d : Set.Iic m ≃o Set.Iic n) :
@@ -482,9 +410,6 @@ def mkFactorOrderIsoOfFactorDvdEquiv {m : M} {n : N} {d : { l : M // l ∣ m }
variable [UniqueFactorizationMonoid M] [UniqueFactorizationMonoid N] [DecidableEq M]
-/- warning: mem_normalized_factors_factor_dvd_iso_of_mem_normalized_factors -> mem_normalizedFactors_factor_dvd_iso_of_mem_normalizedFactors is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align mem_normalized_factors_factor_dvd_iso_of_mem_normalized_factors mem_normalizedFactors_factor_dvd_iso_of_mem_normalizedFactorsₓ'. -/
theorem mem_normalizedFactors_factor_dvd_iso_of_mem_normalizedFactors [DecidableEq N] {m p : M}
{n : N} (hm : m ≠ 0) (hn : n ≠ 0) (hp : p ∈ normalizedFactors m)
{d : { l : M // l ∣ m } ≃ { l : N // l ∣ n }}
@@ -528,9 +453,6 @@ theorem mem_normalizedFactors_factor_dvd_iso_of_mem_normalizedFactors [Decidable
variable [DecidableRel ((· ∣ ·) : M → M → Prop)] [DecidableRel ((· ∣ ·) : N → N → Prop)]
-/- warning: multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalized_factor -> multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalizedFactors is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalized_factor multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalizedFactorsₓ'. -/
theorem multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalizedFactors {m p : M} {n : N}
(hm : m ≠ 0) (hn : n ≠ 0) (hp : p ∈ normalizedFactors m)
{d : { l : M // l ∣ m } ≃ { l : N // l ∣ n }} (hd : ∀ l l', (d l : N) ∣ d l' ↔ (l : M) ∣ l') :
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -57,8 +57,7 @@ theorem Associates.isAtom_iff {p : Associates M} (h₁ : p ≠ 0) : IsAtom p ↔
⟨by simpa only [Associates.isUnit_iff_eq_one] using hp.1, fun a b h =>
(hp.le_iff.mp ⟨_, h⟩).casesOn (fun ha => Or.inl (a.isUnit_iff_eq_one.mpr ha)) fun ha =>
Or.inr
- (show IsUnit b by
- rw [ha] at h
+ (show IsUnit b by rw [ha] at h;
apply isUnit_of_associated_mul (show Associated (p * b) p by conv_rhs => rw [h]) h₁)⟩,
fun hp =>
⟨by simpa only [Associates.isUnit_iff_eq_one, Associates.bot_eq_one] using hp.1,
@@ -221,8 +220,7 @@ theorem element_of_chain_eq_pow_second_of_chain {q r : Associates M} {n : ℕ} (
have : (finset.univ.image fun m : Fin (i + 1) => c 1 ^ (m : ℕ)).card = i + 1 :=
by
conv_rhs => rw [← Finset.card_fin (i + 1)]
- cases n
- · contradiction
+ cases n; · contradiction
rw [Finset.card_image_iff]
refine' Set.injOn_of_injective (fun m m' h => Fin.ext _) _
refine'
@@ -264,10 +262,8 @@ theorem eq_pow_second_of_chain_of_has_chain {q : Associates M} {n : ℕ} (hn : n
rw [hi'] at this
obtain ⟨u, hu, hu'⟩ := (dvd_prime_pow (show Prime (c 1) from _) i).1 this
refine' finset.mem_image.mpr ⟨u, Finset.mem_univ _, _⟩
- · rw [associated_iff_eq] at hu'
- rw [Fin.val_cast_of_lt (Nat.lt_succ_of_le hu), hu']
- · rw [← irreducible_iff_prime]
- exact second_of_chain_is_irreducible hn h₁ (@h₂) hq
+ · rw [associated_iff_eq] at hu'; rw [Fin.val_cast_of_lt (Nat.lt_succ_of_le hu), hu']
+ · rw [← irreducible_iff_prime]; exact second_of_chain_is_irreducible hn h₁ (@h₂) hq
#align divisor_chain.eq_pow_second_of_chain_of_has_chain DivisorChain.eq_pow_second_of_chain_of_has_chain
/- warning: divisor_chain.is_prime_pow_of_has_chain -> DivisorChain.isPrimePow_of_has_chain is a dubious translation:
@@ -308,9 +304,7 @@ theorem coe_factor_orderIso_map_eq_one_iff {m u : Associates M} {n : Associates
by
rw [show u = ↑(d.symm ⟨↑(d ⟨u, hu'⟩), (d ⟨u, hu'⟩).Prop⟩) by
simp only [Subtype.coe_eta, OrderIso.symm_apply_apply, Subtype.coe_mk]]
- convert factor_orderIso_map_one_eq_bot d.symm, fun hu =>
- by
- simp_rw [hu]
+ convert factor_orderIso_map_one_eq_bot d.symm, fun hu => by simp_rw [hu];
convert factor_orderIso_map_one_eq_bot d⟩
#align coe_factor_order_iso_map_eq_one_iff coe_factor_orderIso_map_eq_one_iff
@@ -461,7 +455,7 @@ def mkFactorOrderIsoOfFactorDvdEquiv {m : M} {n : N} {d : { l : M // l ∣ m }
⟨Associates.mk
(d
⟨associatesEquivOfUniqueUnits ↑l, by
- obtain ⟨x, hx⟩ := l
+ obtain ⟨x, hx⟩ := l;
rw [Subtype.coe_mk, associatesEquivOfUniqueUnits_apply, out_dvd_iff]
exact hx⟩),
mk_le_mk_iff_dvd_iff.mpr (Subtype.prop (d ⟨associatesEquivOfUniqueUnits ↑l, _⟩))⟩
@@ -564,9 +558,7 @@ theorem multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalizedFactors {m
⟨associates_equiv_of_unique_units.symm p, by
rw [associatesEquivOfUniqueUnits_symm_apply] <;>
exact mk_le_mk_of_dvd (dvd_of_mem_normalized_factors hp)⟩) :=
- by
- rw [mkFactorOrderIsoOfFactorDvdEquiv_apply_coe]
- rfl
+ by rw [mkFactorOrderIsoOfFactorDvdEquiv_apply_coe]; rfl
rw [this]
letI := Classical.decEq (Associates M)
refine'
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -150,10 +150,7 @@ theorem second_of_chain_is_irreducible {q : Associates M} {n : ℕ} (hn : n ≠
#align divisor_chain.second_of_chain_is_irreducible DivisorChain.second_of_chain_is_irreducible
/- warning: divisor_chain.eq_second_of_chain_of_prime_dvd -> DivisorChain.eq_second_of_chain_of_prime_dvd is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Prime.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) p) -> (Dvd.Dvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (semigroupDvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (SemigroupWithZero.toSemigroup.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toSemigroupWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) r q) -> (Dvd.Dvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (semigroupDvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (SemigroupWithZero.toSemigroup.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toSemigroupWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) p r) -> (Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) p (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (One.one.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasOneOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n))))))))
-but is expected to have type
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin.instPartialOrderFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Prime.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) p) -> (Dvd.dvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (semigroupDvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (SemigroupWithZero.toSemigroup.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toSemigroupWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) r q) -> (Dvd.dvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (semigroupDvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (SemigroupWithZero.toSemigroup.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toSemigroupWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) p r) -> (Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) p (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 1 (Fin.instOfNatFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) 1 (NeZero.succ n))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align divisor_chain.eq_second_of_chain_of_prime_dvd DivisorChain.eq_second_of_chain_of_prime_dvdₓ'. -/
theorem eq_second_of_chain_of_prime_dvd {p q r : Associates M} {n : ℕ} (hn : n ≠ 0)
{c : Fin (n + 1) → Associates M} (h₁ : StrictMono c)
@@ -201,10 +198,7 @@ theorem card_subset_divisors_le_length_of_chain {q : Associates M} {n : ℕ}
variable [UniqueFactorizationMonoid M]
/- warning: divisor_chain.element_of_chain_eq_pow_second_of_chain -> DivisorChain.element_of_chain_eq_pow_second_of_chain is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] [_inst_2 : UniqueFactorizationMonoid.{u1} M _inst_1] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Dvd.Dvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (semigroupDvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (SemigroupWithZero.toSemigroup.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toSemigroupWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) r q) -> (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (OfNat.mk.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.zero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.hasZero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))))) -> (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (HPow.hPow.{u1, 0, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (instHPow.{u1, 0} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Monoid.Pow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (One.one.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasOneOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n)))))) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) Nat (HasLiftT.mk.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) Nat (CoeTCₓ.coe.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) Nat (coeBase.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) Nat (Fin.coeToNat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))))) i)))))
-but is expected to have type
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] [_inst_2 : UniqueFactorizationMonoid.{u1} M _inst_1] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin.instPartialOrderFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Dvd.dvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (semigroupDvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (SemigroupWithZero.toSemigroup.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toSemigroupWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) r q) -> (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instZeroAssociates.{u1} M (CommMonoidWithZero.toZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))) -> (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (HPow.hPow.{u1, 0, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (instHPow.{u1, 0} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Monoid.Pow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 1 (Fin.instOfNatFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) 1 (NeZero.succ n)))) (Fin.val (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) i)))))
+<too large>
Case conversion may be inaccurate. Consider using '#align divisor_chain.element_of_chain_eq_pow_second_of_chain DivisorChain.element_of_chain_eq_pow_second_of_chainₓ'. -/
theorem element_of_chain_eq_pow_second_of_chain {q r : Associates M} {n : ℕ} (hn : n ≠ 0)
{c : Fin (n + 1) → Associates M} (h₁ : StrictMono c) (h₂ : ∀ {r}, r ≤ q ↔ ∃ i, r = c i)
@@ -247,10 +241,7 @@ theorem element_of_chain_eq_pow_second_of_chain {q r : Associates M} {n : ℕ} (
#align divisor_chain.element_of_chain_eq_pow_second_of_chain DivisorChain.element_of_chain_eq_pow_second_of_chain
/- warning: divisor_chain.eq_pow_second_of_chain_of_has_chain -> DivisorChain.eq_pow_second_of_chain_of_has_chain is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] [_inst_2 : UniqueFactorizationMonoid.{u1} M _inst_1] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (OfNat.mk.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.zero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.hasZero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))))) -> (Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (HPow.hPow.{u1, 0, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (instHPow.{u1, 0} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Monoid.Pow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (One.one.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasOneOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n)))))) n)))
-but is expected to have type
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] [_inst_2 : UniqueFactorizationMonoid.{u1} M _inst_1] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin.instPartialOrderFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instZeroAssociates.{u1} M (CommMonoidWithZero.toZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))) -> (Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (HPow.hPow.{u1, 0, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (instHPow.{u1, 0} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Monoid.Pow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 1 (Fin.instOfNatFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) 1 (NeZero.succ n)))) n)))
+<too large>
Case conversion may be inaccurate. Consider using '#align divisor_chain.eq_pow_second_of_chain_of_has_chain DivisorChain.eq_pow_second_of_chain_of_has_chainₓ'. -/
theorem eq_pow_second_of_chain_of_has_chain {q : Associates M} {n : ℕ} (hn : n ≠ 0)
{c : Fin (n + 1) → Associates M} (h₁ : StrictMono c)
@@ -297,10 +288,7 @@ end DivisorChain
variable {N : Type _} [CancelCommMonoidWithZero N]
/- warning: factor_order_iso_map_one_eq_bot -> factor_orderIso_map_one_eq_bot is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))} (d : OrderIso.{u1, u2} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n))), Eq.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n))) (fun (_x : RelIso.{u1, u2} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m))) (LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)))) => (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) -> (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n))) (RelIso.hasCoeToFun.{u1, u2} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m))) (LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m) (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 1 (OfNat.mk.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 1 (One.one.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MulOneClass.toHasOne.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Monoid.toMulOneClass.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))))) (one_dvd.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) m)))) (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 1 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 1 (One.one.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasOne.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))
-but is expected to have type
- forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))} (d : OrderIso.{u2, u1} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n))), Eq.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) => LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) => LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (fun (_x : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) => Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) => LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) => LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) => LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) => LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u2, u1} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) => LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) => LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m) (OfNat.ofNat.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) 1 (One.toOfNat1.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instOneAssociates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))))) (one_dvd.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) m)))) (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 1 (One.toOfNat1.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instOneAssociates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align factor_order_iso_map_one_eq_bot factor_orderIso_map_one_eq_botₓ'. -/
theorem factor_orderIso_map_one_eq_bot {m : Associates M} {n : Associates N}
(d : { l : Associates M // l ≤ m } ≃o { l : Associates N // l ≤ n }) :
@@ -312,10 +300,7 @@ theorem factor_orderIso_map_one_eq_bot {m : Associates M} {n : Associates N}
#align factor_order_iso_map_one_eq_bot factor_orderIso_map_one_eq_bot
/- warning: coe_factor_order_iso_map_eq_one_iff -> coe_factor_orderIso_map_eq_one_iff is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {u : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))} (hu' : LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) u m) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))), Iff (Eq.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) u hu'))) (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 1 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 1 (One.one.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasOne.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))) (Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) u (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 1 (OfNat.mk.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 1 (One.one.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.hasOne.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))))
-but is expected to have type
- forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {u : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))} (hu' : LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) u m) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), Iff (Eq.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) u hu'))) (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 1 (One.toOfNat1.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instOneAssociates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))) (Eq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) u (OfNat.ofNat.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) 1 (One.toOfNat1.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instOneAssociates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align coe_factor_order_iso_map_eq_one_iff coe_factor_orderIso_map_eq_one_iffₓ'. -/
theorem coe_factor_orderIso_map_eq_one_iff {m u : Associates M} {n : Associates N} (hu' : u ≤ m)
(d : Set.Iic m ≃o Set.Iic n) : (d ⟨u, hu'⟩ : Associates N) = 1 ↔ u = 1 :=
@@ -336,10 +321,7 @@ variable [UniqueFactorizationMonoid N] [UniqueFactorizationMonoid M]
open DivisorChain
/- warning: pow_image_of_prime_by_factor_order_iso_dvd -> pow_image_of_prime_by_factor_orderIso_dvd is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_5 : DecidableEq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))}, (Ne.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) n (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (Zero.zero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasZero.{u2} N (MulZeroClass.toHasZero.{u2} N (MulZeroOneClass.toMulZeroClass.{u2} N (MonoidWithZero.toMulZeroOneClass.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))) -> (forall (hp : Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Multiset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Multiset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m)) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) {s : Nat}, (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (HPow.hPow.{u1, 0, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (instHPow.{u1, 0} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Monoid.Pow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) p s) m) -> (LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HPow.hPow.{u2, 0, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) Nat (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (instHPow.{u2, 0} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) Nat (Monoid.Pow.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.commMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m p hp)))) s) n))
-but is expected to have type
- forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))}, (Ne.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) n (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instZeroAssociates.{u1} N (CommMonoidWithZero.toZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)) (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))) -> (forall (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))) {s : Nat}, (LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (HPow.hPow.{u2, 0, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) Nat (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (instHPow.{u2, 0} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) Nat (Monoid.Pow.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))))) p s) m) -> (LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (HPow.hPow.{u1, 0, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) Nat (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (instHPow.{u1, 0} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) Nat (Monoid.Pow.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))))) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))) s) n))
+<too large>
Case conversion may be inaccurate. Consider using '#align pow_image_of_prime_by_factor_order_iso_dvd pow_image_of_prime_by_factor_orderIso_dvdₓ'. -/
theorem pow_image_of_prime_by_factor_orderIso_dvd [DecidableEq (Associates M)] {m p : Associates M}
{n : Associates N} (hn : n ≠ 0) (hp : p ∈ normalizedFactors m) (d : Set.Iic m ≃o Set.Iic n)
@@ -375,10 +357,7 @@ theorem pow_image_of_prime_by_factor_orderIso_dvd [DecidableEq (Associates M)] {
#align pow_image_of_prime_by_factor_order_iso_dvd pow_image_of_prime_by_factor_orderIso_dvd
/- warning: map_prime_of_factor_order_iso -> map_prime_of_factor_orderIso is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_5 : DecidableEq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))}, (Ne.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) n (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (Zero.zero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasZero.{u2} N (MulZeroClass.toHasZero.{u2} N (MulZeroOneClass.toMulZeroClass.{u2} N (MonoidWithZero.toMulZeroOneClass.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))) -> (forall (hp : Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Multiset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Multiset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m)) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))), Prime.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.commMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m p hp)))))
-but is expected to have type
- forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))}, (Ne.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) n (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instZeroAssociates.{u1} N (CommMonoidWithZero.toZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)) (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))) -> (forall (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), Prime.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))))
+<too large>
Case conversion may be inaccurate. Consider using '#align map_prime_of_factor_order_iso map_prime_of_factor_orderIsoₓ'. -/
theorem map_prime_of_factor_orderIso [DecidableEq (Associates M)] {m p : Associates M}
{n : Associates N} (hn : n ≠ 0) (hp : p ∈ normalizedFactors m) (d : Set.Iic m ≃o Set.Iic n) :
@@ -410,10 +389,7 @@ theorem map_prime_of_factor_orderIso [DecidableEq (Associates M)] {m p : Associa
#align map_prime_of_factor_order_iso map_prime_of_factor_orderIso
/- warning: mem_normalized_factors_factor_order_iso_of_mem_normalized_factors -> mem_normalizedFactors_factor_orderIso_of_mem_normalizedFactors is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_5 : DecidableEq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] [_inst_6 : DecidableEq.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))}, (Ne.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) n (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (Zero.zero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasZero.{u2} N (MulZeroClass.toHasZero.{u2} N (MulZeroOneClass.toMulZeroClass.{u2} N (MonoidWithZero.toMulZeroOneClass.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))) -> (forall (hp : Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Multiset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Multiset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m)) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))), Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Multiset.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Multiset.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m p hp)))) (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.cancelCommMonoidWithZero.{u2} N _inst_2) (fun (a : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (b : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => _inst_6 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.cancelCommMonoidWithZero.{u2} N _inst_2) (Associates.uniqueUnits.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.ufm.{u2} N _inst_2 _inst_3) n))
-but is expected to have type
- forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] [_inst_6 : DecidableEq.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))}, (Ne.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) n (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instZeroAssociates.{u1} N (CommMonoidWithZero.toZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)) (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))) -> (forall (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Multiset.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Multiset.instMembershipMultiset.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))) (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u1} N _inst_2) (fun (a : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (b : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => _inst_6 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u1} N _inst_2) (Associates.uniqueUnits.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.ufm.{u1} N _inst_2 _inst_3) n))
+<too large>
Case conversion may be inaccurate. Consider using '#align mem_normalized_factors_factor_order_iso_of_mem_normalized_factors mem_normalizedFactors_factor_orderIso_of_mem_normalizedFactorsₓ'. -/
theorem mem_normalizedFactors_factor_orderIso_of_mem_normalizedFactors [DecidableEq (Associates M)]
[DecidableEq (Associates N)] {m p : Associates M} {n : Associates N} (hn : n ≠ 0)
@@ -430,10 +406,7 @@ theorem mem_normalizedFactors_factor_orderIso_of_mem_normalizedFactors [Decidabl
variable [DecidableRel ((· ∣ ·) : M → M → Prop)] [DecidableRel ((· ∣ ·) : N → N → Prop)]
/- warning: multiplicity_prime_le_multiplicity_image_by_factor_order_iso -> multiplicity_prime_le_multiplicity_image_by_factor_orderIso is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_5 : DecidableRel.{succ u1} M (Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))] [_inst_6 : DecidableRel.{succ u2} N (Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))))] [_inst_7 : DecidableEq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))} (hp : Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Multiset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Multiset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m)) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))), LE.le.{0} PartENat PartENat.hasLe (multiplicity.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Associates.HasDvd.Dvd.decidableRel.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1) (fun (a : M) (b : M) => _inst_5 a b) a b) p m) (multiplicity.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.commMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (a : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (b : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Associates.HasDvd.Dvd.decidableRel.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2) (fun (a : N) (b : N) => _inst_6 a b) a b) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m p hp)))) n)
-but is expected to have type
- forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableRel.{succ u2} M (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4378 : M) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4380 : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4378 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4380)] [_inst_6 : DecidableRel.{succ u1} N (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4402 : N) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4404 : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4402 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4404)] [_inst_7 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))} (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), LE.le.{0} PartENat PartENat.instLEPartENat (multiplicity.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Associates.instDecidableRelAssociatesToMonoidToMonoidWithZeroDvdSemigroupDvdToSemigroupToSemigroupWithZeroInstCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1) (fun (a : M) (b : M) => _inst_5 a b) a b) p m) (multiplicity.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (a : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (b : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Associates.instDecidableRelAssociatesToMonoidToMonoidWithZeroDvdSemigroupDvdToSemigroupToSemigroupWithZeroInstCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2) (fun (a : N) (b : N) => _inst_6 a b) a b) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))) n)
+<too large>
Case conversion may be inaccurate. Consider using '#align multiplicity_prime_le_multiplicity_image_by_factor_order_iso multiplicity_prime_le_multiplicity_image_by_factor_orderIsoₓ'. -/
theorem multiplicity_prime_le_multiplicity_image_by_factor_orderIso [DecidableEq (Associates M)]
{m p : Associates M} {n : Associates N} (hp : p ∈ normalizedFactors m)
@@ -452,10 +425,7 @@ theorem multiplicity_prime_le_multiplicity_image_by_factor_orderIso [DecidableEq
#align multiplicity_prime_le_multiplicity_image_by_factor_order_iso multiplicity_prime_le_multiplicity_image_by_factor_orderIso
/- warning: multiplicity_prime_eq_multiplicity_image_by_factor_order_iso -> multiplicity_prime_eq_multiplicity_image_by_factor_orderIso is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_5 : DecidableRel.{succ u1} M (Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))] [_inst_6 : DecidableRel.{succ u2} N (Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))))] [_inst_7 : DecidableEq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))}, (Ne.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) n (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (Zero.zero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasZero.{u2} N (MulZeroClass.toHasZero.{u2} N (MulZeroOneClass.toMulZeroClass.{u2} N (MonoidWithZero.toMulZeroOneClass.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))) -> (forall (hp : Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Multiset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Multiset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m)) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))), Eq.{1} PartENat (multiplicity.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Associates.HasDvd.Dvd.decidableRel.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1) (fun (a : M) (b : M) => _inst_5 a b) a b) p m) (multiplicity.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.commMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (a : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (b : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Associates.HasDvd.Dvd.decidableRel.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2) (fun (a : N) (b : N) => _inst_6 a b) a b) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m p hp)))) n))
-but is expected to have type
- forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableRel.{succ u2} M (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4604 : M) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4606 : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4604 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4606)] [_inst_6 : DecidableRel.{succ u1} N (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4628 : N) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4630 : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4628 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4630)] [_inst_7 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))}, (Ne.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) n (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instZeroAssociates.{u1} N (CommMonoidWithZero.toZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)) (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))) -> (forall (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), Eq.{1} PartENat (multiplicity.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Associates.instDecidableRelAssociatesToMonoidToMonoidWithZeroDvdSemigroupDvdToSemigroupToSemigroupWithZeroInstCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1) (fun (a : M) (b : M) => _inst_5 a b) a b) p m) (multiplicity.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (a : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (b : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Associates.instDecidableRelAssociatesToMonoidToMonoidWithZeroDvdSemigroupDvdToSemigroupToSemigroupWithZeroInstCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2) (fun (a : N) (b : N) => _inst_6 a b) a b) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))) n))
+<too large>
Case conversion may be inaccurate. Consider using '#align multiplicity_prime_eq_multiplicity_image_by_factor_order_iso multiplicity_prime_eq_multiplicity_image_by_factor_orderIsoₓ'. -/
theorem multiplicity_prime_eq_multiplicity_image_by_factor_orderIso [DecidableEq (Associates M)]
{m p : Associates M} {n : Associates N} (hn : n ≠ 0) (hp : p ∈ normalizedFactors m)
@@ -519,10 +489,7 @@ def mkFactorOrderIsoOfFactorDvdEquiv {m : M} {n : N} {d : { l : M // l ∣ m }
variable [UniqueFactorizationMonoid M] [UniqueFactorizationMonoid N] [DecidableEq M]
/- warning: mem_normalized_factors_factor_dvd_iso_of_mem_normalized_factors -> mem_normalizedFactors_factor_dvd_iso_of_mem_normalizedFactors is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : Unique.{succ u1} (Units.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] [_inst_4 : Unique.{succ u2} (Units.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))] [_inst_5 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_6 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_7 : DecidableEq.{succ u1} M] [_inst_8 : DecidableEq.{succ u2} N] {m : M} {p : M} {n : N}, (Ne.{succ u1} M m (OfNat.ofNat.{u1} M 0 (OfNat.mk.{u1} M 0 (Zero.zero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))))) -> (Ne.{succ u2} N n (OfNat.ofNat.{u2} N 0 (OfNat.mk.{u2} N 0 (Zero.zero.{u2} N (MulZeroClass.toHasZero.{u2} N (MulZeroOneClass.toMulZeroClass.{u2} N (MonoidWithZero.toMulZeroOneClass.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))))))) -> (forall (hp : Membership.Mem.{u1, u1} M (Multiset.{u1} M) (Multiset.hasMem.{u1} M) p (UniqueFactorizationMonoid.normalizedFactors.{u1} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} M _inst_1 _inst_3) _inst_5 m)) {d : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))}, (forall (l : Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (l' : Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)), Iff (Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (HasLiftT.mk.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (CoeTCₓ.coe.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeBase.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeSubtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))))) (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (fun (_x : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) => (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) -> (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Equiv.hasCoeToFun.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d l)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (HasLiftT.mk.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (CoeTCₓ.coe.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeBase.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeSubtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))))) (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (fun (_x : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) => (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) -> (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Equiv.hasCoeToFun.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d l'))) (Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (HasLiftT.mk.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (CoeTCₓ.coe.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (coeBase.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (coeSubtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m))))) l) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (HasLiftT.mk.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (CoeTCₓ.coe.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (coeBase.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (coeSubtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m))))) l'))) -> (Membership.Mem.{u2, u2} N (Multiset.{u2} N) (Multiset.hasMem.{u2} N) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (HasLiftT.mk.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (CoeTCₓ.coe.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeBase.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeSubtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))))) (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (fun (_x : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) => (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) -> (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Equiv.hasCoeToFun.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d (Subtype.mk.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} M _inst_1 _inst_3) _inst_5 m p hp)))) (UniqueFactorizationMonoid.normalizedFactors.{u2} N _inst_2 (fun (a : N) (b : N) => _inst_8 a b) (normalizationMonoidOfUniqueUnits.{u2} N _inst_2 _inst_4) _inst_6 n)))
-but is expected to have type
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : Unique.{succ u1} (Units.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] [_inst_4 : Unique.{succ u2} (Units.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))] [_inst_5 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_6 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_7 : DecidableEq.{succ u1} M] [_inst_8 : DecidableEq.{succ u2} N] {m : M} {p : M} {n : N}, (Ne.{succ u1} M m (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (CommMonoidWithZero.toZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) -> (Ne.{succ u2} N n (OfNat.ofNat.{u2} N 0 (Zero.toOfNat0.{u2} N (CommMonoidWithZero.toZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) -> (forall (hp : Membership.mem.{u1, u1} M (Multiset.{u1} M) (Multiset.instMembershipMultiset.{u1} M) p (UniqueFactorizationMonoid.normalizedFactors.{u1} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} M _inst_1 _inst_3) _inst_5 m)) {d : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))}, (forall (l : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (l' : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)), Iff (Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Subtype.val.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) => Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d l)) (Subtype.val.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) => Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d l'))) (Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Subtype.val.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m) l) (Subtype.val.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m) l'))) -> (Membership.mem.{u2, u2} N (Multiset.{u2} N) (Multiset.instMembershipMultiset.{u2} N) (Subtype.val.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) => Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d (Subtype.mk.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} M _inst_1 _inst_3) _inst_5 m p hp)))) (UniqueFactorizationMonoid.normalizedFactors.{u2} N _inst_2 (fun (a : N) (b : N) => _inst_8 a b) (normalizationMonoidOfUniqueUnits.{u2} N _inst_2 _inst_4) _inst_6 n)))
+<too large>
Case conversion may be inaccurate. Consider using '#align mem_normalized_factors_factor_dvd_iso_of_mem_normalized_factors mem_normalizedFactors_factor_dvd_iso_of_mem_normalizedFactorsₓ'. -/
theorem mem_normalizedFactors_factor_dvd_iso_of_mem_normalizedFactors [DecidableEq N] {m p : M}
{n : N} (hm : m ≠ 0) (hn : n ≠ 0) (hp : p ∈ normalizedFactors m)
@@ -568,10 +535,7 @@ theorem mem_normalizedFactors_factor_dvd_iso_of_mem_normalizedFactors [Decidable
variable [DecidableRel ((· ∣ ·) : M → M → Prop)] [DecidableRel ((· ∣ ·) : N → N → Prop)]
/- warning: multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalized_factor -> multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalizedFactors is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : Unique.{succ u1} (Units.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] [_inst_4 : Unique.{succ u2} (Units.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))] [_inst_5 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_6 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_7 : DecidableEq.{succ u1} M] [_inst_8 : DecidableRel.{succ u1} M (Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))] [_inst_9 : DecidableRel.{succ u2} N (Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))))] {m : M} {p : M} {n : N}, (Ne.{succ u1} M m (OfNat.ofNat.{u1} M 0 (OfNat.mk.{u1} M 0 (Zero.zero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))))) -> (Ne.{succ u2} N n (OfNat.ofNat.{u2} N 0 (OfNat.mk.{u2} N 0 (Zero.zero.{u2} N (MulZeroClass.toHasZero.{u2} N (MulZeroOneClass.toMulZeroClass.{u2} N (MonoidWithZero.toMulZeroOneClass.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))))))) -> (forall (hp : Membership.Mem.{u1, u1} M (Multiset.{u1} M) (Multiset.hasMem.{u1} M) p (UniqueFactorizationMonoid.normalizedFactors.{u1} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} M _inst_1 _inst_3) _inst_5 m)) {d : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))}, (forall (l : Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (l' : Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)), Iff (Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (HasLiftT.mk.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (CoeTCₓ.coe.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeBase.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeSubtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))))) (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (fun (_x : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) => (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) -> (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Equiv.hasCoeToFun.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d l)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (HasLiftT.mk.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (CoeTCₓ.coe.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeBase.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeSubtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))))) (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (fun (_x : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) => (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) -> (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Equiv.hasCoeToFun.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d l'))) (Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (HasLiftT.mk.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (CoeTCₓ.coe.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (coeBase.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (coeSubtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m))))) l) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (HasLiftT.mk.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (CoeTCₓ.coe.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (coeBase.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (coeSubtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m))))) l'))) -> (Eq.{1} PartENat (multiplicity.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) (fun (a : N) (b : N) => _inst_9 a b) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (HasLiftT.mk.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (CoeTCₓ.coe.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeBase.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeSubtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))))) (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (fun (_x : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) => (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) -> (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Equiv.hasCoeToFun.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d (Subtype.mk.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} M _inst_1 _inst_3) _inst_5 m p hp)))) n) (multiplicity.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) (fun (a : M) (b : M) => _inst_8 a b) p m)))
-but is expected to have type
- forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : Unique.{succ u2} (Units.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] [_inst_4 : Unique.{succ u1} (Units.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))] [_inst_5 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_6 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_7 : DecidableEq.{succ u2} M] [_inst_8 : DecidableRel.{succ u2} M (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5759 : M) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5761 : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5759 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5761)] [_inst_9 : DecidableRel.{succ u1} N (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5783 : N) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5785 : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5783 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5785)] {m : M} {p : M} {n : N}, (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (CommMonoidWithZero.toZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) -> (Ne.{succ u1} N n (OfNat.ofNat.{u1} N 0 (Zero.toOfNat0.{u1} N (CommMonoidWithZero.toZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) -> (forall (hp : Membership.mem.{u2, u2} M (Multiset.{u2} M) (Multiset.instMembershipMultiset.{u2} M) p (UniqueFactorizationMonoid.normalizedFactors.{u2} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} M _inst_1 _inst_3) _inst_5 m)) {d : Equiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))}, (forall (l : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (l' : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)), Iff (Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Subtype.val.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Equiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) d l)) (Subtype.val.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Equiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) d l'))) (Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Subtype.val.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m) l) (Subtype.val.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m) l'))) -> (Eq.{1} PartENat (multiplicity.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) (fun (a : N) (b : N) => _inst_9 a b) (Subtype.val.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Equiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) d (Subtype.mk.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} M _inst_1 _inst_3) _inst_5 m p hp)))) n) (multiplicity.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) (fun (a : M) (b : M) => _inst_8 a b) p m)))
+<too large>
Case conversion may be inaccurate. Consider using '#align multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalized_factor multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalizedFactorsₓ'. -/
theorem multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalizedFactors {m p : M} {n : N}
(hm : m ≠ 0) (hn : n ≠ 0) (hp : p ∈ normalizedFactors m)
mathlib commit https://github.com/leanprover-community/mathlib/commit/95a87616d63b3cb49d3fe678d416fbe9c4217bf4
@@ -300,7 +300,7 @@ variable {N : Type _} [CancelCommMonoidWithZero N]
lean 3 declaration is
forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))} (d : OrderIso.{u1, u2} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n))), Eq.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n))) (fun (_x : RelIso.{u1, u2} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m))) (LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)))) => (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) -> (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n))) (RelIso.hasCoeToFun.{u1, u2} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m))) (LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m) (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 1 (OfNat.mk.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 1 (One.one.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MulOneClass.toHasOne.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Monoid.toMulOneClass.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))))) (one_dvd.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) m)))) (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 1 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 1 (One.one.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasOne.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))
but is expected to have type
- forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))} (d : OrderIso.{u2, u1} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n))), Eq.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) => LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) => LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (fun (_x : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) => Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) => LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) => LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) => LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) => LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u2, u1} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) => LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) => LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m) (OfNat.ofNat.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) 1 (One.toOfNat1.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instOneAssociates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))))) (one_dvd.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) m)))) (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 1 (One.toOfNat1.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instOneAssociates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))
+ forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))} (d : OrderIso.{u2, u1} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n))), Eq.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) => LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) => LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (fun (_x : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) => Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) => LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) => LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) => LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) => LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u2, u1} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) => LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) => LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m) (OfNat.ofNat.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) 1 (One.toOfNat1.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instOneAssociates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))))) (one_dvd.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) m)))) (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 1 (One.toOfNat1.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instOneAssociates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))
Case conversion may be inaccurate. Consider using '#align factor_order_iso_map_one_eq_bot factor_orderIso_map_one_eq_botₓ'. -/
theorem factor_orderIso_map_one_eq_bot {m : Associates M} {n : Associates N}
(d : { l : Associates M // l ≤ m } ≃o { l : Associates N // l ≤ n }) :
@@ -315,7 +315,7 @@ theorem factor_orderIso_map_one_eq_bot {m : Associates M} {n : Associates N}
lean 3 declaration is
forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {u : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))} (hu' : LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) u m) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))), Iff (Eq.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) u hu'))) (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 1 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 1 (One.one.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasOne.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))) (Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) u (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 1 (OfNat.mk.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 1 (One.one.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.hasOne.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))))
but is expected to have type
- forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {u : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))} (hu' : LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) u m) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), Iff (Eq.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) u hu'))) (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 1 (One.toOfNat1.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instOneAssociates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))) (Eq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) u (OfNat.ofNat.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) 1 (One.toOfNat1.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instOneAssociates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))))))
+ forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {u : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))} (hu' : LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) u m) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), Iff (Eq.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) u hu'))) (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 1 (One.toOfNat1.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instOneAssociates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))) (Eq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) u (OfNat.ofNat.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) 1 (One.toOfNat1.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instOneAssociates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))))))
Case conversion may be inaccurate. Consider using '#align coe_factor_order_iso_map_eq_one_iff coe_factor_orderIso_map_eq_one_iffₓ'. -/
theorem coe_factor_orderIso_map_eq_one_iff {m u : Associates M} {n : Associates N} (hu' : u ≤ m)
(d : Set.Iic m ≃o Set.Iic n) : (d ⟨u, hu'⟩ : Associates N) = 1 ↔ u = 1 :=
@@ -339,7 +339,7 @@ open DivisorChain
lean 3 declaration is
forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_5 : DecidableEq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))}, (Ne.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) n (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (Zero.zero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasZero.{u2} N (MulZeroClass.toHasZero.{u2} N (MulZeroOneClass.toMulZeroClass.{u2} N (MonoidWithZero.toMulZeroOneClass.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))) -> (forall (hp : Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Multiset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Multiset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m)) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) {s : Nat}, (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (HPow.hPow.{u1, 0, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (instHPow.{u1, 0} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Monoid.Pow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) p s) m) -> (LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HPow.hPow.{u2, 0, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) Nat (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (instHPow.{u2, 0} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) Nat (Monoid.Pow.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.commMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m p hp)))) s) n))
but is expected to have type
- forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))}, (Ne.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) n (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instZeroAssociates.{u1} N (CommMonoidWithZero.toZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)) (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))) -> (forall (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))) {s : Nat}, (LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (HPow.hPow.{u2, 0, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) Nat (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (instHPow.{u2, 0} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) Nat (Monoid.Pow.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))))) p s) m) -> (LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (HPow.hPow.{u1, 0, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) Nat (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (instHPow.{u1, 0} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) Nat (Monoid.Pow.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))))) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))) s) n))
+ forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))}, (Ne.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) n (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instZeroAssociates.{u1} N (CommMonoidWithZero.toZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)) (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))) -> (forall (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))) {s : Nat}, (LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (HPow.hPow.{u2, 0, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) Nat (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (instHPow.{u2, 0} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) Nat (Monoid.Pow.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))))) p s) m) -> (LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (HPow.hPow.{u1, 0, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) Nat (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (instHPow.{u1, 0} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) Nat (Monoid.Pow.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))))) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))) s) n))
Case conversion may be inaccurate. Consider using '#align pow_image_of_prime_by_factor_order_iso_dvd pow_image_of_prime_by_factor_orderIso_dvdₓ'. -/
theorem pow_image_of_prime_by_factor_orderIso_dvd [DecidableEq (Associates M)] {m p : Associates M}
{n : Associates N} (hn : n ≠ 0) (hp : p ∈ normalizedFactors m) (d : Set.Iic m ≃o Set.Iic n)
@@ -378,7 +378,7 @@ theorem pow_image_of_prime_by_factor_orderIso_dvd [DecidableEq (Associates M)] {
lean 3 declaration is
forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_5 : DecidableEq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))}, (Ne.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) n (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (Zero.zero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasZero.{u2} N (MulZeroClass.toHasZero.{u2} N (MulZeroOneClass.toMulZeroClass.{u2} N (MonoidWithZero.toMulZeroOneClass.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))) -> (forall (hp : Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Multiset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Multiset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m)) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))), Prime.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.commMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m p hp)))))
but is expected to have type
- forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))}, (Ne.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) n (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instZeroAssociates.{u1} N (CommMonoidWithZero.toZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)) (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))) -> (forall (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), Prime.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))))
+ forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))}, (Ne.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) n (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instZeroAssociates.{u1} N (CommMonoidWithZero.toZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)) (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))) -> (forall (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), Prime.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))))
Case conversion may be inaccurate. Consider using '#align map_prime_of_factor_order_iso map_prime_of_factor_orderIsoₓ'. -/
theorem map_prime_of_factor_orderIso [DecidableEq (Associates M)] {m p : Associates M}
{n : Associates N} (hn : n ≠ 0) (hp : p ∈ normalizedFactors m) (d : Set.Iic m ≃o Set.Iic n) :
@@ -413,7 +413,7 @@ theorem map_prime_of_factor_orderIso [DecidableEq (Associates M)] {m p : Associa
lean 3 declaration is
forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_5 : DecidableEq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] [_inst_6 : DecidableEq.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))}, (Ne.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) n (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (Zero.zero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasZero.{u2} N (MulZeroClass.toHasZero.{u2} N (MulZeroOneClass.toMulZeroClass.{u2} N (MonoidWithZero.toMulZeroOneClass.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))) -> (forall (hp : Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Multiset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Multiset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m)) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))), Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Multiset.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Multiset.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m p hp)))) (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.cancelCommMonoidWithZero.{u2} N _inst_2) (fun (a : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (b : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => _inst_6 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.cancelCommMonoidWithZero.{u2} N _inst_2) (Associates.uniqueUnits.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.ufm.{u2} N _inst_2 _inst_3) n))
but is expected to have type
- forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] [_inst_6 : DecidableEq.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))}, (Ne.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) n (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instZeroAssociates.{u1} N (CommMonoidWithZero.toZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)) (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))) -> (forall (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Multiset.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Multiset.instMembershipMultiset.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))) (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u1} N _inst_2) (fun (a : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (b : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => _inst_6 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u1} N _inst_2) (Associates.uniqueUnits.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.ufm.{u1} N _inst_2 _inst_3) n))
+ forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] [_inst_6 : DecidableEq.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))}, (Ne.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) n (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instZeroAssociates.{u1} N (CommMonoidWithZero.toZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)) (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))) -> (forall (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Multiset.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Multiset.instMembershipMultiset.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))) (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u1} N _inst_2) (fun (a : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (b : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => _inst_6 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u1} N _inst_2) (Associates.uniqueUnits.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.ufm.{u1} N _inst_2 _inst_3) n))
Case conversion may be inaccurate. Consider using '#align mem_normalized_factors_factor_order_iso_of_mem_normalized_factors mem_normalizedFactors_factor_orderIso_of_mem_normalizedFactorsₓ'. -/
theorem mem_normalizedFactors_factor_orderIso_of_mem_normalizedFactors [DecidableEq (Associates M)]
[DecidableEq (Associates N)] {m p : Associates M} {n : Associates N} (hn : n ≠ 0)
@@ -433,7 +433,7 @@ variable [DecidableRel ((· ∣ ·) : M → M → Prop)] [DecidableRel ((· ∣
lean 3 declaration is
forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_5 : DecidableRel.{succ u1} M (Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))] [_inst_6 : DecidableRel.{succ u2} N (Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))))] [_inst_7 : DecidableEq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))} (hp : Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Multiset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Multiset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m)) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))), LE.le.{0} PartENat PartENat.hasLe (multiplicity.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Associates.HasDvd.Dvd.decidableRel.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1) (fun (a : M) (b : M) => _inst_5 a b) a b) p m) (multiplicity.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.commMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (a : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (b : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Associates.HasDvd.Dvd.decidableRel.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2) (fun (a : N) (b : N) => _inst_6 a b) a b) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m p hp)))) n)
but is expected to have type
- forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableRel.{succ u2} M (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4378 : M) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4380 : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4378 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4380)] [_inst_6 : DecidableRel.{succ u1} N (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4402 : N) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4404 : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4402 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4404)] [_inst_7 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))} (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), LE.le.{0} PartENat PartENat.instLEPartENat (multiplicity.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Associates.instDecidableRelAssociatesToMonoidToMonoidWithZeroDvdSemigroupDvdToSemigroupToSemigroupWithZeroInstCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1) (fun (a : M) (b : M) => _inst_5 a b) a b) p m) (multiplicity.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (a : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (b : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Associates.instDecidableRelAssociatesToMonoidToMonoidWithZeroDvdSemigroupDvdToSemigroupToSemigroupWithZeroInstCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2) (fun (a : N) (b : N) => _inst_6 a b) a b) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))) n)
+ forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableRel.{succ u2} M (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4378 : M) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4380 : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4378 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4380)] [_inst_6 : DecidableRel.{succ u1} N (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4402 : N) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4404 : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4402 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4404)] [_inst_7 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))} (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), LE.le.{0} PartENat PartENat.instLEPartENat (multiplicity.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Associates.instDecidableRelAssociatesToMonoidToMonoidWithZeroDvdSemigroupDvdToSemigroupToSemigroupWithZeroInstCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1) (fun (a : M) (b : M) => _inst_5 a b) a b) p m) (multiplicity.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (a : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (b : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Associates.instDecidableRelAssociatesToMonoidToMonoidWithZeroDvdSemigroupDvdToSemigroupToSemigroupWithZeroInstCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2) (fun (a : N) (b : N) => _inst_6 a b) a b) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))) n)
Case conversion may be inaccurate. Consider using '#align multiplicity_prime_le_multiplicity_image_by_factor_order_iso multiplicity_prime_le_multiplicity_image_by_factor_orderIsoₓ'. -/
theorem multiplicity_prime_le_multiplicity_image_by_factor_orderIso [DecidableEq (Associates M)]
{m p : Associates M} {n : Associates N} (hp : p ∈ normalizedFactors m)
@@ -455,7 +455,7 @@ theorem multiplicity_prime_le_multiplicity_image_by_factor_orderIso [DecidableEq
lean 3 declaration is
forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_5 : DecidableRel.{succ u1} M (Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))] [_inst_6 : DecidableRel.{succ u2} N (Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))))] [_inst_7 : DecidableEq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))}, (Ne.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) n (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (Zero.zero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasZero.{u2} N (MulZeroClass.toHasZero.{u2} N (MulZeroOneClass.toMulZeroClass.{u2} N (MonoidWithZero.toMulZeroOneClass.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))) -> (forall (hp : Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Multiset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Multiset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m)) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))), Eq.{1} PartENat (multiplicity.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Associates.HasDvd.Dvd.decidableRel.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1) (fun (a : M) (b : M) => _inst_5 a b) a b) p m) (multiplicity.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.commMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (a : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (b : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Associates.HasDvd.Dvd.decidableRel.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2) (fun (a : N) (b : N) => _inst_6 a b) a b) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m p hp)))) n))
but is expected to have type
- forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableRel.{succ u2} M (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4604 : M) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4606 : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4604 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4606)] [_inst_6 : DecidableRel.{succ u1} N (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4628 : N) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4630 : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4628 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4630)] [_inst_7 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))}, (Ne.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) n (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instZeroAssociates.{u1} N (CommMonoidWithZero.toZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)) (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))) -> (forall (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), Eq.{1} PartENat (multiplicity.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Associates.instDecidableRelAssociatesToMonoidToMonoidWithZeroDvdSemigroupDvdToSemigroupToSemigroupWithZeroInstCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1) (fun (a : M) (b : M) => _inst_5 a b) a b) p m) (multiplicity.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (a : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (b : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Associates.instDecidableRelAssociatesToMonoidToMonoidWithZeroDvdSemigroupDvdToSemigroupToSemigroupWithZeroInstCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2) (fun (a : N) (b : N) => _inst_6 a b) a b) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))) n))
+ forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableRel.{succ u2} M (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4604 : M) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4606 : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4604 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4606)] [_inst_6 : DecidableRel.{succ u1} N (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4628 : N) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4630 : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4628 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4630)] [_inst_7 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))}, (Ne.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) n (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instZeroAssociates.{u1} N (CommMonoidWithZero.toZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)) (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))) -> (forall (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), Eq.{1} PartENat (multiplicity.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Associates.instDecidableRelAssociatesToMonoidToMonoidWithZeroDvdSemigroupDvdToSemigroupToSemigroupWithZeroInstCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1) (fun (a : M) (b : M) => _inst_5 a b) a b) p m) (multiplicity.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (a : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (b : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Associates.instDecidableRelAssociatesToMonoidToMonoidWithZeroDvdSemigroupDvdToSemigroupToSemigroupWithZeroInstCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2) (fun (a : N) (b : N) => _inst_6 a b) a b) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))) n))
Case conversion may be inaccurate. Consider using '#align multiplicity_prime_eq_multiplicity_image_by_factor_order_iso multiplicity_prime_eq_multiplicity_image_by_factor_orderIsoₓ'. -/
theorem multiplicity_prime_eq_multiplicity_image_by_factor_orderIso [DecidableEq (Associates M)]
{m p : Associates M} {n : Associates N} (hn : n ≠ 0) (hp : p ∈ normalizedFactors m)
@@ -522,7 +522,7 @@ variable [UniqueFactorizationMonoid M] [UniqueFactorizationMonoid N] [DecidableE
lean 3 declaration is
forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : Unique.{succ u1} (Units.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] [_inst_4 : Unique.{succ u2} (Units.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))] [_inst_5 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_6 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_7 : DecidableEq.{succ u1} M] [_inst_8 : DecidableEq.{succ u2} N] {m : M} {p : M} {n : N}, (Ne.{succ u1} M m (OfNat.ofNat.{u1} M 0 (OfNat.mk.{u1} M 0 (Zero.zero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))))) -> (Ne.{succ u2} N n (OfNat.ofNat.{u2} N 0 (OfNat.mk.{u2} N 0 (Zero.zero.{u2} N (MulZeroClass.toHasZero.{u2} N (MulZeroOneClass.toMulZeroClass.{u2} N (MonoidWithZero.toMulZeroOneClass.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))))))) -> (forall (hp : Membership.Mem.{u1, u1} M (Multiset.{u1} M) (Multiset.hasMem.{u1} M) p (UniqueFactorizationMonoid.normalizedFactors.{u1} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} M _inst_1 _inst_3) _inst_5 m)) {d : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))}, (forall (l : Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (l' : Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)), Iff (Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (HasLiftT.mk.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (CoeTCₓ.coe.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeBase.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeSubtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))))) (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (fun (_x : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) => (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) -> (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Equiv.hasCoeToFun.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d l)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (HasLiftT.mk.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (CoeTCₓ.coe.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeBase.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeSubtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))))) (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (fun (_x : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) => (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) -> (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Equiv.hasCoeToFun.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d l'))) (Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (HasLiftT.mk.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (CoeTCₓ.coe.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (coeBase.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (coeSubtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m))))) l) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (HasLiftT.mk.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (CoeTCₓ.coe.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (coeBase.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (coeSubtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m))))) l'))) -> (Membership.Mem.{u2, u2} N (Multiset.{u2} N) (Multiset.hasMem.{u2} N) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (HasLiftT.mk.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (CoeTCₓ.coe.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeBase.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeSubtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))))) (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (fun (_x : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) => (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) -> (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Equiv.hasCoeToFun.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d (Subtype.mk.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} M _inst_1 _inst_3) _inst_5 m p hp)))) (UniqueFactorizationMonoid.normalizedFactors.{u2} N _inst_2 (fun (a : N) (b : N) => _inst_8 a b) (normalizationMonoidOfUniqueUnits.{u2} N _inst_2 _inst_4) _inst_6 n)))
but is expected to have type
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : Unique.{succ u1} (Units.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] [_inst_4 : Unique.{succ u2} (Units.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))] [_inst_5 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_6 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_7 : DecidableEq.{succ u1} M] [_inst_8 : DecidableEq.{succ u2} N] {m : M} {p : M} {n : N}, (Ne.{succ u1} M m (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (CommMonoidWithZero.toZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) -> (Ne.{succ u2} N n (OfNat.ofNat.{u2} N 0 (Zero.toOfNat0.{u2} N (CommMonoidWithZero.toZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) -> (forall (hp : Membership.mem.{u1, u1} M (Multiset.{u1} M) (Multiset.instMembershipMultiset.{u1} M) p (UniqueFactorizationMonoid.normalizedFactors.{u1} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} M _inst_1 _inst_3) _inst_5 m)) {d : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))}, (forall (l : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (l' : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)), Iff (Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Subtype.val.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) => Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d l)) (Subtype.val.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) => Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d l'))) (Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Subtype.val.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m) l) (Subtype.val.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m) l'))) -> (Membership.mem.{u2, u2} N (Multiset.{u2} N) (Multiset.instMembershipMultiset.{u2} N) (Subtype.val.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) => Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d (Subtype.mk.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} M _inst_1 _inst_3) _inst_5 m p hp)))) (UniqueFactorizationMonoid.normalizedFactors.{u2} N _inst_2 (fun (a : N) (b : N) => _inst_8 a b) (normalizationMonoidOfUniqueUnits.{u2} N _inst_2 _inst_4) _inst_6 n)))
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : Unique.{succ u1} (Units.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] [_inst_4 : Unique.{succ u2} (Units.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))] [_inst_5 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_6 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_7 : DecidableEq.{succ u1} M] [_inst_8 : DecidableEq.{succ u2} N] {m : M} {p : M} {n : N}, (Ne.{succ u1} M m (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (CommMonoidWithZero.toZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) -> (Ne.{succ u2} N n (OfNat.ofNat.{u2} N 0 (Zero.toOfNat0.{u2} N (CommMonoidWithZero.toZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) -> (forall (hp : Membership.mem.{u1, u1} M (Multiset.{u1} M) (Multiset.instMembershipMultiset.{u1} M) p (UniqueFactorizationMonoid.normalizedFactors.{u1} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} M _inst_1 _inst_3) _inst_5 m)) {d : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))}, (forall (l : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (l' : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)), Iff (Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Subtype.val.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) => Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d l)) (Subtype.val.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) => Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d l'))) (Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Subtype.val.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m) l) (Subtype.val.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m) l'))) -> (Membership.mem.{u2, u2} N (Multiset.{u2} N) (Multiset.instMembershipMultiset.{u2} N) (Subtype.val.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) => Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d (Subtype.mk.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} M _inst_1 _inst_3) _inst_5 m p hp)))) (UniqueFactorizationMonoid.normalizedFactors.{u2} N _inst_2 (fun (a : N) (b : N) => _inst_8 a b) (normalizationMonoidOfUniqueUnits.{u2} N _inst_2 _inst_4) _inst_6 n)))
Case conversion may be inaccurate. Consider using '#align mem_normalized_factors_factor_dvd_iso_of_mem_normalized_factors mem_normalizedFactors_factor_dvd_iso_of_mem_normalizedFactorsₓ'. -/
theorem mem_normalizedFactors_factor_dvd_iso_of_mem_normalizedFactors [DecidableEq N] {m p : M}
{n : N} (hm : m ≠ 0) (hn : n ≠ 0) (hp : p ∈ normalizedFactors m)
@@ -571,7 +571,7 @@ variable [DecidableRel ((· ∣ ·) : M → M → Prop)] [DecidableRel ((· ∣
lean 3 declaration is
forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : Unique.{succ u1} (Units.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] [_inst_4 : Unique.{succ u2} (Units.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))] [_inst_5 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_6 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_7 : DecidableEq.{succ u1} M] [_inst_8 : DecidableRel.{succ u1} M (Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))] [_inst_9 : DecidableRel.{succ u2} N (Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))))] {m : M} {p : M} {n : N}, (Ne.{succ u1} M m (OfNat.ofNat.{u1} M 0 (OfNat.mk.{u1} M 0 (Zero.zero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))))) -> (Ne.{succ u2} N n (OfNat.ofNat.{u2} N 0 (OfNat.mk.{u2} N 0 (Zero.zero.{u2} N (MulZeroClass.toHasZero.{u2} N (MulZeroOneClass.toMulZeroClass.{u2} N (MonoidWithZero.toMulZeroOneClass.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))))))) -> (forall (hp : Membership.Mem.{u1, u1} M (Multiset.{u1} M) (Multiset.hasMem.{u1} M) p (UniqueFactorizationMonoid.normalizedFactors.{u1} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} M _inst_1 _inst_3) _inst_5 m)) {d : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))}, (forall (l : Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (l' : Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)), Iff (Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (HasLiftT.mk.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (CoeTCₓ.coe.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeBase.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeSubtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))))) (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (fun (_x : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) => (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) -> (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Equiv.hasCoeToFun.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d l)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (HasLiftT.mk.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (CoeTCₓ.coe.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeBase.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeSubtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))))) (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (fun (_x : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) => (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) -> (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Equiv.hasCoeToFun.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d l'))) (Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (HasLiftT.mk.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (CoeTCₓ.coe.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (coeBase.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (coeSubtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m))))) l) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (HasLiftT.mk.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (CoeTCₓ.coe.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (coeBase.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (coeSubtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m))))) l'))) -> (Eq.{1} PartENat (multiplicity.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) (fun (a : N) (b : N) => _inst_9 a b) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (HasLiftT.mk.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (CoeTCₓ.coe.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeBase.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeSubtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))))) (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (fun (_x : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) => (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) -> (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Equiv.hasCoeToFun.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d (Subtype.mk.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} M _inst_1 _inst_3) _inst_5 m p hp)))) n) (multiplicity.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) (fun (a : M) (b : M) => _inst_8 a b) p m)))
but is expected to have type
- forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : Unique.{succ u2} (Units.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] [_inst_4 : Unique.{succ u1} (Units.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))] [_inst_5 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_6 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_7 : DecidableEq.{succ u2} M] [_inst_8 : DecidableRel.{succ u2} M (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5759 : M) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5761 : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5759 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5761)] [_inst_9 : DecidableRel.{succ u1} N (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5783 : N) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5785 : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5783 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5785)] {m : M} {p : M} {n : N}, (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (CommMonoidWithZero.toZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) -> (Ne.{succ u1} N n (OfNat.ofNat.{u1} N 0 (Zero.toOfNat0.{u1} N (CommMonoidWithZero.toZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) -> (forall (hp : Membership.mem.{u2, u2} M (Multiset.{u2} M) (Multiset.instMembershipMultiset.{u2} M) p (UniqueFactorizationMonoid.normalizedFactors.{u2} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} M _inst_1 _inst_3) _inst_5 m)) {d : Equiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))}, (forall (l : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (l' : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)), Iff (Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Subtype.val.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Equiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) d l)) (Subtype.val.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Equiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) d l'))) (Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Subtype.val.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m) l) (Subtype.val.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m) l'))) -> (Eq.{1} PartENat (multiplicity.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) (fun (a : N) (b : N) => _inst_9 a b) (Subtype.val.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Equiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) d (Subtype.mk.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} M _inst_1 _inst_3) _inst_5 m p hp)))) n) (multiplicity.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) (fun (a : M) (b : M) => _inst_8 a b) p m)))
+ forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : Unique.{succ u2} (Units.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] [_inst_4 : Unique.{succ u1} (Units.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))] [_inst_5 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_6 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_7 : DecidableEq.{succ u2} M] [_inst_8 : DecidableRel.{succ u2} M (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5759 : M) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5761 : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5759 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5761)] [_inst_9 : DecidableRel.{succ u1} N (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5783 : N) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5785 : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5783 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5785)] {m : M} {p : M} {n : N}, (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (CommMonoidWithZero.toZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) -> (Ne.{succ u1} N n (OfNat.ofNat.{u1} N 0 (Zero.toOfNat0.{u1} N (CommMonoidWithZero.toZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) -> (forall (hp : Membership.mem.{u2, u2} M (Multiset.{u2} M) (Multiset.instMembershipMultiset.{u2} M) p (UniqueFactorizationMonoid.normalizedFactors.{u2} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} M _inst_1 _inst_3) _inst_5 m)) {d : Equiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))}, (forall (l : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (l' : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)), Iff (Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Subtype.val.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Equiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) d l)) (Subtype.val.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Equiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) d l'))) (Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Subtype.val.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m) l) (Subtype.val.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m) l'))) -> (Eq.{1} PartENat (multiplicity.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) (fun (a : N) (b : N) => _inst_9 a b) (Subtype.val.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Equiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) d (Subtype.mk.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} M _inst_1 _inst_3) _inst_5 m p hp)))) n) (multiplicity.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) (fun (a : M) (b : M) => _inst_8 a b) p m)))
Case conversion may be inaccurate. Consider using '#align multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalized_factor multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalizedFactorsₓ'. -/
theorem multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalizedFactors {m p : M} {n : N}
(hm : m ≠ 0) (hn : n ≠ 0) (hp : p ∈ normalizedFactors m)
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -79,7 +79,7 @@ namespace DivisorChain
/- warning: divisor_chain.exists_chain_of_prime_pow -> DivisorChain.exists_chain_of_prime_pow is a dubious translation:
lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (Prime.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) p) -> (Exists.{succ u1} ((Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (fun (c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) => And (Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (One.one.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasOneOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n)))))) p) (And (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (HPow.hPow.{u1, 0, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (instHPow.{u1, 0} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Monoid.Pow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) p n)) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))))))
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (Prime.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) p) -> (Exists.{succ u1} ((Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (fun (c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) => And (Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (One.one.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasOneOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n)))))) p) (And (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (HPow.hPow.{u1, 0, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (instHPow.{u1, 0} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Monoid.Pow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) p n)) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))))))
but is expected to have type
forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (Prime.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) p) -> (Exists.{succ u1} ((Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (fun (c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) => And (Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 1 (Fin.instOfNatFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) 1 (NeZero.succ n)))) p) (And (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin.instPartialOrderFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (HPow.hPow.{u1, 0, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (instHPow.{u1, 0} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Monoid.Pow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) p n)) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))))))
Case conversion may be inaccurate. Consider using '#align divisor_chain.exists_chain_of_prime_pow DivisorChain.exists_chain_of_prime_powₓ'. -/
@@ -118,7 +118,7 @@ theorem element_of_chain_not_isUnit_of_index_ne_zero {n : ℕ} {i : Fin (n + 1)}
/- warning: divisor_chain.first_of_chain_is_unit -> DivisorChain.first_of_chain_isUnit is a dubious translation:
lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat} {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (IsUnit.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 0 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 0 (Zero.zero.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasZeroOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n)))))))
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat} {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (IsUnit.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 0 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 0 (Zero.zero.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasZeroOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n)))))))
but is expected to have type
forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat} {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin.instPartialOrderFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (IsUnit.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 0 (Fin.instOfNatFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) 0 (NeZero.succ n)))))
Case conversion may be inaccurate. Consider using '#align divisor_chain.first_of_chain_is_unit DivisorChain.first_of_chain_isUnitₓ'. -/
@@ -132,7 +132,7 @@ theorem first_of_chain_isUnit {q : Associates M} {n : ℕ} {c : Fin (n + 1) →
/- warning: divisor_chain.second_of_chain_is_irreducible -> DivisorChain.second_of_chain_is_irreducible is a dubious translation:
lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (OfNat.mk.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.zero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.hasZero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))))) -> (Irreducible.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (One.one.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasOneOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n))))))))
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (OfNat.mk.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.zero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.hasZero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))))) -> (Irreducible.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (One.one.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasOneOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n))))))))
but is expected to have type
forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin.instPartialOrderFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instZeroAssociates.{u1} M (CommMonoidWithZero.toZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))) -> (Irreducible.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 1 (Fin.instOfNatFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) 1 (NeZero.succ n))))))
Case conversion may be inaccurate. Consider using '#align divisor_chain.second_of_chain_is_irreducible DivisorChain.second_of_chain_is_irreducibleₓ'. -/
@@ -151,7 +151,7 @@ theorem second_of_chain_is_irreducible {q : Associates M} {n : ℕ} (hn : n ≠
/- warning: divisor_chain.eq_second_of_chain_of_prime_dvd -> DivisorChain.eq_second_of_chain_of_prime_dvd is a dubious translation:
lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Prime.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) p) -> (Dvd.Dvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (semigroupDvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (SemigroupWithZero.toSemigroup.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toSemigroupWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) r q) -> (Dvd.Dvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (semigroupDvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (SemigroupWithZero.toSemigroup.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toSemigroupWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) p r) -> (Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) p (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (One.one.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasOneOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n))))))))
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Prime.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) p) -> (Dvd.Dvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (semigroupDvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (SemigroupWithZero.toSemigroup.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toSemigroupWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) r q) -> (Dvd.Dvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (semigroupDvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (SemigroupWithZero.toSemigroup.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toSemigroupWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) p r) -> (Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) p (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (One.one.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasOneOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n))))))))
but is expected to have type
forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin.instPartialOrderFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Prime.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) p) -> (Dvd.dvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (semigroupDvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (SemigroupWithZero.toSemigroup.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toSemigroupWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) r q) -> (Dvd.dvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (semigroupDvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (SemigroupWithZero.toSemigroup.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toSemigroupWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) p r) -> (Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) p (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 1 (Fin.instOfNatFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) 1 (NeZero.succ n))))))
Case conversion may be inaccurate. Consider using '#align divisor_chain.eq_second_of_chain_of_prime_dvd DivisorChain.eq_second_of_chain_of_prime_dvdₓ'. -/
@@ -181,7 +181,7 @@ theorem eq_second_of_chain_of_prime_dvd {p q r : Associates M} {n : ℕ} (hn : n
/- warning: divisor_chain.card_subset_divisors_le_length_of_chain -> DivisorChain.card_subset_divisors_le_length_of_chain is a dubious translation:
lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat} {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (forall {m : Finset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (forall (r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))), (Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Finset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Finset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) r m) -> (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q)) -> (LE.le.{0} Nat Nat.hasLe (Finset.card.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) m) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat} {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (forall {m : Finset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (forall (r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))), (Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Finset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Finset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) r m) -> (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q)) -> (LE.le.{0} Nat Nat.hasLe (Finset.card.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) m) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))
but is expected to have type
forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat} {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (forall {m : Finset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (forall (r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))), (Membership.mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Finset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Finset.instMembershipFinset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) r m) -> (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q)) -> (LE.le.{0} Nat instLENat (Finset.card.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) m) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))
Case conversion may be inaccurate. Consider using '#align divisor_chain.card_subset_divisors_le_length_of_chain DivisorChain.card_subset_divisors_le_length_of_chainₓ'. -/
@@ -202,7 +202,7 @@ variable [UniqueFactorizationMonoid M]
/- warning: divisor_chain.element_of_chain_eq_pow_second_of_chain -> DivisorChain.element_of_chain_eq_pow_second_of_chain is a dubious translation:
lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] [_inst_2 : UniqueFactorizationMonoid.{u1} M _inst_1] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Dvd.Dvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (semigroupDvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (SemigroupWithZero.toSemigroup.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toSemigroupWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) r q) -> (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (OfNat.mk.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.zero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.hasZero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))))) -> (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (HPow.hPow.{u1, 0, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (instHPow.{u1, 0} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Monoid.Pow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (One.one.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasOneOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n)))))) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) Nat (HasLiftT.mk.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) Nat (CoeTCₓ.coe.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) Nat (coeBase.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) Nat (Fin.coeToNat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))))) i)))))
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] [_inst_2 : UniqueFactorizationMonoid.{u1} M _inst_1] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Dvd.Dvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (semigroupDvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (SemigroupWithZero.toSemigroup.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toSemigroupWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) r q) -> (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (OfNat.mk.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.zero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.hasZero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))))) -> (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (HPow.hPow.{u1, 0, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (instHPow.{u1, 0} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Monoid.Pow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (One.one.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasOneOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n)))))) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) Nat (HasLiftT.mk.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) Nat (CoeTCₓ.coe.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) Nat (coeBase.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) Nat (Fin.coeToNat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))))) i)))))
but is expected to have type
forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] [_inst_2 : UniqueFactorizationMonoid.{u1} M _inst_1] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin.instPartialOrderFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Dvd.dvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (semigroupDvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (SemigroupWithZero.toSemigroup.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toSemigroupWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) r q) -> (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instZeroAssociates.{u1} M (CommMonoidWithZero.toZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))) -> (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (HPow.hPow.{u1, 0, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (instHPow.{u1, 0} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Monoid.Pow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 1 (Fin.instOfNatFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) 1 (NeZero.succ n)))) (Fin.val (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) i)))))
Case conversion may be inaccurate. Consider using '#align divisor_chain.element_of_chain_eq_pow_second_of_chain DivisorChain.element_of_chain_eq_pow_second_of_chainₓ'. -/
@@ -248,7 +248,7 @@ theorem element_of_chain_eq_pow_second_of_chain {q r : Associates M} {n : ℕ} (
/- warning: divisor_chain.eq_pow_second_of_chain_of_has_chain -> DivisorChain.eq_pow_second_of_chain_of_has_chain is a dubious translation:
lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] [_inst_2 : UniqueFactorizationMonoid.{u1} M _inst_1] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (OfNat.mk.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.zero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.hasZero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))))) -> (Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (HPow.hPow.{u1, 0, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (instHPow.{u1, 0} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Monoid.Pow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (One.one.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasOneOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n)))))) n)))
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] [_inst_2 : UniqueFactorizationMonoid.{u1} M _inst_1] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (OfNat.mk.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.zero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.hasZero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))))) -> (Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (HPow.hPow.{u1, 0, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (instHPow.{u1, 0} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Monoid.Pow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (One.one.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasOneOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n)))))) n)))
but is expected to have type
forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] [_inst_2 : UniqueFactorizationMonoid.{u1} M _inst_1] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin.instPartialOrderFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instZeroAssociates.{u1} M (CommMonoidWithZero.toZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))) -> (Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (HPow.hPow.{u1, 0, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (instHPow.{u1, 0} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Monoid.Pow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 1 (Fin.instOfNatFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) 1 (NeZero.succ n)))) n)))
Case conversion may be inaccurate. Consider using '#align divisor_chain.eq_pow_second_of_chain_of_has_chain DivisorChain.eq_pow_second_of_chain_of_has_chainₓ'. -/
@@ -281,7 +281,7 @@ theorem eq_pow_second_of_chain_of_has_chain {q : Associates M} {n : ℕ} (hn : n
/- warning: divisor_chain.is_prime_pow_of_has_chain -> DivisorChain.isPrimePow_of_has_chain is a dubious translation:
lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] [_inst_2 : UniqueFactorizationMonoid.{u1} M _inst_1] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (OfNat.mk.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.zero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.hasZero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))))) -> (IsPrimePow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) q))
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] [_inst_2 : UniqueFactorizationMonoid.{u1} M _inst_1] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (OfNat.mk.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.zero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.hasZero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))))) -> (IsPrimePow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) q))
but is expected to have type
forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] [_inst_2 : UniqueFactorizationMonoid.{u1} M _inst_1] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin.instPartialOrderFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instZeroAssociates.{u1} M (CommMonoidWithZero.toZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))) -> (IsPrimePow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) q))
Case conversion may be inaccurate. Consider using '#align divisor_chain.is_prime_pow_of_has_chain DivisorChain.isPrimePow_of_has_chainₓ'. -/
@@ -298,7 +298,7 @@ variable {N : Type _} [CancelCommMonoidWithZero N]
/- warning: factor_order_iso_map_one_eq_bot -> factor_orderIso_map_one_eq_bot is a dubious translation:
lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))} (d : OrderIso.{u1, u2} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n))), Eq.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n))) (fun (_x : RelIso.{u1, u2} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m))) (LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)))) => (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) -> (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n))) (RelIso.hasCoeToFun.{u1, u2} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m))) (LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m) (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 1 (OfNat.mk.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 1 (One.one.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MulOneClass.toHasOne.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Monoid.toMulOneClass.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))))) (one_dvd.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) m)))) (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 1 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 1 (One.one.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasOne.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))} (d : OrderIso.{u1, u2} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n))), Eq.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n))) (fun (_x : RelIso.{u1, u2} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m))) (LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)))) => (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) -> (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n))) (RelIso.hasCoeToFun.{u1, u2} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m))) (LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m) (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 1 (OfNat.mk.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 1 (One.one.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MulOneClass.toHasOne.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Monoid.toMulOneClass.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))))) (one_dvd.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) m)))) (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 1 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 1 (One.one.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasOne.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))
but is expected to have type
forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))} (d : OrderIso.{u2, u1} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n))), Eq.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) => LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) => LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (fun (_x : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) => Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) => LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) => LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) => LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) => LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u2, u1} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) => LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) => LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m) (OfNat.ofNat.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) 1 (One.toOfNat1.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instOneAssociates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))))) (one_dvd.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) m)))) (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 1 (One.toOfNat1.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instOneAssociates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))
Case conversion may be inaccurate. Consider using '#align factor_order_iso_map_one_eq_bot factor_orderIso_map_one_eq_botₓ'. -/
@@ -313,7 +313,7 @@ theorem factor_orderIso_map_one_eq_bot {m : Associates M} {n : Associates N}
/- warning: coe_factor_order_iso_map_eq_one_iff -> coe_factor_orderIso_map_eq_one_iff is a dubious translation:
lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {u : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))} (hu' : LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) u m) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))), Iff (Eq.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) u hu'))) (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 1 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 1 (One.one.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasOne.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))) (Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) u (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 1 (OfNat.mk.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 1 (One.one.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.hasOne.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))))
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {u : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))} (hu' : LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) u m) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))), Iff (Eq.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) u hu'))) (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 1 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 1 (One.one.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasOne.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))) (Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) u (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 1 (OfNat.mk.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 1 (One.one.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.hasOne.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))))
but is expected to have type
forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {u : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))} (hu' : LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) u m) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), Iff (Eq.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) u hu'))) (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 1 (One.toOfNat1.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instOneAssociates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))) (Eq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) u (OfNat.ofNat.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) 1 (One.toOfNat1.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instOneAssociates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))))))
Case conversion may be inaccurate. Consider using '#align coe_factor_order_iso_map_eq_one_iff coe_factor_orderIso_map_eq_one_iffₓ'. -/
@@ -337,7 +337,7 @@ open DivisorChain
/- warning: pow_image_of_prime_by_factor_order_iso_dvd -> pow_image_of_prime_by_factor_orderIso_dvd is a dubious translation:
lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_5 : DecidableEq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))}, (Ne.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) n (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (Zero.zero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasZero.{u2} N (MulZeroClass.toHasZero.{u2} N (MulZeroOneClass.toMulZeroClass.{u2} N (MonoidWithZero.toMulZeroOneClass.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))) -> (forall (hp : Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Multiset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Multiset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m)) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) {s : Nat}, (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (HPow.hPow.{u1, 0, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (instHPow.{u1, 0} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Monoid.Pow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) p s) m) -> (LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HPow.hPow.{u2, 0, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) Nat (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (instHPow.{u2, 0} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) Nat (Monoid.Pow.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.commMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m p hp)))) s) n))
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_5 : DecidableEq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))}, (Ne.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) n (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (Zero.zero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasZero.{u2} N (MulZeroClass.toHasZero.{u2} N (MulZeroOneClass.toMulZeroClass.{u2} N (MonoidWithZero.toMulZeroOneClass.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))) -> (forall (hp : Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Multiset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Multiset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m)) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) {s : Nat}, (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (HPow.hPow.{u1, 0, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (instHPow.{u1, 0} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Monoid.Pow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) p s) m) -> (LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HPow.hPow.{u2, 0, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) Nat (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (instHPow.{u2, 0} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) Nat (Monoid.Pow.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.commMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m p hp)))) s) n))
but is expected to have type
forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))}, (Ne.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) n (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instZeroAssociates.{u1} N (CommMonoidWithZero.toZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)) (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))) -> (forall (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))) {s : Nat}, (LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (HPow.hPow.{u2, 0, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) Nat (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (instHPow.{u2, 0} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) Nat (Monoid.Pow.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))))) p s) m) -> (LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (HPow.hPow.{u1, 0, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) Nat (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (instHPow.{u1, 0} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) Nat (Monoid.Pow.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))))) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))) s) n))
Case conversion may be inaccurate. Consider using '#align pow_image_of_prime_by_factor_order_iso_dvd pow_image_of_prime_by_factor_orderIso_dvdₓ'. -/
@@ -376,7 +376,7 @@ theorem pow_image_of_prime_by_factor_orderIso_dvd [DecidableEq (Associates M)] {
/- warning: map_prime_of_factor_order_iso -> map_prime_of_factor_orderIso is a dubious translation:
lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_5 : DecidableEq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))}, (Ne.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) n (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (Zero.zero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasZero.{u2} N (MulZeroClass.toHasZero.{u2} N (MulZeroOneClass.toMulZeroClass.{u2} N (MonoidWithZero.toMulZeroOneClass.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))) -> (forall (hp : Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Multiset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Multiset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m)) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))), Prime.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.commMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m p hp)))))
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_5 : DecidableEq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))}, (Ne.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) n (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (Zero.zero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasZero.{u2} N (MulZeroClass.toHasZero.{u2} N (MulZeroOneClass.toMulZeroClass.{u2} N (MonoidWithZero.toMulZeroOneClass.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))) -> (forall (hp : Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Multiset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Multiset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m)) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))), Prime.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.commMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m p hp)))))
but is expected to have type
forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))}, (Ne.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) n (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instZeroAssociates.{u1} N (CommMonoidWithZero.toZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)) (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))) -> (forall (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), Prime.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))))
Case conversion may be inaccurate. Consider using '#align map_prime_of_factor_order_iso map_prime_of_factor_orderIsoₓ'. -/
@@ -411,7 +411,7 @@ theorem map_prime_of_factor_orderIso [DecidableEq (Associates M)] {m p : Associa
/- warning: mem_normalized_factors_factor_order_iso_of_mem_normalized_factors -> mem_normalizedFactors_factor_orderIso_of_mem_normalizedFactors is a dubious translation:
lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_5 : DecidableEq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] [_inst_6 : DecidableEq.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))}, (Ne.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) n (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (Zero.zero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasZero.{u2} N (MulZeroClass.toHasZero.{u2} N (MulZeroOneClass.toMulZeroClass.{u2} N (MonoidWithZero.toMulZeroOneClass.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))) -> (forall (hp : Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Multiset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Multiset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m)) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))), Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Multiset.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Multiset.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m p hp)))) (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.cancelCommMonoidWithZero.{u2} N _inst_2) (fun (a : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (b : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => _inst_6 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.cancelCommMonoidWithZero.{u2} N _inst_2) (Associates.uniqueUnits.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.ufm.{u2} N _inst_2 _inst_3) n))
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_5 : DecidableEq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] [_inst_6 : DecidableEq.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))}, (Ne.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) n (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (Zero.zero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasZero.{u2} N (MulZeroClass.toHasZero.{u2} N (MulZeroOneClass.toMulZeroClass.{u2} N (MonoidWithZero.toMulZeroOneClass.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))) -> (forall (hp : Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Multiset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Multiset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m)) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))), Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Multiset.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Multiset.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m p hp)))) (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.cancelCommMonoidWithZero.{u2} N _inst_2) (fun (a : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (b : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => _inst_6 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.cancelCommMonoidWithZero.{u2} N _inst_2) (Associates.uniqueUnits.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.ufm.{u2} N _inst_2 _inst_3) n))
but is expected to have type
forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] [_inst_6 : DecidableEq.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))}, (Ne.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) n (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instZeroAssociates.{u1} N (CommMonoidWithZero.toZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)) (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))) -> (forall (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Multiset.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Multiset.instMembershipMultiset.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))) (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u1} N _inst_2) (fun (a : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (b : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => _inst_6 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u1} N _inst_2) (Associates.uniqueUnits.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.ufm.{u1} N _inst_2 _inst_3) n))
Case conversion may be inaccurate. Consider using '#align mem_normalized_factors_factor_order_iso_of_mem_normalized_factors mem_normalizedFactors_factor_orderIso_of_mem_normalizedFactorsₓ'. -/
@@ -431,7 +431,7 @@ variable [DecidableRel ((· ∣ ·) : M → M → Prop)] [DecidableRel ((· ∣
/- warning: multiplicity_prime_le_multiplicity_image_by_factor_order_iso -> multiplicity_prime_le_multiplicity_image_by_factor_orderIso is a dubious translation:
lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_5 : DecidableRel.{succ u1} M (Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))] [_inst_6 : DecidableRel.{succ u2} N (Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))))] [_inst_7 : DecidableEq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))} (hp : Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Multiset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Multiset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m)) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))), LE.le.{0} PartENat PartENat.hasLe (multiplicity.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Associates.HasDvd.Dvd.decidableRel.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1) (fun (a : M) (b : M) => _inst_5 a b) a b) p m) (multiplicity.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.commMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (a : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (b : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Associates.HasDvd.Dvd.decidableRel.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2) (fun (a : N) (b : N) => _inst_6 a b) a b) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m p hp)))) n)
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_5 : DecidableRel.{succ u1} M (Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))] [_inst_6 : DecidableRel.{succ u2} N (Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))))] [_inst_7 : DecidableEq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))} (hp : Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Multiset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Multiset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m)) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))), LE.le.{0} PartENat PartENat.hasLe (multiplicity.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Associates.HasDvd.Dvd.decidableRel.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1) (fun (a : M) (b : M) => _inst_5 a b) a b) p m) (multiplicity.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.commMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (a : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (b : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Associates.HasDvd.Dvd.decidableRel.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2) (fun (a : N) (b : N) => _inst_6 a b) a b) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m p hp)))) n)
but is expected to have type
forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableRel.{succ u2} M (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4378 : M) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4380 : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4378 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4380)] [_inst_6 : DecidableRel.{succ u1} N (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4402 : N) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4404 : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4402 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4404)] [_inst_7 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))} (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), LE.le.{0} PartENat PartENat.instLEPartENat (multiplicity.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Associates.instDecidableRelAssociatesToMonoidToMonoidWithZeroDvdSemigroupDvdToSemigroupToSemigroupWithZeroInstCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1) (fun (a : M) (b : M) => _inst_5 a b) a b) p m) (multiplicity.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (a : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (b : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Associates.instDecidableRelAssociatesToMonoidToMonoidWithZeroDvdSemigroupDvdToSemigroupToSemigroupWithZeroInstCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2) (fun (a : N) (b : N) => _inst_6 a b) a b) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))) n)
Case conversion may be inaccurate. Consider using '#align multiplicity_prime_le_multiplicity_image_by_factor_order_iso multiplicity_prime_le_multiplicity_image_by_factor_orderIsoₓ'. -/
@@ -453,7 +453,7 @@ theorem multiplicity_prime_le_multiplicity_image_by_factor_orderIso [DecidableEq
/- warning: multiplicity_prime_eq_multiplicity_image_by_factor_order_iso -> multiplicity_prime_eq_multiplicity_image_by_factor_orderIso is a dubious translation:
lean 3 declaration is
- forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_5 : DecidableRel.{succ u1} M (Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))] [_inst_6 : DecidableRel.{succ u2} N (Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))))] [_inst_7 : DecidableEq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))}, (Ne.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) n (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (Zero.zero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasZero.{u2} N (MulZeroClass.toHasZero.{u2} N (MulZeroOneClass.toMulZeroClass.{u2} N (MonoidWithZero.toMulZeroOneClass.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))) -> (forall (hp : Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Multiset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Multiset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m)) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))), Eq.{1} PartENat (multiplicity.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Associates.HasDvd.Dvd.decidableRel.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1) (fun (a : M) (b : M) => _inst_5 a b) a b) p m) (multiplicity.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.commMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (a : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (b : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Associates.HasDvd.Dvd.decidableRel.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2) (fun (a : N) (b : N) => _inst_6 a b) a b) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m p hp)))) n))
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_5 : DecidableRel.{succ u1} M (Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))] [_inst_6 : DecidableRel.{succ u2} N (Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))))] [_inst_7 : DecidableEq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))}, (Ne.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) n (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (Zero.zero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasZero.{u2} N (MulZeroClass.toHasZero.{u2} N (MulZeroOneClass.toMulZeroClass.{u2} N (MonoidWithZero.toMulZeroOneClass.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))) -> (forall (hp : Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Multiset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Multiset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m)) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))), Eq.{1} PartENat (multiplicity.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Associates.HasDvd.Dvd.decidableRel.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1) (fun (a : M) (b : M) => _inst_5 a b) a b) p m) (multiplicity.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.commMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (a : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (b : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Associates.HasDvd.Dvd.decidableRel.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2) (fun (a : N) (b : N) => _inst_6 a b) a b) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toHasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toHasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m p hp)))) n))
but is expected to have type
forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableRel.{succ u2} M (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4604 : M) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4606 : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4604 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4606)] [_inst_6 : DecidableRel.{succ u1} N (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4628 : N) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4630 : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4628 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4630)] [_inst_7 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))}, (Ne.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) n (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instZeroAssociates.{u1} N (CommMonoidWithZero.toZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)) (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))) -> (forall (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), Eq.{1} PartENat (multiplicity.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Associates.instDecidableRelAssociatesToMonoidToMonoidWithZeroDvdSemigroupDvdToSemigroupToSemigroupWithZeroInstCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1) (fun (a : M) (b : M) => _inst_5 a b) a b) p m) (multiplicity.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (a : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (b : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Associates.instDecidableRelAssociatesToMonoidToMonoidWithZeroDvdSemigroupDvdToSemigroupToSemigroupWithZeroInstCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2) (fun (a : N) (b : N) => _inst_6 a b) a b) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))) n))
Case conversion may be inaccurate. Consider using '#align multiplicity_prime_eq_multiplicity_image_by_factor_order_iso multiplicity_prime_eq_multiplicity_image_by_factor_orderIsoₓ'. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/36b8aa61ea7c05727161f96a0532897bd72aedab
@@ -433,7 +433,7 @@ variable [DecidableRel ((· ∣ ·) : M → M → Prop)] [DecidableRel ((· ∣
lean 3 declaration is
forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_5 : DecidableRel.{succ u1} M (Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))] [_inst_6 : DecidableRel.{succ u2} N (Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))))] [_inst_7 : DecidableEq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))} (hp : Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Multiset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Multiset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m)) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))), LE.le.{0} PartENat PartENat.hasLe (multiplicity.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Associates.HasDvd.Dvd.decidableRel.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1) (fun (a : M) (b : M) => _inst_5 a b) a b) p m) (multiplicity.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.commMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (a : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (b : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Associates.HasDvd.Dvd.decidableRel.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2) (fun (a : N) (b : N) => _inst_6 a b) a b) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m p hp)))) n)
but is expected to have type
- forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableRel.{succ u2} M (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4380 : M) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4382 : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4380 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4382)] [_inst_6 : DecidableRel.{succ u1} N (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4404 : N) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4406 : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4404 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4406)] [_inst_7 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))} (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), LE.le.{0} PartENat PartENat.instLEPartENat (multiplicity.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Associates.instDecidableRelAssociatesToMonoidToMonoidWithZeroDvdSemigroupDvdToSemigroupToSemigroupWithZeroInstCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1) (fun (a : M) (b : M) => _inst_5 a b) a b) p m) (multiplicity.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (a : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (b : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Associates.instDecidableRelAssociatesToMonoidToMonoidWithZeroDvdSemigroupDvdToSemigroupToSemigroupWithZeroInstCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2) (fun (a : N) (b : N) => _inst_6 a b) a b) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))) n)
+ forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableRel.{succ u2} M (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4378 : M) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4380 : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4378 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4380)] [_inst_6 : DecidableRel.{succ u1} N (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4402 : N) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4404 : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4402 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4404)] [_inst_7 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))} (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), LE.le.{0} PartENat PartENat.instLEPartENat (multiplicity.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Associates.instDecidableRelAssociatesToMonoidToMonoidWithZeroDvdSemigroupDvdToSemigroupToSemigroupWithZeroInstCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1) (fun (a : M) (b : M) => _inst_5 a b) a b) p m) (multiplicity.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (a : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (b : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Associates.instDecidableRelAssociatesToMonoidToMonoidWithZeroDvdSemigroupDvdToSemigroupToSemigroupWithZeroInstCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2) (fun (a : N) (b : N) => _inst_6 a b) a b) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))) n)
Case conversion may be inaccurate. Consider using '#align multiplicity_prime_le_multiplicity_image_by_factor_order_iso multiplicity_prime_le_multiplicity_image_by_factor_orderIsoₓ'. -/
theorem multiplicity_prime_le_multiplicity_image_by_factor_orderIso [DecidableEq (Associates M)]
{m p : Associates M} {n : Associates N} (hp : p ∈ normalizedFactors m)
@@ -455,7 +455,7 @@ theorem multiplicity_prime_le_multiplicity_image_by_factor_orderIso [DecidableEq
lean 3 declaration is
forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_5 : DecidableRel.{succ u1} M (Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))] [_inst_6 : DecidableRel.{succ u2} N (Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))))] [_inst_7 : DecidableEq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))}, (Ne.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) n (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (Zero.zero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasZero.{u2} N (MulZeroClass.toHasZero.{u2} N (MulZeroOneClass.toMulZeroClass.{u2} N (MonoidWithZero.toMulZeroOneClass.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))) -> (forall (hp : Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Multiset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Multiset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m)) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))), Eq.{1} PartENat (multiplicity.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Associates.HasDvd.Dvd.decidableRel.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1) (fun (a : M) (b : M) => _inst_5 a b) a b) p m) (multiplicity.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.commMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (a : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (b : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Associates.HasDvd.Dvd.decidableRel.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2) (fun (a : N) (b : N) => _inst_6 a b) a b) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m p hp)))) n))
but is expected to have type
- forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableRel.{succ u2} M (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4606 : M) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4608 : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4606 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4608)] [_inst_6 : DecidableRel.{succ u1} N (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4630 : N) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4632 : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4630 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4632)] [_inst_7 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))}, (Ne.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) n (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instZeroAssociates.{u1} N (CommMonoidWithZero.toZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)) (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))) -> (forall (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), Eq.{1} PartENat (multiplicity.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Associates.instDecidableRelAssociatesToMonoidToMonoidWithZeroDvdSemigroupDvdToSemigroupToSemigroupWithZeroInstCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1) (fun (a : M) (b : M) => _inst_5 a b) a b) p m) (multiplicity.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (a : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (b : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Associates.instDecidableRelAssociatesToMonoidToMonoidWithZeroDvdSemigroupDvdToSemigroupToSemigroupWithZeroInstCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2) (fun (a : N) (b : N) => _inst_6 a b) a b) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))) n))
+ forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableRel.{succ u2} M (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4604 : M) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4606 : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4604 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4606)] [_inst_6 : DecidableRel.{succ u1} N (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4628 : N) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4630 : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4628 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4630)] [_inst_7 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))}, (Ne.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) n (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instZeroAssociates.{u1} N (CommMonoidWithZero.toZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)) (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))) -> (forall (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), Eq.{1} PartENat (multiplicity.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Associates.instDecidableRelAssociatesToMonoidToMonoidWithZeroDvdSemigroupDvdToSemigroupToSemigroupWithZeroInstCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1) (fun (a : M) (b : M) => _inst_5 a b) a b) p m) (multiplicity.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (a : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (b : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Associates.instDecidableRelAssociatesToMonoidToMonoidWithZeroDvdSemigroupDvdToSemigroupToSemigroupWithZeroInstCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2) (fun (a : N) (b : N) => _inst_6 a b) a b) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))) n))
Case conversion may be inaccurate. Consider using '#align multiplicity_prime_eq_multiplicity_image_by_factor_order_iso multiplicity_prime_eq_multiplicity_image_by_factor_orderIsoₓ'. -/
theorem multiplicity_prime_eq_multiplicity_image_by_factor_orderIso [DecidableEq (Associates M)]
{m p : Associates M} {n : Associates N} (hn : n ≠ 0) (hp : p ∈ normalizedFactors m)
@@ -571,7 +571,7 @@ variable [DecidableRel ((· ∣ ·) : M → M → Prop)] [DecidableRel ((· ∣
lean 3 declaration is
forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : Unique.{succ u1} (Units.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] [_inst_4 : Unique.{succ u2} (Units.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))] [_inst_5 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_6 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_7 : DecidableEq.{succ u1} M] [_inst_8 : DecidableRel.{succ u1} M (Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))] [_inst_9 : DecidableRel.{succ u2} N (Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))))] {m : M} {p : M} {n : N}, (Ne.{succ u1} M m (OfNat.ofNat.{u1} M 0 (OfNat.mk.{u1} M 0 (Zero.zero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))))) -> (Ne.{succ u2} N n (OfNat.ofNat.{u2} N 0 (OfNat.mk.{u2} N 0 (Zero.zero.{u2} N (MulZeroClass.toHasZero.{u2} N (MulZeroOneClass.toMulZeroClass.{u2} N (MonoidWithZero.toMulZeroOneClass.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))))))) -> (forall (hp : Membership.Mem.{u1, u1} M (Multiset.{u1} M) (Multiset.hasMem.{u1} M) p (UniqueFactorizationMonoid.normalizedFactors.{u1} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} M _inst_1 _inst_3) _inst_5 m)) {d : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))}, (forall (l : Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (l' : Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)), Iff (Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (HasLiftT.mk.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (CoeTCₓ.coe.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeBase.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeSubtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))))) (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (fun (_x : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) => (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) -> (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Equiv.hasCoeToFun.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d l)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (HasLiftT.mk.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (CoeTCₓ.coe.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeBase.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeSubtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))))) (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (fun (_x : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) => (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) -> (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Equiv.hasCoeToFun.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d l'))) (Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (HasLiftT.mk.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (CoeTCₓ.coe.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (coeBase.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (coeSubtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m))))) l) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (HasLiftT.mk.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (CoeTCₓ.coe.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (coeBase.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (coeSubtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m))))) l'))) -> (Eq.{1} PartENat (multiplicity.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) (fun (a : N) (b : N) => _inst_9 a b) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (HasLiftT.mk.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (CoeTCₓ.coe.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeBase.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeSubtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))))) (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (fun (_x : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) => (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) -> (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Equiv.hasCoeToFun.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d (Subtype.mk.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} M _inst_1 _inst_3) _inst_5 m p hp)))) n) (multiplicity.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) (fun (a : M) (b : M) => _inst_8 a b) p m)))
but is expected to have type
- forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : Unique.{succ u2} (Units.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] [_inst_4 : Unique.{succ u1} (Units.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))] [_inst_5 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_6 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_7 : DecidableEq.{succ u2} M] [_inst_8 : DecidableRel.{succ u2} M (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5761 : M) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5763 : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5761 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5763)] [_inst_9 : DecidableRel.{succ u1} N (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5785 : N) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5787 : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5785 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5787)] {m : M} {p : M} {n : N}, (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (CommMonoidWithZero.toZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) -> (Ne.{succ u1} N n (OfNat.ofNat.{u1} N 0 (Zero.toOfNat0.{u1} N (CommMonoidWithZero.toZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) -> (forall (hp : Membership.mem.{u2, u2} M (Multiset.{u2} M) (Multiset.instMembershipMultiset.{u2} M) p (UniqueFactorizationMonoid.normalizedFactors.{u2} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} M _inst_1 _inst_3) _inst_5 m)) {d : Equiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))}, (forall (l : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (l' : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)), Iff (Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Subtype.val.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Equiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) d l)) (Subtype.val.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Equiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) d l'))) (Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Subtype.val.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m) l) (Subtype.val.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m) l'))) -> (Eq.{1} PartENat (multiplicity.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) (fun (a : N) (b : N) => _inst_9 a b) (Subtype.val.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Equiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) d (Subtype.mk.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} M _inst_1 _inst_3) _inst_5 m p hp)))) n) (multiplicity.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) (fun (a : M) (b : M) => _inst_8 a b) p m)))
+ forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : Unique.{succ u2} (Units.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] [_inst_4 : Unique.{succ u1} (Units.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))] [_inst_5 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_6 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_7 : DecidableEq.{succ u2} M] [_inst_8 : DecidableRel.{succ u2} M (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5759 : M) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5761 : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5759 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5761)] [_inst_9 : DecidableRel.{succ u1} N (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5783 : N) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5785 : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5783 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5785)] {m : M} {p : M} {n : N}, (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (CommMonoidWithZero.toZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) -> (Ne.{succ u1} N n (OfNat.ofNat.{u1} N 0 (Zero.toOfNat0.{u1} N (CommMonoidWithZero.toZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) -> (forall (hp : Membership.mem.{u2, u2} M (Multiset.{u2} M) (Multiset.instMembershipMultiset.{u2} M) p (UniqueFactorizationMonoid.normalizedFactors.{u2} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} M _inst_1 _inst_3) _inst_5 m)) {d : Equiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))}, (forall (l : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (l' : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)), Iff (Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Subtype.val.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Equiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) d l)) (Subtype.val.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Equiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) d l'))) (Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Subtype.val.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m) l) (Subtype.val.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m) l'))) -> (Eq.{1} PartENat (multiplicity.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) (fun (a : N) (b : N) => _inst_9 a b) (Subtype.val.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Equiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) d (Subtype.mk.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} M _inst_1 _inst_3) _inst_5 m p hp)))) n) (multiplicity.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) (fun (a : M) (b : M) => _inst_8 a b) p m)))
Case conversion may be inaccurate. Consider using '#align multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalized_factor multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalizedFactorsₓ'. -/
theorem multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalizedFactors {m p : M} {n : N}
(hm : m ≠ 0) (hn : n ≠ 0) (hp : p ∈ normalizedFactors m)
mathlib commit https://github.com/leanprover-community/mathlib/commit/52932b3a083d4142e78a15dc928084a22fea9ba0
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Anne Baanen, Paul Lezeau
! This file was ported from Lean 3 source module ring_theory.chain_of_divisors
-! leanprover-community/mathlib commit f694c7dead66f5d4c80f446c796a5aad14707f0e
+! leanprover-community/mathlib commit 86d1873c01a723aba6788f0b9051ae3d23b4c1c3
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -17,6 +17,9 @@ import Mathbin.Algebra.GcdMonoid.Basic
# Chains of divisors
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
The results in this file show that in the monoid `associates M` of a `unique_factorization_monoid`
`M`, an element `a` is an n-th prime power iff its set of divisors is a strictly increasing chain
of length `n + 1`, meaning that we can find a strictly increasing bijection between `fin (n + 1)`
mathlib commit https://github.com/leanprover-community/mathlib/commit/730c6d4cab72b9d84fcfb9e95e8796e9cd8f40ba
@@ -43,6 +43,12 @@ and the set of factors of `a`.
variable {M : Type _} [CancelCommMonoidWithZero M]
+/- warning: associates.is_atom_iff -> Associates.isAtom_iff is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) p (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (OfNat.mk.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.zero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.hasZero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))))) -> (Iff (IsAtom.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) (Associates.orderBot.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) p) (Irreducible.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) p))
+but is expected to have type
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) p (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instZeroAssociates.{u1} M (CommMonoidWithZero.toZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))) -> (Iff (IsAtom.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) (Associates.instOrderBotAssociatesToMonoidToLEInstPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) p) (Irreducible.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) p))
+Case conversion may be inaccurate. Consider using '#align associates.is_atom_iff Associates.isAtom_iffₓ'. -/
theorem Associates.isAtom_iff {p : Associates M} (h₁ : p ≠ 0) : IsAtom p ↔ Irreducible p :=
⟨fun hp =>
⟨by simpa only [Associates.isUnit_iff_eq_one] using hp.1, fun a b h =>
@@ -68,6 +74,12 @@ open UniqueFactorizationMonoid multiplicity Irreducible Associates
namespace DivisorChain
+/- warning: divisor_chain.exists_chain_of_prime_pow -> DivisorChain.exists_chain_of_prime_pow is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (Prime.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) p) -> (Exists.{succ u1} ((Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (fun (c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) => And (Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (One.one.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasOneOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n)))))) p) (And (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (HPow.hPow.{u1, 0, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (instHPow.{u1, 0} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Monoid.Pow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) p n)) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))))))
+but is expected to have type
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (Prime.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) p) -> (Exists.{succ u1} ((Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (fun (c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) => And (Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 1 (Fin.instOfNatFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) 1 (NeZero.succ n)))) p) (And (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin.instPartialOrderFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (HPow.hPow.{u1, 0, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (instHPow.{u1, 0} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Monoid.Pow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) p n)) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))))))
+Case conversion may be inaccurate. Consider using '#align divisor_chain.exists_chain_of_prime_pow DivisorChain.exists_chain_of_prime_powₓ'. -/
theorem exists_chain_of_prime_pow {p : Associates M} {n : ℕ} (hn : n ≠ 0) (hp : Prime p) :
∃ c : Fin (n + 1) → Associates M,
c 1 = p ∧ StrictMono c ∧ ∀ {r : Associates M}, r ≤ p ^ n ↔ ∃ i, r = c i :=
@@ -88,6 +100,12 @@ theorem exists_chain_of_prime_pow {p : Associates M} {n : ℕ} (hn : n ≠ 0) (h
exact ⟨p ^ (n - i : ℕ), (pow_mul_pow_sub p (nat.succ_le_succ_iff.mp i.2)).symm⟩
#align divisor_chain.exists_chain_of_prime_pow DivisorChain.exists_chain_of_prime_pow
+/- warning: divisor_chain.element_of_chain_not_is_unit_of_index_ne_zero -> DivisorChain.element_of_chain_not_isUnit_of_index_ne_zero is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {n : Nat} {i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))}, (Ne.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) i (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 0 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 0 (Zero.zero.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasZeroOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n)))))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (Not (IsUnit.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (c i))))
+but is expected to have type
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {n : Nat} {i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))}, (Ne.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) i (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 0 (Fin.instOfNatFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) 0 (NeZero.succ n)))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin.instPartialOrderFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (Not (IsUnit.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (c i))))
+Case conversion may be inaccurate. Consider using '#align divisor_chain.element_of_chain_not_is_unit_of_index_ne_zero DivisorChain.element_of_chain_not_isUnit_of_index_ne_zeroₓ'. -/
theorem element_of_chain_not_isUnit_of_index_ne_zero {n : ℕ} {i : Fin (n + 1)} (i_pos : i ≠ 0)
{c : Fin (n + 1) → Associates M} (h₁ : StrictMono c) : ¬IsUnit (c i) :=
DvdNotUnit.not_unit
@@ -95,6 +113,12 @@ theorem element_of_chain_not_isUnit_of_index_ne_zero {n : ℕ} {i : Fin (n + 1)}
(h₁ <| show (0 : Fin (n + 1)) < i from i.pos_iff_ne_zero.mpr i_pos))
#align divisor_chain.element_of_chain_not_is_unit_of_index_ne_zero DivisorChain.element_of_chain_not_isUnit_of_index_ne_zero
+/- warning: divisor_chain.first_of_chain_is_unit -> DivisorChain.first_of_chain_isUnit is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat} {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (IsUnit.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 0 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 0 (Zero.zero.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasZeroOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n)))))))
+but is expected to have type
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat} {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin.instPartialOrderFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (IsUnit.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 0 (Fin.instOfNatFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) 0 (NeZero.succ n)))))
+Case conversion may be inaccurate. Consider using '#align divisor_chain.first_of_chain_is_unit DivisorChain.first_of_chain_isUnitₓ'. -/
theorem first_of_chain_isUnit {q : Associates M} {n : ℕ} {c : Fin (n + 1) → Associates M}
(h₁ : StrictMono c) (h₂ : ∀ {r}, r ≤ q ↔ ∃ i, r = c i) : IsUnit (c 0) :=
by
@@ -103,6 +127,12 @@ theorem first_of_chain_isUnit {q : Associates M} {n : ℕ} {c : Fin (n + 1) →
exact h₁.monotone (Fin.zero_le i)
#align divisor_chain.first_of_chain_is_unit DivisorChain.first_of_chain_isUnit
+/- warning: divisor_chain.second_of_chain_is_irreducible -> DivisorChain.second_of_chain_is_irreducible is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (OfNat.mk.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.zero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.hasZero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))))) -> (Irreducible.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (One.one.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasOneOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n))))))))
+but is expected to have type
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin.instPartialOrderFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instZeroAssociates.{u1} M (CommMonoidWithZero.toZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))) -> (Irreducible.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 1 (Fin.instOfNatFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) 1 (NeZero.succ n))))))
+Case conversion may be inaccurate. Consider using '#align divisor_chain.second_of_chain_is_irreducible DivisorChain.second_of_chain_is_irreducibleₓ'. -/
/-- The second element of a chain is irreducible. -/
theorem second_of_chain_is_irreducible {q : Associates M} {n : ℕ} (hn : n ≠ 0)
{c : Fin (n + 1) → Associates M} (h₁ : StrictMono c) (h₂ : ∀ {r}, r ≤ q ↔ ∃ i, r = c i)
@@ -116,6 +146,12 @@ theorem second_of_chain_is_irreducible {q : Associates M} {n : ℕ} (hn : n ≠
· simpa [Fin.lt_iff_val_lt_val] using h₁.lt_iff_lt.mp hb
#align divisor_chain.second_of_chain_is_irreducible DivisorChain.second_of_chain_is_irreducible
+/- warning: divisor_chain.eq_second_of_chain_of_prime_dvd -> DivisorChain.eq_second_of_chain_of_prime_dvd is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Prime.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) p) -> (Dvd.Dvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (semigroupDvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (SemigroupWithZero.toSemigroup.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toSemigroupWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) r q) -> (Dvd.Dvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (semigroupDvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (SemigroupWithZero.toSemigroup.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toSemigroupWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) p r) -> (Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) p (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (One.one.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasOneOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n))))))))
+but is expected to have type
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin.instPartialOrderFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Prime.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) p) -> (Dvd.dvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (semigroupDvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (SemigroupWithZero.toSemigroup.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toSemigroupWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) r q) -> (Dvd.dvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (semigroupDvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (SemigroupWithZero.toSemigroup.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toSemigroupWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) p r) -> (Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) p (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 1 (Fin.instOfNatFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) 1 (NeZero.succ n))))))
+Case conversion may be inaccurate. Consider using '#align divisor_chain.eq_second_of_chain_of_prime_dvd DivisorChain.eq_second_of_chain_of_prime_dvdₓ'. -/
theorem eq_second_of_chain_of_prime_dvd {p q r : Associates M} {n : ℕ} (hn : n ≠ 0)
{c : Fin (n + 1) → Associates M} (h₁ : StrictMono c)
(h₂ : ∀ {r : Associates M}, r ≤ q ↔ ∃ i, r = c i) (hp : Prime p) (hr : r ∣ q) (hp' : p ∣ r) :
@@ -140,6 +176,12 @@ theorem eq_second_of_chain_of_prime_dvd {p q r : Associates M} {n : ℕ} (hn : n
simpa only [Fin.coe_eq_castSucc] using Fin.lt_succ
#align divisor_chain.eq_second_of_chain_of_prime_dvd DivisorChain.eq_second_of_chain_of_prime_dvd
+/- warning: divisor_chain.card_subset_divisors_le_length_of_chain -> DivisorChain.card_subset_divisors_le_length_of_chain is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat} {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (forall {m : Finset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (forall (r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))), (Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Finset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Finset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) r m) -> (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q)) -> (LE.le.{0} Nat Nat.hasLe (Finset.card.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) m) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))))
+but is expected to have type
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat} {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (forall {m : Finset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (forall (r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))), (Membership.mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Finset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Finset.instMembershipFinset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) r m) -> (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q)) -> (LE.le.{0} Nat instLENat (Finset.card.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) m) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))))
+Case conversion may be inaccurate. Consider using '#align divisor_chain.card_subset_divisors_le_length_of_chain DivisorChain.card_subset_divisors_le_length_of_chainₓ'. -/
theorem card_subset_divisors_le_length_of_chain {q : Associates M} {n : ℕ}
{c : Fin (n + 1) → Associates M} (h₂ : ∀ {r}, r ≤ q ↔ ∃ i, r = c i) {m : Finset (Associates M)}
(hm : ∀ r, r ∈ m → r ≤ q) : m.card ≤ n + 1 := by
@@ -155,6 +197,12 @@ theorem card_subset_divisors_le_length_of_chain {q : Associates M} {n : ℕ}
variable [UniqueFactorizationMonoid M]
+/- warning: divisor_chain.element_of_chain_eq_pow_second_of_chain -> DivisorChain.element_of_chain_eq_pow_second_of_chain is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] [_inst_2 : UniqueFactorizationMonoid.{u1} M _inst_1] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Dvd.Dvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (semigroupDvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (SemigroupWithZero.toSemigroup.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toSemigroupWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) r q) -> (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (OfNat.mk.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.zero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.hasZero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))))) -> (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (HPow.hPow.{u1, 0, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (instHPow.{u1, 0} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Monoid.Pow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (One.one.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasOneOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n)))))) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) Nat (HasLiftT.mk.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) Nat (CoeTCₓ.coe.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) Nat (coeBase.{1, 1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) Nat (Fin.coeToNat (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))))) i)))))
+but is expected to have type
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] [_inst_2 : UniqueFactorizationMonoid.{u1} M _inst_1] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin.instPartialOrderFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Dvd.dvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (semigroupDvd.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (SemigroupWithZero.toSemigroup.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toSemigroupWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) r q) -> (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instZeroAssociates.{u1} M (CommMonoidWithZero.toZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))) -> (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (HPow.hPow.{u1, 0, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (instHPow.{u1, 0} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Monoid.Pow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 1 (Fin.instOfNatFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) 1 (NeZero.succ n)))) (Fin.val (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) i)))))
+Case conversion may be inaccurate. Consider using '#align divisor_chain.element_of_chain_eq_pow_second_of_chain DivisorChain.element_of_chain_eq_pow_second_of_chainₓ'. -/
theorem element_of_chain_eq_pow_second_of_chain {q r : Associates M} {n : ℕ} (hn : n ≠ 0)
{c : Fin (n + 1) → Associates M} (h₁ : StrictMono c) (h₂ : ∀ {r}, r ≤ q ↔ ∃ i, r = c i)
(hr : r ∣ q) (hq : q ≠ 0) : ∃ i : Fin (n + 1), r = c 1 ^ (i : ℕ) := by
@@ -195,6 +243,12 @@ theorem element_of_chain_eq_pow_second_of_chain {q r : Associates M} {n : ℕ} (
· exact nat.succ_le_succ_iff.mp a.2
#align divisor_chain.element_of_chain_eq_pow_second_of_chain DivisorChain.element_of_chain_eq_pow_second_of_chain
+/- warning: divisor_chain.eq_pow_second_of_chain_of_has_chain -> DivisorChain.eq_pow_second_of_chain_of_has_chain is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] [_inst_2 : UniqueFactorizationMonoid.{u1} M _inst_1] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (OfNat.mk.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.zero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.hasZero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))))) -> (Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (HPow.hPow.{u1, 0, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (instHPow.{u1, 0} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Monoid.Pow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (OfNat.mk.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) 1 (One.one.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne))) (Fin.hasOneOfNeZero (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (One.one.{0} Nat Nat.hasOne)) (NeZero.succ n)))))) n)))
+but is expected to have type
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] [_inst_2 : UniqueFactorizationMonoid.{u1} M _inst_1] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin.instPartialOrderFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instZeroAssociates.{u1} M (CommMonoidWithZero.toZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))) -> (Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (HPow.hPow.{u1, 0, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (instHPow.{u1, 0} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Monoid.Pow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) (c (OfNat.ofNat.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) 1 (Fin.instOfNatFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) 1 (NeZero.succ n)))) n)))
+Case conversion may be inaccurate. Consider using '#align divisor_chain.eq_pow_second_of_chain_of_has_chain DivisorChain.eq_pow_second_of_chain_of_has_chainₓ'. -/
theorem eq_pow_second_of_chain_of_has_chain {q : Associates M} {n : ℕ} (hn : n ≠ 0)
{c : Fin (n + 1) → Associates M} (h₁ : StrictMono c)
(h₂ : ∀ {r : Associates M}, r ≤ q ↔ ∃ i, r = c i) (hq : q ≠ 0) : q = c 1 ^ n := by
@@ -222,6 +276,12 @@ theorem eq_pow_second_of_chain_of_has_chain {q : Associates M} {n : ℕ} (hn : n
exact second_of_chain_is_irreducible hn h₁ (@h₂) hq
#align divisor_chain.eq_pow_second_of_chain_of_has_chain DivisorChain.eq_pow_second_of_chain_of_has_chain
+/- warning: divisor_chain.is_prime_pow_of_has_chain -> DivisorChain.isPrimePow_of_has_chain is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] [_inst_2 : UniqueFactorizationMonoid.{u1} M _inst_1] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Fin.partialOrder (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (OfNat.mk.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.zero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.hasZero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))))) -> (IsPrimePow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) q))
+but is expected to have type
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] [_inst_2 : UniqueFactorizationMonoid.{u1} M _inst_1] {q : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (forall {c : (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) -> (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))}, (StrictMono.{0, u1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (PartialOrder.toPreorder.{0} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Fin.instPartialOrderFin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) c) -> (forall {r : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))}, Iff (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r q) (Exists.{1} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) r (c i)))) -> (Ne.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) q (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instZeroAssociates.{u1} M (CommMonoidWithZero.toZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))) -> (IsPrimePow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)) q))
+Case conversion may be inaccurate. Consider using '#align divisor_chain.is_prime_pow_of_has_chain DivisorChain.isPrimePow_of_has_chainₓ'. -/
theorem isPrimePow_of_has_chain {q : Associates M} {n : ℕ} (hn : n ≠ 0)
{c : Fin (n + 1) → Associates M} (h₁ : StrictMono c)
(h₂ : ∀ {r : Associates M}, r ≤ q ↔ ∃ i, r = c i) (hq : q ≠ 0) : IsPrimePow q :=
@@ -233,6 +293,12 @@ end DivisorChain
variable {N : Type _} [CancelCommMonoidWithZero N]
+/- warning: factor_order_iso_map_one_eq_bot -> factor_orderIso_map_one_eq_bot is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))} (d : OrderIso.{u1, u2} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n))), Eq.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n))) (fun (_x : RelIso.{u1, u2} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m))) (LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)))) => (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) -> (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n))) (RelIso.hasCoeToFun.{u1, u2} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m))) (LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (l : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) l n)))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (l : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) l m) (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 1 (OfNat.mk.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 1 (One.one.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MulOneClass.toHasOne.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Monoid.toMulOneClass.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))))) (one_dvd.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) m)))) (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 1 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 1 (One.one.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasOne.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))
+but is expected to have type
+ forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))} (d : OrderIso.{u2, u1} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n))), Eq.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) => LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) => LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (fun (_x : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) => Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) => LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) => LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) => LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) => LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u2, u1} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) => LE.le.{u2} (Subtype.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m)) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) => LE.le.{u1} (Subtype.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (l : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) l n)) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (l : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) l m) (OfNat.ofNat.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) 1 (One.toOfNat1.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instOneAssociates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))))) (one_dvd.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) m)))) (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 1 (One.toOfNat1.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instOneAssociates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))
+Case conversion may be inaccurate. Consider using '#align factor_order_iso_map_one_eq_bot factor_orderIso_map_one_eq_botₓ'. -/
theorem factor_orderIso_map_one_eq_bot {m : Associates M} {n : Associates N}
(d : { l : Associates M // l ≤ m } ≃o { l : Associates N // l ≤ n }) :
(d ⟨1, one_dvd m⟩ : Associates N) = 1 :=
@@ -242,6 +308,12 @@ theorem factor_orderIso_map_one_eq_bot {m : Associates M} {n : Associates N}
simp [← Associates.bot_eq_one]
#align factor_order_iso_map_one_eq_bot factor_orderIso_map_one_eq_bot
+/- warning: coe_factor_order_iso_map_eq_one_iff -> coe_factor_orderIso_map_eq_one_iff is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {u : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))} (hu' : LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) u m) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))), Iff (Eq.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) u hu'))) (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 1 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 1 (One.one.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasOne.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))) (Eq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) u (OfNat.ofNat.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 1 (OfNat.mk.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) 1 (One.one.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.hasOne.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))))
+but is expected to have type
+ forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {u : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))} (hu' : LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) u m) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), Iff (Eq.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) u hu'))) (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 1 (One.toOfNat1.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instOneAssociates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))) (Eq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) u (OfNat.ofNat.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) 1 (One.toOfNat1.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instOneAssociates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))))))
+Case conversion may be inaccurate. Consider using '#align coe_factor_order_iso_map_eq_one_iff coe_factor_orderIso_map_eq_one_iffₓ'. -/
theorem coe_factor_orderIso_map_eq_one_iff {m u : Associates M} {n : Associates N} (hu' : u ≤ m)
(d : Set.Iic m ≃o Set.Iic n) : (d ⟨u, hu'⟩ : Associates N) = 1 ↔ u = 1 :=
⟨fun hu =>
@@ -260,6 +332,12 @@ variable [UniqueFactorizationMonoid N] [UniqueFactorizationMonoid M]
open DivisorChain
+/- warning: pow_image_of_prime_by_factor_order_iso_dvd -> pow_image_of_prime_by_factor_orderIso_dvd is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_5 : DecidableEq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))}, (Ne.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) n (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (Zero.zero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasZero.{u2} N (MulZeroClass.toHasZero.{u2} N (MulZeroOneClass.toMulZeroClass.{u2} N (MonoidWithZero.toMulZeroOneClass.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))) -> (forall (hp : Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Multiset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Multiset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m)) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) {s : Nat}, (LE.le.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (HPow.hPow.{u1, 0, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (instHPow.{u1, 0} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) Nat (Monoid.Pow.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))))) p s) m) -> (LE.le.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HPow.hPow.{u2, 0, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) Nat (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (instHPow.{u2, 0} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) Nat (Monoid.Pow.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.commMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m p hp)))) s) n))
+but is expected to have type
+ forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))}, (Ne.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) n (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instZeroAssociates.{u1} N (CommMonoidWithZero.toZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)) (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))) -> (forall (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))) {s : Nat}, (LE.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (HPow.hPow.{u2, 0, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) Nat (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (instHPow.{u2, 0} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) Nat (Monoid.Pow.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))))) p s) m) -> (LE.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (HPow.hPow.{u1, 0, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) Nat (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (instHPow.{u1, 0} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) Nat (Monoid.Pow.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))))) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))) s) n))
+Case conversion may be inaccurate. Consider using '#align pow_image_of_prime_by_factor_order_iso_dvd pow_image_of_prime_by_factor_orderIso_dvdₓ'. -/
theorem pow_image_of_prime_by_factor_orderIso_dvd [DecidableEq (Associates M)] {m p : Associates M}
{n : Associates N} (hn : n ≠ 0) (hp : p ∈ normalizedFactors m) (d : Set.Iic m ≃o Set.Iic n)
{s : ℕ} (hs' : p ^ s ≤ m) : (d ⟨p, dvd_of_mem_normalizedFactors hp⟩ : Associates N) ^ s ≤ n :=
@@ -293,6 +371,12 @@ theorem pow_image_of_prime_by_factor_orderIso_dvd [DecidableEq (Associates M)] {
exact ne_zero_of_dvd_ne_zero hn (Subtype.prop (d ⟨c₁ 1 ^ s, _⟩))
#align pow_image_of_prime_by_factor_order_iso_dvd pow_image_of_prime_by_factor_orderIso_dvd
+/- warning: map_prime_of_factor_order_iso -> map_prime_of_factor_orderIso is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_5 : DecidableEq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))}, (Ne.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) n (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (Zero.zero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasZero.{u2} N (MulZeroClass.toHasZero.{u2} N (MulZeroOneClass.toMulZeroClass.{u2} N (MonoidWithZero.toMulZeroOneClass.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))) -> (forall (hp : Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Multiset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Multiset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m)) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))), Prime.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.commMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m p hp)))))
+but is expected to have type
+ forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))}, (Ne.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) n (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instZeroAssociates.{u1} N (CommMonoidWithZero.toZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)) (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))) -> (forall (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), Prime.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))))
+Case conversion may be inaccurate. Consider using '#align map_prime_of_factor_order_iso map_prime_of_factor_orderIsoₓ'. -/
theorem map_prime_of_factor_orderIso [DecidableEq (Associates M)] {m p : Associates M}
{n : Associates N} (hn : n ≠ 0) (hp : p ∈ normalizedFactors m) (d : Set.Iic m ≃o Set.Iic n) :
Prime (d ⟨p, dvd_of_mem_normalizedFactors hp⟩ : Associates N) :=
@@ -322,6 +406,12 @@ theorem map_prime_of_factor_orderIso [DecidableEq (Associates M)] {m p : Associa
exact bot_le
#align map_prime_of_factor_order_iso map_prime_of_factor_orderIso
+/- warning: mem_normalized_factors_factor_order_iso_of_mem_normalized_factors -> mem_normalizedFactors_factor_orderIso_of_mem_normalizedFactors is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_5 : DecidableEq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] [_inst_6 : DecidableEq.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))}, (Ne.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) n (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (Zero.zero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasZero.{u2} N (MulZeroClass.toHasZero.{u2} N (MulZeroOneClass.toMulZeroClass.{u2} N (MonoidWithZero.toMulZeroOneClass.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))) -> (forall (hp : Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Multiset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Multiset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m)) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))), Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Multiset.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Multiset.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m p hp)))) (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.cancelCommMonoidWithZero.{u2} N _inst_2) (fun (a : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (b : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => _inst_6 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.cancelCommMonoidWithZero.{u2} N _inst_2) (Associates.uniqueUnits.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.ufm.{u2} N _inst_2 _inst_3) n))
+but is expected to have type
+ forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] [_inst_6 : DecidableEq.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))}, (Ne.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) n (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instZeroAssociates.{u1} N (CommMonoidWithZero.toZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)) (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))) -> (forall (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Multiset.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Multiset.instMembershipMultiset.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_5 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))) (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u1} N _inst_2) (fun (a : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (b : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => _inst_6 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u1} N _inst_2) (Associates.uniqueUnits.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.ufm.{u1} N _inst_2 _inst_3) n))
+Case conversion may be inaccurate. Consider using '#align mem_normalized_factors_factor_order_iso_of_mem_normalized_factors mem_normalizedFactors_factor_orderIso_of_mem_normalizedFactorsₓ'. -/
theorem mem_normalizedFactors_factor_orderIso_of_mem_normalizedFactors [DecidableEq (Associates M)]
[DecidableEq (Associates N)] {m p : Associates M} {n : Associates N} (hn : n ≠ 0)
(hp : p ∈ normalizedFactors m) (d : Set.Iic m ≃o Set.Iic n) :
@@ -336,6 +426,12 @@ theorem mem_normalizedFactors_factor_orderIso_of_mem_normalizedFactors [Decidabl
variable [DecidableRel ((· ∣ ·) : M → M → Prop)] [DecidableRel ((· ∣ ·) : N → N → Prop)]
+/- warning: multiplicity_prime_le_multiplicity_image_by_factor_order_iso -> multiplicity_prime_le_multiplicity_image_by_factor_orderIso is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_5 : DecidableRel.{succ u1} M (Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))] [_inst_6 : DecidableRel.{succ u2} N (Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))))] [_inst_7 : DecidableEq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))} (hp : Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Multiset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Multiset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m)) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))), LE.le.{0} PartENat PartENat.hasLe (multiplicity.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Associates.HasDvd.Dvd.decidableRel.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1) (fun (a : M) (b : M) => _inst_5 a b) a b) p m) (multiplicity.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.commMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (a : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (b : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Associates.HasDvd.Dvd.decidableRel.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2) (fun (a : N) (b : N) => _inst_6 a b) a b) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m p hp)))) n)
+but is expected to have type
+ forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableRel.{succ u2} M (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4380 : M) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4382 : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4380 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4382)] [_inst_6 : DecidableRel.{succ u1} N (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4404 : N) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4406 : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4404 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4406)] [_inst_7 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))} (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), LE.le.{0} PartENat PartENat.instLEPartENat (multiplicity.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Associates.instDecidableRelAssociatesToMonoidToMonoidWithZeroDvdSemigroupDvdToSemigroupToSemigroupWithZeroInstCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1) (fun (a : M) (b : M) => _inst_5 a b) a b) p m) (multiplicity.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (a : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (b : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Associates.instDecidableRelAssociatesToMonoidToMonoidWithZeroDvdSemigroupDvdToSemigroupToSemigroupWithZeroInstCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2) (fun (a : N) (b : N) => _inst_6 a b) a b) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))) n)
+Case conversion may be inaccurate. Consider using '#align multiplicity_prime_le_multiplicity_image_by_factor_order_iso multiplicity_prime_le_multiplicity_image_by_factor_orderIsoₓ'. -/
theorem multiplicity_prime_le_multiplicity_image_by_factor_orderIso [DecidableEq (Associates M)]
{m p : Associates M} {n : Associates N} (hp : p ∈ normalizedFactors m)
(d : Set.Iic m ≃o Set.Iic n) :
@@ -352,6 +448,12 @@ theorem multiplicity_prime_le_multiplicity_image_by_factor_orderIso [DecidableEq
exact pow_image_of_prime_by_factor_orderIso_dvd hn hp d (pow_multiplicity_dvd _)
#align multiplicity_prime_le_multiplicity_image_by_factor_order_iso multiplicity_prime_le_multiplicity_image_by_factor_orderIso
+/- warning: multiplicity_prime_eq_multiplicity_image_by_factor_order_iso -> multiplicity_prime_eq_multiplicity_image_by_factor_orderIso is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_5 : DecidableRel.{succ u1} M (Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))] [_inst_6 : DecidableRel.{succ u2} N (Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))))] [_inst_7 : DecidableEq.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] {m : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {p : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))} {n : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))}, (Ne.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) n (OfNat.ofNat.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (OfNat.mk.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) 0 (Zero.zero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.hasZero.{u2} N (MulZeroClass.toHasZero.{u2} N (MulZeroOneClass.toMulZeroClass.{u2} N (MonoidWithZero.toMulZeroOneClass.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))))))) -> (forall (hp : Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Multiset.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Multiset.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m)) (d : OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))), Eq.{1} PartENat (multiplicity.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.commMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (a : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Associates.HasDvd.Dvd.decidableRel.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1) (fun (a : M) (b : M) => _inst_5 a b) a b) p m) (multiplicity.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.commMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (a : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (b : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Associates.HasDvd.Dvd.decidableRel.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2) (fun (a : N) (b : N) => _inst_6 a b) a b) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (coeSubtype.{succ u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (OrderIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m))) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)))) (fun (_x : RelIso.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) => (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) -> (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))) (RelIso.hasCoeToFun.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (LE.le.{u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) Type.{u1} (Set.hasCoeToSort.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) (Subtype.hasLe.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Preorder.toLE.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)))) (LE.le.{u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) Type.{u2} (Set.hasCoeToSort.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n)) (Subtype.hasLe.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Preorder.toLE.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (fun (x : Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) => Membership.Mem.{u2, u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Set.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Set.hasMem.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) x (Set.Iic.{u2} (Associates.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2)))) (Associates.preorder.{u2} N (CommMonoidWithZero.toCommMonoid.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) n))))) d (Subtype.mk.{succ u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (fun (x : Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => Membership.Mem.{u1, u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Set.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Set.hasMem.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) x (Set.Iic.{u1} (Associates.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.preorder.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (fun (a : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (b : Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} (Associates.{u1} M (CommMonoid.toMonoid.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.cancelCommMonoidWithZero.{u1} M _inst_1) (Associates.uniqueUnits.{u1} M (CommMonoidWithZero.toCommMonoid.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1)))) (Associates.ufm.{u1} M _inst_1 _inst_4) m p hp)))) n))
+but is expected to have type
+ forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_4 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_5 : DecidableRel.{succ u2} M (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4606 : M) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4608 : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4606 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4608)] [_inst_6 : DecidableRel.{succ u1} N (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4630 : N) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4632 : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4630 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.4632)] [_inst_7 : DecidableEq.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] {m : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {p : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))} {n : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))}, (Ne.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) n (OfNat.ofNat.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instZeroAssociates.{u1} N (CommMonoidWithZero.toZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)) (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))))) -> (forall (hp : Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Multiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Multiset.instMembershipMultiset.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) p (UniqueFactorizationMonoid.normalizedFactors.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m)) (d : OrderIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)))), Eq.{1} PartENat (multiplicity.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (MonoidWithZero.toMonoid.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (CommMonoidWithZero.toMonoidWithZero.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (a : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Associates.instDecidableRelAssociatesToMonoidToMonoidWithZeroDvdSemigroupDvdToSemigroupToSemigroupWithZeroInstCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1) (fun (a : M) (b : M) => _inst_5 a b) a b) p m) (multiplicity.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (MonoidWithZero.toMonoid.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (CommMonoidWithZero.toMonoidWithZero.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (a : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (b : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Associates.instDecidableRelAssociatesToMonoidToMonoidWithZeroDvdSemigroupDvdToSemigroupToSemigroupWithZeroInstCommMonoidWithZeroAssociatesToMonoidToMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2) (fun (a : N) (b : N) => _inst_6 a b) a b) (Subtype.val.{succ u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (fun (_x : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (RelHomClass.toFunLike.{max u2 u1, u2, u1} (RelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u2, u1} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) => LE.le.{u2} (Set.Elem.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) (Subtype.le.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Preorder.toLE.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) => LE.le.{u1} (Set.Elem.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n)) (Subtype.le.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Preorder.toLE.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (fun (x : Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) => Membership.mem.{u1, u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Set.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Set.instMembershipSet.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x (Set.Iic.{u1} (Associates.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2)))) (Associates.instPreorderAssociatesToMonoid.{u1} N (CommMonoidWithZero.toCommMonoid.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) n))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) d (Subtype.mk.{succ u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (fun (x : Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => Membership.mem.{u2, u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Set.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Set.instMembershipSet.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x (Set.Iic.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instPreorderAssociatesToMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) m)) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} (Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (fun (a : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (b : Associates.{u2} M (CommMonoid.toMonoid.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} (Associates.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.instCancelCommMonoidWithZeroAssociatesToMonoidToMonoidWithZeroToCommMonoidWithZero.{u2} M _inst_1) (Associates.uniqueUnits.{u2} M (CommMonoidWithZero.toCommMonoid.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1)))) (Associates.ufm.{u2} M _inst_1 _inst_4) m p hp)))) n))
+Case conversion may be inaccurate. Consider using '#align multiplicity_prime_eq_multiplicity_image_by_factor_order_iso multiplicity_prime_eq_multiplicity_image_by_factor_orderIsoₓ'. -/
theorem multiplicity_prime_eq_multiplicity_image_by_factor_orderIso [DecidableEq (Associates M)]
{m p : Associates M} {n : Associates N} (hn : n ≠ 0) (hp : p ∈ normalizedFactors m)
(d : Set.Iic m ≃o Set.Iic n) :
@@ -374,6 +476,7 @@ end
variable [Unique Mˣ] [Unique Nˣ]
+#print mkFactorOrderIsoOfFactorDvdEquiv /-
/-- The order isomorphism between the factors of `mk m` and the factors of `mk n` induced by a
bijection between the factors of `m` and the factors of `n` that preserves `∣`. -/
@[simps]
@@ -408,9 +511,16 @@ def mkFactorOrderIsoOfFactorDvdEquiv {m : M} {n : N} {d : { l : M // l ∣ m }
simp only [Equiv.coe_fn_mk, Subtype.mk_le_mk, Associates.mk_le_mk_iff_dvd_iff, hd,
Subtype.coe_mk, associatesEquivOfUniqueUnits_apply, out_dvd_iff, mk_out]
#align mk_factor_order_iso_of_factor_dvd_equiv mkFactorOrderIsoOfFactorDvdEquiv
+-/
variable [UniqueFactorizationMonoid M] [UniqueFactorizationMonoid N] [DecidableEq M]
+/- warning: mem_normalized_factors_factor_dvd_iso_of_mem_normalized_factors -> mem_normalizedFactors_factor_dvd_iso_of_mem_normalizedFactors is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : Unique.{succ u1} (Units.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] [_inst_4 : Unique.{succ u2} (Units.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))] [_inst_5 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_6 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_7 : DecidableEq.{succ u1} M] [_inst_8 : DecidableEq.{succ u2} N] {m : M} {p : M} {n : N}, (Ne.{succ u1} M m (OfNat.ofNat.{u1} M 0 (OfNat.mk.{u1} M 0 (Zero.zero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))))) -> (Ne.{succ u2} N n (OfNat.ofNat.{u2} N 0 (OfNat.mk.{u2} N 0 (Zero.zero.{u2} N (MulZeroClass.toHasZero.{u2} N (MulZeroOneClass.toMulZeroClass.{u2} N (MonoidWithZero.toMulZeroOneClass.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))))))) -> (forall (hp : Membership.Mem.{u1, u1} M (Multiset.{u1} M) (Multiset.hasMem.{u1} M) p (UniqueFactorizationMonoid.normalizedFactors.{u1} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} M _inst_1 _inst_3) _inst_5 m)) {d : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))}, (forall (l : Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (l' : Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)), Iff (Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (HasLiftT.mk.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (CoeTCₓ.coe.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeBase.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeSubtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))))) (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (fun (_x : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) => (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) -> (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Equiv.hasCoeToFun.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d l)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (HasLiftT.mk.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (CoeTCₓ.coe.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeBase.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeSubtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))))) (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (fun (_x : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) => (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) -> (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Equiv.hasCoeToFun.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d l'))) (Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (HasLiftT.mk.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (CoeTCₓ.coe.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (coeBase.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (coeSubtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m))))) l) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (HasLiftT.mk.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (CoeTCₓ.coe.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (coeBase.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (coeSubtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m))))) l'))) -> (Membership.Mem.{u2, u2} N (Multiset.{u2} N) (Multiset.hasMem.{u2} N) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (HasLiftT.mk.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (CoeTCₓ.coe.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeBase.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeSubtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))))) (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (fun (_x : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) => (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) -> (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Equiv.hasCoeToFun.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d (Subtype.mk.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} M _inst_1 _inst_3) _inst_5 m p hp)))) (UniqueFactorizationMonoid.normalizedFactors.{u2} N _inst_2 (fun (a : N) (b : N) => _inst_8 a b) (normalizationMonoidOfUniqueUnits.{u2} N _inst_2 _inst_4) _inst_6 n)))
+but is expected to have type
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : Unique.{succ u1} (Units.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] [_inst_4 : Unique.{succ u2} (Units.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))] [_inst_5 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_6 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_7 : DecidableEq.{succ u1} M] [_inst_8 : DecidableEq.{succ u2} N] {m : M} {p : M} {n : N}, (Ne.{succ u1} M m (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (CommMonoidWithZero.toZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) -> (Ne.{succ u2} N n (OfNat.ofNat.{u2} N 0 (Zero.toOfNat0.{u2} N (CommMonoidWithZero.toZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) -> (forall (hp : Membership.mem.{u1, u1} M (Multiset.{u1} M) (Multiset.instMembershipMultiset.{u1} M) p (UniqueFactorizationMonoid.normalizedFactors.{u1} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} M _inst_1 _inst_3) _inst_5 m)) {d : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))}, (forall (l : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (l' : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)), Iff (Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) (Subtype.val.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) => Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d l)) (Subtype.val.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) => Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d l'))) (Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) (Subtype.val.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m) l) (Subtype.val.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m) l'))) -> (Membership.mem.{u2, u2} N (Multiset.{u2} N) (Multiset.instMembershipMultiset.{u2} N) (Subtype.val.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) => Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d (Subtype.mk.{succ u1} M (fun (l : M) => Dvd.dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} M _inst_1 _inst_3) _inst_5 m p hp)))) (UniqueFactorizationMonoid.normalizedFactors.{u2} N _inst_2 (fun (a : N) (b : N) => _inst_8 a b) (normalizationMonoidOfUniqueUnits.{u2} N _inst_2 _inst_4) _inst_6 n)))
+Case conversion may be inaccurate. Consider using '#align mem_normalized_factors_factor_dvd_iso_of_mem_normalized_factors mem_normalizedFactors_factor_dvd_iso_of_mem_normalizedFactorsₓ'. -/
theorem mem_normalizedFactors_factor_dvd_iso_of_mem_normalizedFactors [DecidableEq N] {m p : M}
{n : N} (hm : m ≠ 0) (hn : n ≠ 0) (hp : p ∈ normalizedFactors m)
{d : { l : M // l ∣ m } ≃ { l : N // l ∣ n }}
@@ -454,7 +564,13 @@ theorem mem_normalizedFactors_factor_dvd_iso_of_mem_normalizedFactors [Decidable
variable [DecidableRel ((· ∣ ·) : M → M → Prop)] [DecidableRel ((· ∣ ·) : N → N → Prop)]
-theorem multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalized_factor {m p : M} {n : N}
+/- warning: multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalized_factor -> multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalizedFactors is a dubious translation:
+lean 3 declaration is
+ forall {M : Type.{u1}} [_inst_1 : CancelCommMonoidWithZero.{u1} M] {N : Type.{u2}} [_inst_2 : CancelCommMonoidWithZero.{u2} N] [_inst_3 : Unique.{succ u1} (Units.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))] [_inst_4 : Unique.{succ u2} (Units.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))] [_inst_5 : UniqueFactorizationMonoid.{u1} M _inst_1] [_inst_6 : UniqueFactorizationMonoid.{u2} N _inst_2] [_inst_7 : DecidableEq.{succ u1} M] [_inst_8 : DecidableRel.{succ u1} M (Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))] [_inst_9 : DecidableRel.{succ u2} N (Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))))] {m : M} {p : M} {n : N}, (Ne.{succ u1} M m (OfNat.ofNat.{u1} M 0 (OfNat.mk.{u1} M 0 (Zero.zero.{u1} M (MulZeroClass.toHasZero.{u1} M (MulZeroOneClass.toMulZeroClass.{u1} M (MonoidWithZero.toMulZeroOneClass.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))))))) -> (Ne.{succ u2} N n (OfNat.ofNat.{u2} N 0 (OfNat.mk.{u2} N 0 (Zero.zero.{u2} N (MulZeroClass.toHasZero.{u2} N (MulZeroOneClass.toMulZeroClass.{u2} N (MonoidWithZero.toMulZeroOneClass.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))))))) -> (forall (hp : Membership.Mem.{u1, u1} M (Multiset.{u1} M) (Multiset.hasMem.{u1} M) p (UniqueFactorizationMonoid.normalizedFactors.{u1} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} M _inst_1 _inst_3) _inst_5 m)) {d : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))}, (forall (l : Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (l' : Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)), Iff (Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (HasLiftT.mk.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (CoeTCₓ.coe.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeBase.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeSubtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))))) (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (fun (_x : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) => (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) -> (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Equiv.hasCoeToFun.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d l)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (HasLiftT.mk.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (CoeTCₓ.coe.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeBase.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeSubtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))))) (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (fun (_x : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) => (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) -> (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Equiv.hasCoeToFun.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d l'))) (Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (HasLiftT.mk.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (CoeTCₓ.coe.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (coeBase.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (coeSubtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m))))) l) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (HasLiftT.mk.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (CoeTCₓ.coe.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (coeBase.{succ u1, succ u1} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) M (coeSubtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m))))) l'))) -> (Eq.{1} PartENat (multiplicity.{u2} N (MonoidWithZero.toMonoid.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))) (fun (a : N) (b : N) => _inst_9 a b) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (HasLiftT.mk.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (CoeTCₓ.coe.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeBase.{succ u2, succ u2} (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n)) N (coeSubtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))))) (coeFn.{max 1 (max (succ u1) (succ u2)) (succ u2) (succ u1), max (succ u1) (succ u2)} (Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (fun (_x : Equiv.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) => (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) -> (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) (Equiv.hasCoeToFun.{succ u1, succ u2} (Subtype.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m)) (Subtype.{succ u2} N (fun (l : N) => Dvd.Dvd.{u2} N (semigroupDvd.{u2} N (SemigroupWithZero.toSemigroup.{u2} N (MonoidWithZero.toSemigroupWithZero.{u2} N (CommMonoidWithZero.toMonoidWithZero.{u2} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} N _inst_2))))) l n))) d (Subtype.mk.{succ u1} M (fun (l : M) => Dvd.Dvd.{u1} M (semigroupDvd.{u1} M (SemigroupWithZero.toSemigroup.{u1} M (MonoidWithZero.toSemigroupWithZero.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))))) l m) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u1} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u1} M _inst_1 _inst_3) _inst_5 m p hp)))) n) (multiplicity.{u1} M (MonoidWithZero.toMonoid.{u1} M (CommMonoidWithZero.toMonoidWithZero.{u1} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} M _inst_1))) (fun (a : M) (b : M) => _inst_8 a b) p m)))
+but is expected to have type
+ forall {M : Type.{u2}} [_inst_1 : CancelCommMonoidWithZero.{u2} M] {N : Type.{u1}} [_inst_2 : CancelCommMonoidWithZero.{u1} N] [_inst_3 : Unique.{succ u2} (Units.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))] [_inst_4 : Unique.{succ u1} (Units.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))] [_inst_5 : UniqueFactorizationMonoid.{u2} M _inst_1] [_inst_6 : UniqueFactorizationMonoid.{u1} N _inst_2] [_inst_7 : DecidableEq.{succ u2} M] [_inst_8 : DecidableRel.{succ u2} M (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5761 : M) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5763 : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5761 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5763)] [_inst_9 : DecidableRel.{succ u1} N (fun (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5785 : N) (x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5787 : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5785 x._@.Mathlib.RingTheory.ChainOfDivisors._hyg.5787)] {m : M} {p : M} {n : N}, (Ne.{succ u2} M m (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (CommMonoidWithZero.toZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) -> (Ne.{succ u1} N n (OfNat.ofNat.{u1} N 0 (Zero.toOfNat0.{u1} N (CommMonoidWithZero.toZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) -> (forall (hp : Membership.mem.{u2, u2} M (Multiset.{u2} M) (Multiset.instMembershipMultiset.{u2} M) p (UniqueFactorizationMonoid.normalizedFactors.{u2} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} M _inst_1 _inst_3) _inst_5 m)) {d : Equiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))}, (forall (l : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (l' : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)), Iff (Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) (Subtype.val.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Equiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) d l)) (Subtype.val.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Equiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) d l'))) (Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) (Subtype.val.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m) l) (Subtype.val.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m) l'))) -> (Eq.{1} PartENat (multiplicity.{u1} N (MonoidWithZero.toMonoid.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))) (fun (a : N) (b : N) => _inst_9 a b) (Subtype.val.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (Equiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (fun (_x : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) => Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n)) _x) (Equiv.instFunLikeEquiv.{succ u2, succ u1} (Subtype.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m)) (Subtype.{succ u1} N (fun (l : N) => Dvd.dvd.{u1} N (semigroupDvd.{u1} N (SemigroupWithZero.toSemigroup.{u1} N (MonoidWithZero.toSemigroupWithZero.{u1} N (CommMonoidWithZero.toMonoidWithZero.{u1} N (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} N _inst_2))))) l n))) d (Subtype.mk.{succ u2} M (fun (l : M) => Dvd.dvd.{u2} M (semigroupDvd.{u2} M (SemigroupWithZero.toSemigroup.{u2} M (MonoidWithZero.toSemigroupWithZero.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))))) l m) p (UniqueFactorizationMonoid.dvd_of_mem_normalizedFactors.{u2} M _inst_1 (fun (a : M) (b : M) => _inst_7 a b) (normalizationMonoidOfUniqueUnits.{u2} M _inst_1 _inst_3) _inst_5 m p hp)))) n) (multiplicity.{u2} M (MonoidWithZero.toMonoid.{u2} M (CommMonoidWithZero.toMonoidWithZero.{u2} M (CancelCommMonoidWithZero.toCommMonoidWithZero.{u2} M _inst_1))) (fun (a : M) (b : M) => _inst_8 a b) p m)))
+Case conversion may be inaccurate. Consider using '#align multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalized_factor multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalizedFactorsₓ'. -/
+theorem multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalizedFactors {m p : M} {n : N}
(hm : m ≠ 0) (hn : n ≠ 0) (hp : p ∈ normalizedFactors m)
{d : { l : M // l ∣ m } ≃ { l : N // l ∣ n }} (hd : ∀ l l', (d l : N) ∣ d l' ↔ (l : M) ∣ l') :
multiplicity (d ⟨p, dvd_of_mem_normalizedFactors hp⟩ : N) n = multiplicity p m :=
@@ -494,5 +610,5 @@ theorem multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalized_factor {m
((prime_mk p).mpr (prime_of_normalized_factor p hp)).Irreducible
(mk_le_mk_of_dvd (dvd_of_mem_normalized_factors hp))
rwa [associated_iff_eq.mp hq']
-#align multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalized_factor multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalized_factor
+#align multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalized_factor multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalizedFactors
mathlib commit https://github.com/leanprover-community/mathlib/commit/4c586d291f189eecb9d00581aeb3dd998ac34442
@@ -206,7 +206,7 @@ theorem eq_pow_second_of_chain_of_has_chain {q : Associates M} {n : ℕ} (hn : n
n + 1 = (Finset.univ : Finset (Fin (n + 1))).card := (Finset.card_fin _).symm
_ = (finset.univ.image c).card := (finset.card_image_iff.mpr (h₁.injective.inj_on _)).symm
_ ≤ (finset.univ.image fun m : Fin (i + 1) => c 1 ^ (m : ℕ)).card :=
- Finset.card_le_of_subset _
+ (Finset.card_le_of_subset _)
_ ≤ (Finset.univ : Finset (Fin (i + 1))).card := Finset.card_image_le
_ = i + 1 := Finset.card_fin _
@@ -424,7 +424,7 @@ theorem mem_normalizedFactors_factor_dvd_iso_of_mem_normalizedFactors [Decidable
simp [dvd_of_mem_normalized_factors hp]⟩)
by
simp only [associatesEquivOfUniqueUnits_apply, out_mk, normalize_eq,
- associatesEquivOfUniqueUnits_symmApply] at this
+ associatesEquivOfUniqueUnits_symm_apply] at this
obtain ⟨q, hq, hq'⟩ :=
exists_mem_normalized_factors_of_dvd hn this.irreducible
(d ⟨p, by apply dvd_of_mem_normalized_factors <;> convert hp⟩).Prop
@@ -434,10 +434,10 @@ theorem mem_normalizedFactors_factor_dvd_iso_of_mem_normalizedFactors [Decidable
↑(d
⟨associatesEquivOfUniqueUnits (associates_equiv_of_unique_units.symm p), by
simp only [dvd_of_mem_normalized_factors hp, associatesEquivOfUniqueUnits_apply,
- out_mk, normalize_eq, associatesEquivOfUniqueUnits_symmApply]⟩) =
+ out_mk, normalize_eq, associatesEquivOfUniqueUnits_symm_apply]⟩) =
↑(mkFactorOrderIsoOfFactorDvdEquiv hd
⟨associates_equiv_of_unique_units.symm p, by
- simp only [associatesEquivOfUniqueUnits_symmApply] <;>
+ simp only [associatesEquivOfUniqueUnits_symm_apply] <;>
exact mk_dvd_mk.mpr (dvd_of_mem_normalized_factors hp)⟩) :=
by
rw [mkFactorOrderIsoOfFactorDvdEquiv_apply_coe]
@@ -449,7 +449,7 @@ theorem mem_normalizedFactors_factor_dvd_iso_of_mem_normalizedFactors [Decidable
exists_mem_normalized_factors_of_dvd (mk_ne_zero.mpr hm)
((prime_mk p).mpr (prime_of_normalized_factor p (by convert hp))).Irreducible
(mk_le_mk_of_dvd (dvd_of_mem_normalized_factors hp))
- simpa only [associated_iff_eq.mp hq', associatesEquivOfUniqueUnits_symmApply] using hq
+ simpa only [associated_iff_eq.mp hq', associatesEquivOfUniqueUnits_symm_apply] using hq
#align mem_normalized_factors_factor_dvd_iso_of_mem_normalized_factors mem_normalizedFactors_factor_dvd_iso_of_mem_normalizedFactors
variable [DecidableRel ((· ∣ ·) : M → M → Prop)] [DecidableRel ((· ∣ ·) : N → N → Prop)]
@@ -469,17 +469,17 @@ theorem multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalized_factor {m
simp [dvd_of_mem_normalized_factors hp]⟩))
(Associates.mk n)
by
- simpa only [multiplicity_mk_eq_multiplicity, associatesEquivOfUniqueUnits_symmApply,
+ simpa only [multiplicity_mk_eq_multiplicity, associatesEquivOfUniqueUnits_symm_apply,
associatesEquivOfUniqueUnits_apply, out_mk, normalize_eq] using this
have :
Associates.mk
↑(d
⟨associatesEquivOfUniqueUnits (associates_equiv_of_unique_units.symm p), by
- simp only [dvd_of_mem_normalized_factors hp, associatesEquivOfUniqueUnits_symmApply,
+ simp only [dvd_of_mem_normalized_factors hp, associatesEquivOfUniqueUnits_symm_apply,
associatesEquivOfUniqueUnits_apply, out_mk, normalize_eq]⟩) =
↑(mkFactorOrderIsoOfFactorDvdEquiv hd
⟨associates_equiv_of_unique_units.symm p, by
- rw [associatesEquivOfUniqueUnits_symmApply] <;>
+ rw [associatesEquivOfUniqueUnits_symm_apply] <;>
exact mk_le_mk_of_dvd (dvd_of_mem_normalized_factors hp)⟩) :=
by
rw [mkFactorOrderIsoOfFactorDvdEquiv_apply_coe]
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -202,9 +202,9 @@ theorem eq_pow_second_of_chain_of_has_chain {q : Associates M} {n : ℕ} (hn : n
have := h₂.2 ⟨j, rfl⟩
rw [hi'] at this
have h := (dvd_prime_pow (show Prime (c 1) from ?_) i).1 this
- rcases h with ⟨u, hu, hu'⟩
- refine' Finset.mem_image.mpr ⟨u, Finset.mem_univ _, _⟩
- · rw [associated_iff_eq] at hu'
+ · rcases h with ⟨u, hu, hu'⟩
+ refine' Finset.mem_image.mpr ⟨u, Finset.mem_univ _, _⟩
+ rw [associated_iff_eq] at hu'
rw [Fin.val_cast_of_lt (Nat.lt_succ_of_le hu), hu']
· rw [← irreducible_iff_prime]
exact second_of_chain_is_irreducible hn h₁ (@h₂) hq
simp
tags or simp
lemmasassociated_one_iff_isUnit
, associated_zero_iff_eq_zero
,
Associates.mk_eq_one
, Associates.mk_dvd_mk
,
Associates.mk_isRelPrime_iff
, Associates.mk_zero
,
Associates.quot_out_zero
, Associates.le_zero
,
Associates.prime_mk
, Associates.irreducible_mk
,
Associates.mk_dvdNotUnit_mk_iff
, Associates.factors_le
,
Associates.prod_factors
gcongr
tagsAssociates.factors_mono
, Associates.prod_mono
Associates.prime_mk
, Associates.irreducible_mk
,
Associates.one_or_eq_of_le_of_prime
[Nontrivial _]
here and there,
mostly in cases when a lemma has _ ≠ _
assumptionAssociates.FactorSetMem
WithTop
APIUse WithTop.some
and ⊤
instead of Option.some
and none
in UniqueFactorizationDomain
.
Associates.isPrimal_iff
→ Associates.isPrimal_mk
;Associates.mk_le_mk_iff_dvd_iff
→ Associates.mk_le_mk_iff_dvd
;Associates.factors_0
→ Associates.factors_zero
;Associates.factors_eq_none_iff_zero
→
Associates.factors_eq_top_iff_zero
@@ -365,7 +365,7 @@ def mkFactorOrderIsoOfFactorDvdEquiv {m : M} {n : N} {d : { l : M // l ∣ m }
obtain ⟨x, hx⟩ := l
rw [Subtype.coe_mk, associatesEquivOfUniqueUnits_apply, out_dvd_iff]
exact hx⟩),
- mk_le_mk_iff_dvd_iff.mpr (Subtype.prop (d ⟨associatesEquivOfUniqueUnits ↑l, _⟩))⟩
+ mk_le_mk_iff_dvd.mpr (Subtype.prop (d ⟨associatesEquivOfUniqueUnits ↑l, _⟩))⟩
invFun l :=
⟨Associates.mk
(d.symm
@@ -373,7 +373,7 @@ def mkFactorOrderIsoOfFactorDvdEquiv {m : M} {n : N} {d : { l : M // l ∣ m }
obtain ⟨x, hx⟩ := l
rw [Subtype.coe_mk, associatesEquivOfUniqueUnits_apply, out_dvd_iff]
exact hx⟩),
- mk_le_mk_iff_dvd_iff.mpr (Subtype.prop (d.symm ⟨associatesEquivOfUniqueUnits ↑l, _⟩))⟩
+ mk_le_mk_iff_dvd.mpr (Subtype.prop (d.symm ⟨associatesEquivOfUniqueUnits ↑l, _⟩))⟩
left_inv := fun ⟨l, hl⟩ => by
simp only [Subtype.coe_eta, Equiv.symm_apply_apply, Subtype.coe_mk,
associatesEquivOfUniqueUnits_apply, mk_out, out_mk, normalize_eq]
@@ -382,7 +382,7 @@ def mkFactorOrderIsoOfFactorDvdEquiv {m : M} {n : N} {d : { l : M // l ∣ m }
associatesEquivOfUniqueUnits_apply, out_mk, normalize_eq, mk_out]
map_rel_iff' := by
rintro ⟨a, ha⟩ ⟨b, hb⟩
- simp only [Equiv.coe_fn_mk, Subtype.mk_le_mk, Associates.mk_le_mk_iff_dvd_iff, hd,
+ simp only [Equiv.coe_fn_mk, Subtype.mk_le_mk, Associates.mk_le_mk_iff_dvd, hd,
Subtype.coe_mk, associatesEquivOfUniqueUnits_apply, out_dvd_iff, mk_out]
#align mk_factor_order_iso_of_factor_dvd_equiv mkFactorOrderIsoOfFactorDvdEquiv
@@ -416,7 +416,7 @@ theorem mem_normalizedFactors_factor_dvd_iso_of_mem_normalizedFactors {m p : M}
refine' map_prime_of_factor_orderIso (mk_ne_zero.mpr hn) _ _
obtain ⟨q, hq, hq'⟩ :=
exists_mem_normalizedFactors_of_dvd (mk_ne_zero.mpr hm)
- ((prime_mk p).mpr (prime_of_normalized_factor p (by convert hp))).irreducible
+ (prime_mk.mpr (prime_of_normalized_factor p (by convert hp))).irreducible
(mk_le_mk_of_dvd (dvd_of_mem_normalizedFactors hp))
simpa only [associated_iff_eq.mp hq', associatesEquivOfUniqueUnits_symm_apply] using hq
#align mem_normalized_factors_factor_dvd_iso_of_mem_normalized_factors mem_normalizedFactors_factor_dvd_iso_of_mem_normalizedFactors
@@ -446,7 +446,7 @@ theorem multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalizedFactors {m
(mkFactorOrderIsoOfFactorDvdEquiv hd)
obtain ⟨q, hq, hq'⟩ :=
exists_mem_normalizedFactors_of_dvd (mk_ne_zero.mpr hm)
- ((prime_mk p).mpr (prime_of_normalized_factor p hp)).irreducible
+ (prime_mk.mpr (prime_of_normalized_factor p hp)).irreducible
(mk_le_mk_of_dvd (dvd_of_mem_normalizedFactors hp))
rwa [associated_iff_eq.mp hq']
#align multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalized_factor multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalizedFactors
@@ -285,7 +285,7 @@ theorem map_prime_of_factor_orderIso {m p : Associates M} {n : Associates N} (hn
Prime (d ⟨p, dvd_of_mem_normalizedFactors hp⟩ : Associates N) := by
rw [← irreducible_iff_prime]
refine' (Associates.isAtom_iff <| ne_zero_of_dvd_ne_zero hn (d ⟨p, _⟩).prop).mp ⟨_, fun b hb => _⟩
- · rw [Ne.def, ← Associates.isUnit_iff_eq_bot, Associates.isUnit_iff_eq_one,
+ · rw [Ne, ← Associates.isUnit_iff_eq_bot, Associates.isUnit_iff_eq_one,
coe_factor_orderIso_map_eq_one_iff _ d]
rintro rfl
exact (prime_of_normalized_factor 1 hp).not_unit isUnit_one
factors
(#11158)
It doesn't make a lot of sense for factors
to require a DecidableEq
assumption since it's not used in the statement, and the definition is already noncomputable. This PR removes that assumption and updates some lemmas later in the file accordingly.
@@ -249,8 +249,8 @@ variable [UniqueFactorizationMonoid N] [UniqueFactorizationMonoid M]
open DivisorChain
theorem pow_image_of_prime_by_factor_orderIso_dvd
- [DecidableEq (Associates M)] {m p : Associates M} {n : Associates N} (hn : n ≠ 0)
- (hp : p ∈ normalizedFactors m) (d : Set.Iic m ≃o Set.Iic n) {s : ℕ} (hs' : p ^ s ≤ m) :
+ {m p : Associates M} {n : Associates N} (hn : n ≠ 0) (hp : p ∈ normalizedFactors m)
+ (d : Set.Iic m ≃o Set.Iic n) {s : ℕ} (hs' : p ^ s ≤ m) :
(d ⟨p, dvd_of_mem_normalizedFactors hp⟩ : Associates N) ^ s ≤ n := by
by_cases hs : s = 0
· simp [hs]
@@ -280,8 +280,8 @@ theorem pow_image_of_prime_by_factor_orderIso_dvd
exact ne_zero_of_dvd_ne_zero hn (Subtype.prop (d ⟨c₁ 1 ^ s, _⟩))
#align pow_image_of_prime_by_factor_order_iso_dvd pow_image_of_prime_by_factor_orderIso_dvd
-theorem map_prime_of_factor_orderIso [DecidableEq (Associates M)] {m p : Associates M}
- {n : Associates N} (hn : n ≠ 0) (hp : p ∈ normalizedFactors m) (d : Set.Iic m ≃o Set.Iic n) :
+theorem map_prime_of_factor_orderIso {m p : Associates M} {n : Associates N} (hn : n ≠ 0)
+ (hp : p ∈ normalizedFactors m) (d : Set.Iic m ≃o Set.Iic n) :
Prime (d ⟨p, dvd_of_mem_normalizedFactors hp⟩ : Associates N) := by
rw [← irreducible_iff_prime]
refine' (Associates.isAtom_iff <| ne_zero_of_dvd_ne_zero hn (d ⟨p, _⟩).prop).mp ⟨_, fun b hb => _⟩
@@ -307,9 +307,8 @@ theorem map_prime_of_factor_orderIso [DecidableEq (Associates M)] {m p : Associa
simp
#align map_prime_of_factor_order_iso map_prime_of_factor_orderIso
-theorem mem_normalizedFactors_factor_orderIso_of_mem_normalizedFactors [DecidableEq (Associates M)]
- [DecidableEq (Associates N)] {m p : Associates M} {n : Associates N} (hn : n ≠ 0)
- (hp : p ∈ normalizedFactors m) (d : Set.Iic m ≃o Set.Iic n) :
+theorem mem_normalizedFactors_factor_orderIso_of_mem_normalizedFactors {m p : Associates M}
+ {n : Associates N} (hn : n ≠ 0) (hp : p ∈ normalizedFactors m) (d : Set.Iic m ≃o Set.Iic n) :
(d ⟨p, dvd_of_mem_normalizedFactors hp⟩ : Associates N) ∈ normalizedFactors n := by
obtain ⟨q, hq, hq'⟩ :=
exists_mem_normalizedFactors_of_dvd hn (map_prime_of_factor_orderIso hn hp d).irreducible
@@ -320,9 +319,8 @@ theorem mem_normalizedFactors_factor_orderIso_of_mem_normalizedFactors [Decidabl
variable [DecidableRel ((· ∣ ·) : M → M → Prop)] [DecidableRel ((· ∣ ·) : N → N → Prop)]
-theorem multiplicity_prime_le_multiplicity_image_by_factor_orderIso [DecidableEq (Associates M)]
- {m p : Associates M} {n : Associates N} (hp : p ∈ normalizedFactors m)
- (d : Set.Iic m ≃o Set.Iic n) :
+theorem multiplicity_prime_le_multiplicity_image_by_factor_orderIso {m p : Associates M}
+ {n : Associates N} (hp : p ∈ normalizedFactors m) (d : Set.Iic m ≃o Set.Iic n) :
multiplicity p m ≤ multiplicity (↑(d ⟨p, dvd_of_mem_normalizedFactors hp⟩)) n := by
by_cases hn : n = 0
· simp [hn]
@@ -335,9 +333,8 @@ theorem multiplicity_prime_le_multiplicity_image_by_factor_orderIso [DecidableEq
exact pow_image_of_prime_by_factor_orderIso_dvd hn hp d (pow_multiplicity_dvd _)
#align multiplicity_prime_le_multiplicity_image_by_factor_order_iso multiplicity_prime_le_multiplicity_image_by_factor_orderIso
-theorem multiplicity_prime_eq_multiplicity_image_by_factor_orderIso [DecidableEq (Associates M)]
- {m p : Associates M} {n : Associates N} (hn : n ≠ 0) (hp : p ∈ normalizedFactors m)
- (d : Set.Iic m ≃o Set.Iic n) :
+theorem multiplicity_prime_eq_multiplicity_image_by_factor_orderIso {m p : Associates M}
+ {n : Associates N} (hn : n ≠ 0) (hp : p ∈ normalizedFactors m) (d : Set.Iic m ≃o Set.Iic n) :
multiplicity p m = multiplicity (↑(d ⟨p, dvd_of_mem_normalizedFactors hp⟩)) n := by
refine' le_antisymm (multiplicity_prime_le_multiplicity_image_by_factor_orderIso hp d) _
suffices multiplicity (↑(d ⟨p, dvd_of_mem_normalizedFactors hp⟩)) n ≤
@@ -389,11 +386,10 @@ def mkFactorOrderIsoOfFactorDvdEquiv {m : M} {n : N} {d : { l : M // l ∣ m }
Subtype.coe_mk, associatesEquivOfUniqueUnits_apply, out_dvd_iff, mk_out]
#align mk_factor_order_iso_of_factor_dvd_equiv mkFactorOrderIsoOfFactorDvdEquiv
-variable [UniqueFactorizationMonoid M] [UniqueFactorizationMonoid N] [DecidableEq M]
+variable [UniqueFactorizationMonoid M] [UniqueFactorizationMonoid N]
-theorem mem_normalizedFactors_factor_dvd_iso_of_mem_normalizedFactors [DecidableEq N] {m p : M}
- {n : N} (hm : m ≠ 0) (hn : n ≠ 0) (hp : p ∈ normalizedFactors m)
- {d : { l : M // l ∣ m } ≃ { l : N // l ∣ n }}
+theorem mem_normalizedFactors_factor_dvd_iso_of_mem_normalizedFactors {m p : M} {n : N} (hm : m ≠ 0)
+ (hn : n ≠ 0) (hp : p ∈ normalizedFactors m) {d : { l : M // l ∣ m } ≃ { l : N // l ∣ n }}
(hd : ∀ l l', (d l : N) ∣ d l' ↔ (l : M) ∣ (l' : M)) :
↑(d ⟨p, dvd_of_mem_normalizedFactors hp⟩) ∈ normalizedFactors n := by
suffices
@@ -445,7 +441,6 @@ theorem multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalizedFactors {m
exact mk_le_mk_of_dvd (dvd_of_mem_normalizedFactors hp)⟩) :=
by rw [mkFactorOrderIsoOfFactorDvdEquiv_apply_coe]
rw [this]
- letI := Classical.decEq (Associates M)
refine'
multiplicity_prime_eq_multiplicity_image_by_factor_orderIso (mk_ne_zero.mpr hn) _
(mkFactorOrderIsoOfFactorDvdEquiv hd)
have
, replace
and suffices
(#10640)
No changes to tactic file, it's just boring fixes throughout the library.
This follows on from #6964.
Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@@ -171,8 +171,8 @@ theorem element_of_chain_eq_pow_second_of_chain {q r : Associates M} {n : ℕ} (
refine'
pow_injective_of_not_unit (element_of_chain_not_isUnit_of_index_ne_zero (by simp) h₁) _ h
exact Irreducible.ne_zero (second_of_chain_is_irreducible hn h₁ (@h₂) hq)
- suffices H' : ∀ r ∈ Finset.univ.image fun m : Fin (i + 1) => c 1 ^ (m : ℕ), r ≤ q
- · simp only [← Nat.succ_le_iff, Nat.succ_eq_add_one, ← this]
+ suffices H' : ∀ r ∈ Finset.univ.image fun m : Fin (i + 1) => c 1 ^ (m : ℕ), r ≤ q by
+ simp only [← Nat.succ_le_iff, Nat.succ_eq_add_one, ← this]
apply card_subset_divisors_le_length_of_chain (@h₂) H'
simp only [Finset.mem_image]
rintro r ⟨a, _, rfl⟩
Yet another small step toward Jordan-Chevalley-Dunford.
This was far more work than expected, partly because of missing API for Squarefree
, and partly because the definition IsCoprime
is the wrong concept for unique factorization domains.
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Anne Baanen, Paul Lezeau
-/
import Mathlib.Algebra.IsPrimePow
-import Mathlib.Algebra.Squarefree
+import Mathlib.Algebra.Squarefree.Basic
import Mathlib.Order.Hom.Bounded
import Mathlib.Algebra.GCDMonoid.Basic
Finset
lemma names (#8894)
Change a few lemma names that have historically bothered me.
Finset.card_le_of_subset
→ Finset.card_le_card
Multiset.card_le_of_le
→ Multiset.card_le_card
Multiset.card_lt_of_lt
→ Multiset.card_lt_card
Set.ncard_le_of_subset
→ Set.ncard_le_ncard
Finset.image_filter
→ Finset.filter_image
CompleteLattice.finset_sup_compact_of_compact
→ CompleteLattice.isCompactElement_finset_sup
@@ -141,7 +141,7 @@ theorem card_subset_divisors_le_length_of_chain {q : Associates M} {n : ℕ}
obtain ⟨i, hi⟩ := h₂.1 hr
exact Finset.mem_image.2 ⟨i, Finset.mem_univ _, hi.symm⟩
rw [← Finset.card_fin (n + 1)]
- exact (Finset.card_le_of_subset fun x hx => mem_image x <| hm x hx).trans Finset.card_image_le
+ exact (Finset.card_le_card fun x hx => mem_image x <| hm x hx).trans Finset.card_image_le
#align divisor_chain.card_subset_divisors_le_length_of_chain DivisorChain.card_subset_divisors_le_length_of_chain
variable [UniqueFactorizationMonoid M]
@@ -194,7 +194,7 @@ theorem eq_pow_second_of_chain_of_has_chain {q : Associates M} {n : ℕ} (hn : n
n + 1 = (Finset.univ : Finset (Fin (n + 1))).card := (Finset.card_fin _).symm
_ = (Finset.univ.image c).card := (Finset.card_image_iff.mpr (h₁.injective.injOn _)).symm
_ ≤ (Finset.univ.image fun m : Fin (i + 1) => c 1 ^ (m : ℕ)).card :=
- (Finset.card_le_of_subset ?_)
+ (Finset.card_le_card ?_)
_ ≤ (Finset.univ : Finset (Fin (i + 1))).card := Finset.card_image_le
_ = i + 1 := Finset.card_fin _
intro r hr
attribute [simp] ... in
-> attribute [local simp] ... in
(#7678)
Mathlib.Logic.Unique contains the line attribute [simp] eq_iff_true_of_subsingleton in ...
:
Despite what the in
part may imply, this adds the lemma to the simp set "globally", including for downstream files; it is likely that attribute [local simp] eq_iff_true_of_subsingleton in ...
was meant instead (or maybe scoped simp
, but I think "scoped" refers to the current namespace). Indeed, the relevant lemma is not marked with @[simp]
for possible slowness: https://github.com/leanprover/std4/blob/846e9e1d6bb534774d1acd2dc430e70987da3c18/Std/Logic.lean#L749. Adding it to the simp set causes the example at https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Regression.20in.20simp to slow down.
This PR changes this and fixes the relevant downstream simp
s. There was also one ocurrence of attribute [simp] FullSubcategory.comp_def FullSubcategory.id_def in
in Mathlib.CategoryTheory.Monoidal.Subcategory but that was much easier to fix.
@@ -55,8 +55,7 @@ theorem Associates.isAtom_iff {p : Associates M} (h₁ : p ≠ 0) : IsAtom p ↔
fun ha =>
absurd
(show p ∣ b from
- ⟨(ha.unit⁻¹ : Units _), by
- simp [hab]; rw [mul_assoc]; rw [IsUnit.mul_val_inv ha]; rw [mul_one]⟩)
+ ⟨(ha.unit⁻¹ : Units _), by rw [hab, mul_assoc, IsUnit.mul_val_inv ha, mul_one]⟩)
hb⟩⟩
#align associates.is_atom_iff Associates.isAtom_iff
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -37,7 +37,7 @@ and the set of factors of `a`.
-/
-variable {M : Type _} [CancelCommMonoidWithZero M]
+variable {M : Type*} [CancelCommMonoidWithZero M]
theorem Associates.isAtom_iff {p : Associates M} (h₁ : p ≠ 0) : IsAtom p ↔ Irreducible p :=
⟨fun hp =>
@@ -220,7 +220,7 @@ theorem isPrimePow_of_has_chain {q : Associates M} {n : ℕ} (hn : n ≠ 0)
end DivisorChain
-variable {N : Type _} [CancelCommMonoidWithZero N]
+variable {N : Type*} [CancelCommMonoidWithZero N]
theorem factor_orderIso_map_one_eq_bot {m : Associates M} {n : Associates N}
(d : { l : Associates M // l ≤ m } ≃o { l : Associates N // l ≤ n }) :
Various adaptations to changes when Fin
API was moved to Std. One notable change is that many lemmas are now stated in terms of i ≠ 0
(for i : Fin n
) rather then i.1 ≠ 0
, and as a consequence many Fin.vne_of_ne
applications have been added or removed, mostly removed.
Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Wojciech Nawrocki <wjnawrocki@protonmail.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@@ -86,7 +86,7 @@ theorem element_of_chain_not_isUnit_of_index_ne_zero {n : ℕ} {i : Fin (n + 1)}
{c : Fin (n + 1) → Associates M} (h₁ : StrictMono c) : ¬IsUnit (c i) :=
DvdNotUnit.not_unit
(Associates.dvdNotUnit_iff_lt.2
- (h₁ <| show (0 : Fin (n + 1)) < i from i.pos_iff_ne_zero.mpr i_pos))
+ (h₁ <| show (0 : Fin (n + 1)) < i from Fin.pos_iff_ne_zero.mpr i_pos))
#align divisor_chain.element_of_chain_not_is_unit_of_index_ne_zero DivisorChain.element_of_chain_not_isUnit_of_index_ne_zero
theorem first_of_chain_isUnit {q : Associates M} {n : ℕ} {c : Fin (n + 1) → Associates M}
@@ -117,7 +117,7 @@ theorem eq_second_of_chain_of_prime_dvd {p q r : Associates M} {n : ℕ} (hn : n
· contradiction
obtain ⟨i, rfl⟩ := h₂.1 (dvd_trans hp' hr)
refine' congr_arg c (eq_of_ge_of_not_gt _ fun hi => _)
- · rw [Fin.le_iff_val_le_val, Fin.val_one, Nat.succ_le_iff, ← Fin.val_zero (n.succ + 1), ←
+ · rw [Fin.le_iff_val_le_val, Fin.val_one, Nat.succ_le_iff, ← Fin.val_zero' (n.succ + 1), ←
Fin.lt_iff_val_lt_val, Fin.pos_iff_ne_zero]
rintro rfl
exact hp.not_unit (first_of_chain_isUnit h₁ @h₂)
@@ -2,16 +2,13 @@
Copyright (c) 2021 Paul Lezeau. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Anne Baanen, Paul Lezeau
-
-! This file was ported from Lean 3 source module ring_theory.chain_of_divisors
-! leanprover-community/mathlib commit f694c7dead66f5d4c80f446c796a5aad14707f0e
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Algebra.IsPrimePow
import Mathlib.Algebra.Squarefree
import Mathlib.Order.Hom.Bounded
import Mathlib.Algebra.GCDMonoid.Basic
+
+#align_import ring_theory.chain_of_divisors from "leanprover-community/mathlib"@"f694c7dead66f5d4c80f446c796a5aad14707f0e"
/-!
# Chains of divisors
@@ -243,7 +243,7 @@ theorem coe_factor_orderIso_map_eq_one_iff {m u : Associates M} {n : Associates
conv_rhs => rw [← factor_orderIso_map_one_eq_bot d.symm]
congr, fun hu => by
simp_rw [hu]
- conv_rhs => rw [← factor_orderIso_map_one_eq_bot d]⟩
+ conv_rhs => rw [← factor_orderIso_map_one_eq_bot d]⟩
#align coe_factor_order_iso_map_eq_one_iff coe_factor_orderIso_map_eq_one_iff
section
Co-authored-by: Komyyy <pol_tta@outlook.jp> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com> Co-authored-by: Mario Carneiro <di.gama@gmail.com>
@@ -133,7 +133,7 @@ theorem eq_second_of_chain_of_prime_dvd {p q r : Associates M} {n : ℕ} (hn : n
_ hp.irreducible
· simpa [Fin.succ_lt_succ_iff, Fin.lt_iff_val_lt_val] using hi
· refine' Associates.dvdNotUnit_iff_lt.2 (h₁ _)
- simpa only [Fin.coe_eq_castSuccEmb] using Fin.lt_succ
+ simpa only [Fin.coe_eq_castSucc] using Fin.lt_succ
#align divisor_chain.eq_second_of_chain_of_prime_dvd DivisorChain.eq_second_of_chain_of_prime_dvd
theorem card_subset_divisors_le_length_of_chain {q : Associates M} {n : ℕ}
@@ -133,7 +133,7 @@ theorem eq_second_of_chain_of_prime_dvd {p q r : Associates M} {n : ℕ} (hn : n
_ hp.irreducible
· simpa [Fin.succ_lt_succ_iff, Fin.lt_iff_val_lt_val] using hi
· refine' Associates.dvdNotUnit_iff_lt.2 (h₁ _)
- simpa only [Fin.coe_eq_castSucc] using Fin.lt_succ
+ simpa only [Fin.coe_eq_castSuccEmb] using Fin.lt_succ
#align divisor_chain.eq_second_of_chain_of_prime_dvd DivisorChain.eq_second_of_chain_of_prime_dvd
theorem card_subset_divisors_le_length_of_chain {q : Associates M} {n : ℕ}
by
s! (#3825)
This PR puts, with one exception, every single remaining by
that lies all by itself on its own line to the previous line, thus matching the current behaviour of start-port.sh
. The exception is when the by
begins the second or later argument to a tuple or anonymous constructor; see https://github.com/leanprover-community/mathlib4/pull/3825#discussion_r1186702599.
Essentially this is s/\n *by$/ by/g
, but with manual editing to satisfy the linter's max-100-char-line requirement. The Python style linter is also modified to catch these "isolated by
s".
@@ -140,8 +140,7 @@ theorem card_subset_divisors_le_length_of_chain {q : Associates M} {n : ℕ}
{c : Fin (n + 1) → Associates M} (h₂ : ∀ {r}, r ≤ q ↔ ∃ i, r = c i) {m : Finset (Associates M)}
(hm : ∀ r, r ∈ m → r ≤ q) : m.card ≤ n + 1 := by
classical
- have mem_image : ∀ r : Associates M, r ≤ q → r ∈ Finset.univ.image c :=
- by
+ have mem_image : ∀ r : Associates M, r ≤ q → r ∈ Finset.univ.image c := by
intro r hr
obtain ⟨i, hi⟩ := h₂.1 hr
exact Finset.mem_image.2 ⟨i, Finset.mem_univ _, hi.symm⟩
@@ -156,21 +155,18 @@ theorem element_of_chain_eq_pow_second_of_chain {q r : Associates M} {n : ℕ} (
(hr : r ∣ q) (hq : q ≠ 0) : ∃ i : Fin (n + 1), r = c 1 ^ (i : ℕ) := by
classical
let i := Multiset.card (normalizedFactors r)
- have hi : normalizedFactors r = Multiset.replicate i (c 1) :=
- by
+ have hi : normalizedFactors r = Multiset.replicate i (c 1) := by
apply Multiset.eq_replicate_of_mem
intro b hb
refine'
eq_second_of_chain_of_prime_dvd hn h₁ (@fun r' => h₂) (prime_of_normalized_factor b hb) hr
(dvd_of_mem_normalizedFactors hb)
- have H : r = c 1 ^ i :=
- by
+ have H : r = c 1 ^ i := by
have := UniqueFactorizationMonoid.normalizedFactors_prod (ne_zero_of_dvd_ne_zero hq hr)
rw [associated_iff_eq, hi, Multiset.prod_replicate] at this
rw [this]
refine' ⟨⟨i, _⟩, H⟩
- have : (Finset.univ.image fun m : Fin (i + 1) => c 1 ^ (m : ℕ)).card = i + 1 :=
- by
+ have : (Finset.univ.image fun m : Fin (i + 1) => c 1 ^ (m : ℕ)).card = i + 1 := by
conv_rhs => rw [← Finset.card_fin (i + 1)]
cases n
· contradiction
@@ -348,10 +344,8 @@ theorem multiplicity_prime_eq_multiplicity_image_by_factor_orderIso [DecidableEq
(d : Set.Iic m ≃o Set.Iic n) :
multiplicity p m = multiplicity (↑(d ⟨p, dvd_of_mem_normalizedFactors hp⟩)) n := by
refine' le_antisymm (multiplicity_prime_le_multiplicity_image_by_factor_orderIso hp d) _
- suffices
- multiplicity (↑(d ⟨p, dvd_of_mem_normalizedFactors hp⟩)) n ≤
- multiplicity (↑(d.symm (d ⟨p, dvd_of_mem_normalizedFactors hp⟩))) m
- by
+ suffices multiplicity (↑(d ⟨p, dvd_of_mem_normalizedFactors hp⟩)) n ≤
+ multiplicity (↑(d.symm (d ⟨p, dvd_of_mem_normalizedFactors hp⟩))) m by
rw [d.symm_apply_apply ⟨p, dvd_of_mem_normalizedFactors hp⟩, Subtype.coe_mk] at this
exact this
letI := Classical.decEq (Associates N)
@@ -442,26 +436,17 @@ theorem multiplicity_factor_dvd_iso_eq_multiplicity_of_mem_normalizedFactors {m
{d : { l : M // l ∣ m } ≃ { l : N // l ∣ n }} (hd : ∀ l l', (d l : N) ∣ d l' ↔ (l : M) ∣ l') :
multiplicity (d ⟨p, dvd_of_mem_normalizedFactors hp⟩ : N) n = multiplicity p m := by
apply Eq.symm
- suffices
- multiplicity (Associates.mk p) (Associates.mk m) =
- multiplicity
- (Associates.mk
- ↑(d
- ⟨associatesEquivOfUniqueUnits (associatesEquivOfUniqueUnits.symm p), by
- simp [dvd_of_mem_normalizedFactors hp]⟩))
- (Associates.mk n)
- by
+ suffices multiplicity (Associates.mk p) (Associates.mk m) = multiplicity (Associates.mk
+ ↑(d ⟨associatesEquivOfUniqueUnits (associatesEquivOfUniqueUnits.symm p), by
+ simp [dvd_of_mem_normalizedFactors hp]⟩)) (Associates.mk n) by
simpa only [multiplicity_mk_eq_multiplicity, associatesEquivOfUniqueUnits_symm_apply,
associatesEquivOfUniqueUnits_apply, out_mk, normalize_eq] using this
- have :
- Associates.mk
- (d ⟨associatesEquivOfUniqueUnits (associatesEquivOfUniqueUnits.symm p), by
- simp only [dvd_of_mem_normalizedFactors hp, associatesEquivOfUniqueUnits_symm_apply,
- associatesEquivOfUniqueUnits_apply, out_mk, normalize_eq]⟩ : N) =
- ↑(mkFactorOrderIsoOfFactorDvdEquiv hd
- ⟨associatesEquivOfUniqueUnits.symm p, by
- rw [associatesEquivOfUniqueUnits_symm_apply]
- exact mk_le_mk_of_dvd (dvd_of_mem_normalizedFactors hp)⟩) :=
+ have : Associates.mk (d ⟨associatesEquivOfUniqueUnits (associatesEquivOfUniqueUnits.symm p), by
+ simp only [dvd_of_mem_normalizedFactors hp, associatesEquivOfUniqueUnits_symm_apply,
+ associatesEquivOfUniqueUnits_apply, out_mk, normalize_eq]⟩ : N) =
+ ↑(mkFactorOrderIsoOfFactorDvdEquiv hd ⟨associatesEquivOfUniqueUnits.symm p, by
+ rw [associatesEquivOfUniqueUnits_symm_apply]
+ exact mk_le_mk_of_dvd (dvd_of_mem_normalizedFactors hp)⟩) :=
by rw [mkFactorOrderIsoOfFactorDvdEquiv_apply_coe]
rw [this]
letI := Classical.decEq (Associates M)
The unported dependencies are