(** Max of elements of a list of [nat]: [list_max] *)
Definition list_max l := fold_right max 0 l.

(* Specifications: *)
Lemma list_max_app : forall l1 l2,
list_max (l1 ++ l2) = max (list_max l1) (list_max l2).
Lemma list_max_le : forall l n,
list_max l <= n <-> Forall (fun k => k <= n) l.
Lemma list_max_lt : forall l n, l <> [] ->
list_max l < n <-> Forall (fun k => k < n) l.