Definition move_forward {A}(i j:nat)(l:list A)(d:A) : list A :=
  firstn i l ++ firstn j (skipn (S i) l) ++ (nth i l d :: skipn (S (i+j)) l).

Lemma in_move_forward_iff : forall A x i j d (l:list A), i < length l -> (In x (move_forward i j l d) <-> In x l).