Definition maxList(ls : list nat) : nat :=
  fold_left max ls O.

(* Specifications: *)
Lemma fold_left_max_ge_init : forall (ls : list nat)(n : nat), fold_left max ls n >= n.
Lemma maxList_correct_h : forall (ls : list nat)(n init : nat), In n ls -> fold_left max ls init >= n.
Theorem maxList_correct : forall (ls : list nat) n, In n ls -> maxList ls >= n.