Skip to content

Commit aa9c8d0

Browse files
committed
feat(Order/Antisymmetrization): comparable minimal elements are equivalent
1 parent d0060d7 commit aa9c8d0

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

Mathlib/Order/Antisymmetrization.lean

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -442,6 +442,31 @@ theorem AntisymmRel.symmGen_congr_right (h : AntisymmRel (· ≤ ·) b c) :
442442

443443
end SymmGen
444444

445+
-- TODO: `to_dual` doesn't work with `AntisymmRel` or `SymmGen`.
446+
theorem Minimal.antisymmRel_of_ge [Preorder α] {P : α → Prop} (ha : Minimal P a) (hb : P b)
447+
(hge : b ≤ a) : AntisymmRel (· ≤ ·) a b :=
448+
⟨ha.le_of_le hb hge, hge⟩
449+
450+
theorem Maximal.antisymmRel_of_le [Preorder α] {P : α → Prop} (ha : Maximal P a) (hb : P b)
451+
(hle : a ≤ b) : AntisymmRel (· ≤ ·) a b :=
452+
⟨hle, ha.le_of_ge hb hle⟩
453+
454+
theorem Minimal.antisymmRel_of_symmGen [Preorder α] {P : α → Prop} (ha : Minimal P a)
455+
(hb : Minimal P b) (hab : Relation.SymmGen (· ≤ ·) a b) : AntisymmRel (· ≤ ·) a b :=
456+
hab.elim (fun h ↦ (hb.antisymmRel_of_ge ha.prop h).symm) (ha.antisymmRel_of_ge hb.prop)
457+
458+
theorem Maximal.antisymmRel_of_symmGen [Preorder α] {P : α → Prop} (ha : Maximal P a)
459+
(hb : Maximal P b) (hab : Relation.SymmGen (· ≤ ·) a b) : AntisymmRel (· ≤ ·) a b :=
460+
hab.elim (ha.antisymmRel_of_le hb.prop) (fun h ↦ (hb.antisymmRel_of_le ha.prop h).symm)
461+
462+
theorem Minimal.eq_of_symmGen [PartialOrder α] {P : α → Prop} (ha : Minimal P a)
463+
(hb : Minimal P b) (hab : Relation.SymmGen (· ≤ ·) a b) : a = b :=
464+
(ha.antisymmRel_of_symmGen hb hab).eq
465+
466+
theorem Maximal.eq_of_symmGen [PartialOrder α] {P : α → Prop} (ha : Maximal P a)
467+
(hb : Maximal P b) (hab : Relation.SymmGen (· ≤ ·) a b) : a = b :=
468+
(ha.antisymmRel_of_symmGen hb hab).eq
469+
445470
section Prod
446471

447472
variable (α β) [Preorder α] [Preorder β]

0 commit comments

Comments
 (0)