+ inversion IHp as [n Hyp]; clear IHp.
simpl.
exists (S n).
rewrite app_length.
rewrite Hyp.
simpl.
omega.
+ inversion IHp as [n Hyp]; clear IHp.
simpl.
exists (S n).
rewrite app_length.
rewrite Hyp.
simpl.
omega.
+ exists (O).
simpl.
auto.
Qed.

Lemma evenPathAux : forall l l' l'' lApp f n p, length l = (2 * n)%nat ->
pathToPosAux (l ++ l' ++ l'') f = Some p ->
exists f', pathToPosAux (l ++ l') f = pathToPosAux l' f'
/\ pathToPosAux (l ++ l' ++ lApp) f =
pathToPosAux (l' ++ lApp) f'.