Skip to content

Commit 7d9358e

Browse files
committed
refactor: deduplicate PartialOrder (Order.Ideal P) instances (leanprover-community#37467)
These cause a problem in leanprover-community#34820. The latter instance `Order.Ideal.instPartialOrderIdeal` is unnecessary, because `PartialOrder.ofSetLike` is required to use `IsConcreteLE`-related results. Co-authored-by: Komyyy <pol_tta@outlook.jp>
1 parent 71bf6f4 commit 7d9358e

1 file changed

Lines changed: 17 additions & 19 deletions

File tree

Mathlib/Order/Ideal.lean

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,11 @@ instance : SetLike (Ideal P) P where
107107
coe s := s.carrier
108108
coe_injective' _ _ h := toLowerSet_injective <| SetLike.coe_injective h
109109

110+
/-- The partial ordering by subset inclusion, inherited from `Set P`. -/
110111
instance : PartialOrder (Ideal P) := .ofSetLike (Ideal P) P
111112

113+
@[deprecated (since := "2026-04-01")] alias instPartialOrderIdeal := Order.Ideal.instPartialOrder
114+
112115
@[ext]
113116
theorem ext {s t : Ideal P} : (s : Set P) = t → s = t :=
114117
SetLike.ext'
@@ -136,10 +139,6 @@ protected theorem isIdeal (s : Ideal P) : IsIdeal (s : Set P) :=
136139
theorem mem_compl_of_ge {x y : P} : x ≤ y → x ∈ (I : Set P)ᶜ → y ∈ (I : Set P)ᶜ := fun h ↦
137140
mt <| I.lower h
138141

139-
/-- The partial ordering by subset inclusion, inherited from `Set P`. -/
140-
instance instPartialOrderIdeal : PartialOrder (Ideal P) :=
141-
PartialOrder.lift SetLike.coe SetLike.coe_injective
142-
143142
theorem coe_subset_coe : (s : Set P) ⊆ t ↔ s ≤ t :=
144143
Iff.rfl
145144

@@ -358,21 +357,20 @@ instance : Max (Ideal P) :=
358357
le_sup_left, le_sup_right⟩
359358
lower' := fun _ _ h ⟨yi, hi, yj, hj, hxy⟩ ↦ ⟨yi, hi, yj, hj, h.trans hxy⟩ }⟩
360359

361-
instance : Lattice (Ideal P) :=
362-
{ Ideal.instPartialOrderIdeal with
363-
sup := (· ⊔ ·)
364-
le_sup_left := fun _ J i hi ↦
365-
let ⟨w, hw⟩ := J.nonempty
366-
⟨i, hi, w, hw, le_sup_left⟩
367-
le_sup_right := fun I _ j hj ↦
368-
let ⟨w, hw⟩ := I.nonempty
369-
⟨w, hw, j, hj, le_sup_right⟩
370-
sup_le := fun _ _ K hIK hJK _ ⟨_, hi, _, hj, ha⟩ ↦
371-
K.lower ha <| sup_mem (mem_of_mem_of_le hi hIK) (mem_of_mem_of_le hj hJK)
372-
inf := (· ⊓ ·)
373-
inf_le_left := fun _ _ ↦ inter_subset_left
374-
inf_le_right := fun _ _ ↦ inter_subset_right
375-
le_inf := fun _ _ _ ↦ subset_inter }
360+
instance : Lattice (Ideal P) where
361+
sup := (· ⊔ ·)
362+
le_sup_left := fun _ J i hi ↦
363+
let ⟨w, hw⟩ := J.nonempty
364+
⟨i, hi, w, hw, le_sup_left⟩
365+
le_sup_right := fun I _ j hj ↦
366+
let ⟨w, hw⟩ := I.nonempty
367+
⟨w, hw, j, hj, le_sup_right⟩
368+
sup_le := fun _ _ K hIK hJK _ ⟨_, hi, _, hj, ha⟩ ↦
369+
K.lower ha <| sup_mem (mem_of_mem_of_le hi hIK) (mem_of_mem_of_le hj hJK)
370+
inf := (· ⊓ ·)
371+
inf_le_left := fun _ _ ↦ inter_subset_left
372+
inf_le_right := fun _ _ ↦ inter_subset_right
373+
le_inf := fun _ _ _ ↦ subset_inter
376374

377375
@[simp]
378376
theorem coe_sup : ↑(s ⊔ t) = { x | ∃ a ∈ s, ∃ b ∈ t, x ≤ a ⊔ b } :=

0 commit comments

Comments
 (0)