Section POSITIVE_ITERATION.
Variable A: Type.
Variable v1: A.
Variable f: positive -> A -> A.
Let iter (x: positive) (P: forall y, Plt y x -> A) : A :=
match peq x xH with
| left EQ => v1
| right NOTEQ => f (Pos.pred x) (P (Pos.pred x) (Ppred_Plt x NOTEQ))
end.
Definition positive_rec : positive -> A :=
Fix Plt_wf (fun _ => A) iter.

Lemma positive_rec_succ:
forall x, positive_rec (Pos.succ x) = f x (positive_rec x).