Definition Forall_tl (A : Type) (P : A -> Prop) (a : A) (l : list A)
           (H : Forall P (a :: l)): Forall P l.

Lemma nthD_1 {A B}: forall (f: A ->B) n l d fx dd, (n < length l)%nat -> nth n (map f l) d = fx -> exists x, In x l /\ nth n l dd = x /\ f x = fx.