fact: Definition rectS (P: forall {n}, t (S n) -> Type) (P1: forall n, @P n F1) (PS : forall {n} (p: t (S n)), P p -> P (FS p)): forall {n} (p: t (S n)), P p := fix rectS_fix {n} (p: t (S n)): P p:= match p with | @F1 k => P1 k | @FS 0 pp => case0 (fun f => P (FS f)) pp | @FS (S k) pp => PS pp (rectS_fix pp) end.
imports: PeanoNat