Module Type HO_REC.
Parameter HORec : forall {A} `{ageable A} X (f: (X -> pred A) -> (X -> pred A)), X -> pred A.
Parameter Rec : forall {A} `{ageable A} (f: pred A -> pred A), pred A.

Axiom Rec_fold_unfold : forall {A} `{ageable A} f (H:contractive f),
Rec f = f (Rec f).