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_concatP {X : Type} {P : X -> Prop} {ls : list (list X)} :
Forall P (concat ls) <-> Forall (fun l => Forall P l) ls.