intros.
inversion H.
assumption.
Qed.

Lemma my_nth_rec :
forall P : nat -> list B -> B -> Set,
(forall (l : list B) (a : B), P 0 (a :: l) a) ->
(forall (n : nat) (l : list B) (b : B),
my_nth n l b -> P n l b -> forall a : B, P (S n) (a :: l) b) ->
forall (n : nat) (l : list B) (y : B), my_nth n l y -> P n l y.