|Description: Define a general-purpose
operation that builds a recursive sequence
(i.e. a function on the positive integers or some other upper
integer set) whose value at an index is a function of its previous value
and the value of an input sequence at that index. This definition is
complicated, but fortunately it is not intended to be used directly.
Instead, the only purpose of this definition is to provide us with an
object that has the properties expressed by iseq1 9791 and iseqp1 9796.
Typically, those are the main theorems that would be used in practice.
The first operand in the parentheses is the operation that is applied to
the previous value and the value of the input sequence (second operand).
The operand to the left of the parenthesis is the integer to start from.
For example, for the operation , an input sequence with
values 1, 1/2, 1/4, 1/8,... would be transformed into the output
sequence with values 1, 3/2, 7/4, 15/8,.., so
etc. In other words,
transforms a sequence
into an infinite
Internally, the frec function generates as its values a set of
ordered pairs starting at , with the first
member of each pair incremented by one in each successive value. So,
the range of frec is exactly the sequence we want, and we just
extract the range and throw away the domain.
(Contributed by Jim Kingdon, 29-May-2020.)