Module Type NAxiomsRec (Import NZ : NZDomainSig').
Parameter Inline recursion : forall {A : Type}, A -> (t -> A -> A) -> t -> A.
Declare Instance recursion_wd {A : Type} (Aeq : relation A) :
Proper (Aeq ==> (eq==>Aeq==>Aeq) ==> eq ==> Aeq) recursion.

Axiom recursion_succ :
forall {A} (Aeq : relation A) (a : A) (f : t -> A -> A),
Aeq a a -> Proper (eq==>Aeq==>Aeq) f ->
forall n, Aeq (recursion a f (S n)) (f n (recursion a f n)).