# Recursive definition

In mathematics and computer science, a **recursive definition**, or **inductive definition**, is used to define the elements in a set in terms of other elements in the set (Aczel 1977:740ff). Some examples of recursively-definable objects include factorials, natural numbers, Fibonacci numbers, and the Cantor ternary set.[1]

A recursive definition of a function defines values of the function for some inputs in terms of the values of the same function for other (usually smaller) inputs. For example, the factorial function *n*! is defined by the rules

- 0! = 1.
- (
*n*+ 1)! = (*n*+ 1)·*n*!.

This definition is valid for each natural number *n*, because the recursion eventually reaches the **base case** of 0. The definition may also be thought of as giving a procedure for computing the value of the function *n*!, starting from *n* = 0 and proceeding onwards with *n* = 1, *n* = 2, *n* = 3 etc.

The recursion theorem states that such a definition indeed defines a function that is unique The proof uses mathematical induction.[2]

An inductive definition of a set describes the elements in a set in terms of other elements in the set. For example, one definition of the set **N** of natural numbers is:

- 1 is in
**N**. - If an element
*n*is in**N**then*n*+ 1 is in**N**. **N**is the intersection of all sets satisfying (1) and (2).

There are many sets that satisfy (1) and (2) – for example, the set {1, 1.649, 2, 2.649, 3, 3.649, ...} satisfies the definition. However, condition (3) specifies the set of natural numbers by removing the sets with extraneous members. Note that this definition assumes that **N** is contained in a larger set (such as the set of real numbers) — in which the operation + is defined.

Properties of recursively defined functions and sets can often be proved by an induction principle that follows the recursive definition. For example, the definition of the natural numbers presented here directly implies the principle of mathematical induction for natural numbers: if a property holds of the natural number 0 (or 1), and the property holds of *n*+1 whenever it holds of *n*, then the property holds of all natural numbers (Aczel 1977:742).

## Form of recursive definitions

Most recursive definitions have two foundations: a base case (basis) and an inductive clause.

The difference between a circular definition and a recursive definition is that a recursive definition must always have *base cases*, cases that satisfy the definition *without* being defined in terms of the definition itself, and that all other instances in the inductive clauses must be "smaller" in some sense (i.e., *closer* to those base cases that terminate the recursion) — a rule also known as "recur only with a simpler case".[3]

In contrast, a circular definition may have no base case, and even may define the value of a function in terms of that value itself — rather than on other values of the function. Such a situation would lead to an infinite regress.

That recursive definitions are valid – meaning that a recursive definition identifies a unique function – is a theorem of set theory known as the recursion theorem, the proof of which is non-trivial.[4] Where the domain of the function is the natural numbers, sufficient conditions for the definition to be valid are that the value of (i.e., base case) is given, and that for *n* > 0, an algorithm is given for determining in terms of (i.e., inductive clause).

More generally, recursive definitions of functions can be made whenever the domain is a well-ordered set, using the principle of transfinite recursion. The formal criteria for what constitutes a valid recursive definition are more complex for the general case. An outline of the general proof and the criteria can be found in James Munkres' *Topology*. However, a specific case (domain is restricted to the positive integers instead of any well-ordered set) of the general recursive definition will be given below.[5]

### Principle of recursive definition

Let be a set and let be an element of . If is a function which assigns to each function mapping a nonempty section of the positive integers into , an element of , then there exists a unique function such that

## Examples of recursive definitions

### Elementary functions

Addition is defined recursively based on counting as

Multiplication is defined recursively as

Exponentiation is defined recursively as

Binomial coefficients can be defined recursively as

### Prime numbers

The set of prime numbers can be defined as the unique set of positive integers satisfying

- 1 is not a prime number,
- any other positive integer is a prime number if and only if it is not divisible by any prime number smaller than itself.

The primality of the integer 1 is the base case; checking the primality of any larger integer *X* by this definition requires knowing the primality of every integer between 1 and *X*, which is well defined by this definition. That last point can be proved by induction on *X*, for which it is essential that the second clause says "if and only if"; if it had said just "if" the primality of for instance 4 would not be clear, and the further application of the second clause would be impossible.

### Non-negative even numbers

The even numbers can be defined as consisting of

- 0 is in the set
*E*of non-negative evens (basis clause), - For any element
*x*in the set*E*,*x*+ 2 is in*E*(inductive clause), - Nothing is in
*E*unless it is obtained from the basis and inductive clauses (extremal clause).

### Well formed formulas

It is chiefly in logic or computer programming that recursive definitions are found. For example, a well-formed formula (wff) can be defined as:

- a symbol which stands for a proposition – like
**p**means "Connor is a lawyer." - The negation symbol, followed by a wff – like
**Np**means "It is not true that Connor is a lawyer." - Any of the four binary connectives (
*C*,*A*,*K*, or*E*) followed by two wffs. The symbol**K**means "both are true", so**Kpq**may mean "Connor is a lawyer, and Mary likes music."

The value of such a recursive definition is that it can be used to determine whether any particular string of symbols is "well formed".

**Kpq**is well formed, because it is**K**followed by the atomic wffs**p**and**q**.**NKpq**is well formed, because it is**N**followed by**Kpq**, which is in turn a wff.**KNpNq**is**K**followed by**Np**and**Nq**; and**Np**is a wff, etc.

## Notes

- "The Definitive Glossary of Higher Mathematical Jargon — Recursion".
*Math Vault*. 2019-08-01. Retrieved 2019-10-24. - Henkin, Leon (1960). "On Mathematical Induction".
*The American Mathematical Monthly*.**67**(4): 323–338. doi:10.2307/2308975. ISSN 0002-9890. - "All About Recursion".
*www.cis.upenn.edu*. Retrieved 2019-10-24. - For a proof of Recursion Theorem, see
*On Mathematical Induction*(1960) by Leon Henkin. - Munkres, James (1975).
*Topology, a first course*(1st ed.). New Jersey: Prentice-Hall. p. 68, exercises 10 and 12. ISBN 0-13-925495-1.

## References

- Halmos, Paul (1960).
*Naive set theory*. van Nostrand. OCLC 802530334. - Aczel, Peter (1977). "An introduction to inductive definitions". In Barwise, J. (ed.).
*Handbook of Mathematical Logic*. North-Holland. doi:10.1016/S0049-237X(08)71120-0. ISBN 0-444-86388-5. - Hein, James L. (2010).
*Discrete Structures, Logic, and Computability*. Jones & Bartlett. ISBN 0-7637-7206-2. OCLC 636352297.