Corollary StronglySorted_sort : forall l,
  Transitive leb -> StronglySorted leb (sort l).Definition t := nat.Fixpoint leb x y :=
    match x, y with
    | 0, _ => true
    | _, 0 => false
    | S x', S y' => leb x' y'
    end.Infix "<=?" := leb (at level 70, no associativity).

(* Specifications: *)
Theorem leb_total : forall a1 a2, a1 <=? a2 \/ a2 <=? a1.