{α : Sort u} →
  (rel : α → α → Prop) →
    (rel_refl : ∀ {x : α}, rel x x) →
      (rel_trans : ∀ {x y z : α}, rel x y → rel y z → rel x z) →
        (rel_antisymm : ∀ {x y : α}, rel x y → rel y x → x = y) →
          (∀ {c : α → Prop}, Lean.Order.chain c → Exists (Lean.Order.is_sup c)) → Lean.Order.CCPO α