End Append.
Section Forall2.

(* Specifications: *)
Lemma Forall2_le_refl l: Forall2 le l l.
Lemma Forall2_firstn {A B:Type} (P:A→B→Prop) la lb n:
Forall2 P la lb → Forall2 P (firstn n la) (firstn n lb).
Lemma Forall2_skipn {A B:Type} (P:A→B→Prop) la lb n:
Forall2 P la lb → Forall2 P (skipn n la) (skipn n lb).
Lemma Forall2_firstn_skipn_iff {A B:Type} (P:A→B→Prop) la lb n:
Forall2 P la lb ↔ Forall2 P (firstn n la) (firstn n lb) ∧ Forall2 P (skipn n la) (skipn n lb).
Lemma Forall2_tail {A B:Type} (P:A→B→Prop) la lb:
Forall2 P la lb → Forall2 P (tl la) (tl lb).