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_caseS {n' : nat} (phi : forall x, PrimRecs x (S n') -> Type)
(phi_cons: forall n, forall f', forall fs', phi n (PRs_cons n n' f' fs'))
: forall x, forall fs, phi x fs.