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

Axiom HORec_fold_unfold : forall {A} `{ageable A} X f (H:HOcontractive (X:=X) f),
HORec f = f (HORec f).