universe u

class MyClass (α : Type u) extends LE α where
  sup : α → α → α
  le_refl : ∀ a : α, a ≤ a
  sup_of_le_left : ∀ a b : α, b ≤ a → sup a b = a

instance : MyClass Prop where
  le p q := p → q
  sup p q := p ∨ q
  le_refl _ := id
  sup_of_le_left _ _ h := propext ⟨Or.rec id h, Or.inl⟩

/--
info: Try this:
  [apply] simp only [MyClass.le_refl, MyClass.sup_of_le_left]
-/
#guard_msgs in
example : MyClass.sup False False = False := by
  simp? [MyClass.sup_of_le_left, MyClass.le_refl]
