Section Maxl.
Fixpoint maxl (l : list nat) : nat :=
match l with
| nil => 0
| n :: l' => max n (maxl l')
end.

Lemma maxl_map_0 A l (f : A -> nat) : (* if n=0, we don't need l ≠ [] *)
(forall x, In x l -> (f x) = 0) ->
maxl (map f l) = 0.