Section ForallNorm.
Variable T : Type.
Variable P : T -> Prop.
(* use: rewrite ? Forall_norm *)
Definition Forall_norm := (@Forall_appP, @Forall_singletonP, @Forall_consP, @Forall_nilP).
End ForallNorm.

Lemma Forall_mapP {X Y : Type} {P : Y -> Prop} {f : X -> Y} {l : list X} :
Forall P (map f l) <-> Forall (fun x => P (f x)) l.