@@ -193,7 +193,7 @@ lemma eq_bot_iff_forall_ne {x : WithBot α} : x = ⊥ ↔ ∀ a : α, ↑a ≠ x
193193 Option.eq_none_iff_forall_some_ne
194194
195195@[to_dual]
196- theorem forall_ne_bot {p : WithBot α → Prop } : (∀ x, x ≠ ⊥ → p x) ↔ ∀ x : α, p x := by
196+ theorem forall_ne_bot {p : WithBot α → Prop } : (∀ x ≠ ⊥, p x) ↔ ∀ x : α, p x := by
197197 simp [ne_bot_iff_exists]
198198
199199@[to_dual]
@@ -627,6 +627,26 @@ lemma forall_le_coe_iff_le [NoBotOrder α] : (∀ a : α, y ≤ a → x ≤ a)
627627 · simp [WithBot.none_eq_bot, eq_bot_iff_forall_le]
628628 · exact ⟨fun h ↦ h _ le_rfl, fun hmn a ham ↦ hmn.trans ham⟩
629629
630+ @ [to_dual (attr := simp) forall_lt_coe]
631+ theorem forall_coe_lt {p : WithBot α → Prop } :
632+ (∀ x, (a : WithBot α) < x → p x) ↔ ∀ b, a < b → p b := by
633+ simp [WithBot.forall]
634+
635+ @ [to_dual (attr := simp) exists_lt_coe]
636+ theorem exists_coe_lt {p : WithBot α → Prop } :
637+ (∃ x, (a : WithBot α) < x ∧ p x) ↔ ∃ b, a < b ∧ p b := by
638+ simp [WithBot.exists]
639+
640+ @ [to_dual (attr := simp) forall_le_coe]
641+ theorem forall_coe_le {p : WithBot α → Prop } :
642+ (∀ x, (a : WithBot α) ≤ x → p x) ↔ ∀ b, a ≤ b → p b := by
643+ simp [WithBot.forall]
644+
645+ @ [to_dual (attr := simp) exists_le_coe]
646+ theorem exists_coe_le {p : WithBot α → Prop } :
647+ (∃ x, (a : WithBot α) ≤ x ∧ p x) ↔ ∃ b, a ≤ b ∧ p b := by
648+ simp [WithBot.exists]
649+
630650end Preorder
631651
632652@[to_dual]
0 commit comments