|- !b P. Bounded b P = (?f. !x. P x ==> (?n. n < b /\ (x = f n)))
|- !P. Finite P = (?b. Bounded b P)
|- !x X. Infinite_Path x X = (?s. (s 0 = x) /\ (!d. X (s d) (s (SUC d))))
|- !x X. Unbounded_Path x X = (!n. ?s. (s 0 = x) /\ (!d. d < n ==> X (s d) (s (SUC d))))
|- !P. Finite P = (?b f. !x. P x = (?n. n < b /\ (x = f n)))
|- !x X. (!s. Finite (X s)) ==> Unbounded_Path x X ==> Infinite_Path x X
|- !E R. (!n. Finite (E n) /\ (?x. E n x) /\ (!x'. E (SUC n) x' ==> (?x. E n x /\ R x x'))) ==> (?a. !n. E n (a n) /\ R (a n) (a (SUC n)))