∀ {α : Type u} [inst : LT α] [inst_1 : LE α] [inst_2 : DecidableLT α] [DecidableLE α] [inst_4 : DecidableEq α],
  (∀ {x y : α}, x ≤ y → y ≤ x → x = y) →
    (∀ {x y z : α}, x ≤ y → y ≤ z → x ≤ z) →
      (∀ (x y : α), x ≤ y ∨ y ≤ x) → (∀ {x y : α}, ¬x ≤ y ↔ y < x) → Std.TransCmp fun x y => compareOfLessAndEq x y