Section PrimRecs_case.
Let cast (x : nat) (n : nat) (m : nat) (EQ : n = m) : PrimRecs x n -> PrimRecs x m :=
match EQ with
| eq_refl => fun xs => xs
end.

Lemma PrimRecs_case0 (phi : forall x, PrimRecs x O -> Type)
(phi_nil : forall n, phi n (PRs_nil n))
: forall x, forall fs, phi x fs.