In mathematics, the **successor function** or **successor operation** sends a natural number to the next one. The successor function is denoted by *S*, so *S*(*n*) = *n* + 1. For example, *S*(1) = 2 and *S*(2) = 3. The successor function is one of the basic components used to build a primitive recursive function.

Successor operations are also known as **zeration** in the context of a zeroth hyperoperation: H_{0}(*a*, *b*) = 1 + *b*. In this context, the extension of zeration is addition, which is defined as repeated succession.

The successor function is part of the formal language used to state the Peano axioms, which formalise the structure of the natural numbers. In this formalisation, the successor function is a primitive operation on the natural numbers, in terms of which the standard natural numbers and addition are defined.^{[1]} For example, 1 is defined to be *S*(0), and addition on natural numbers is defined recursively by:

*m*+ 0= *m*,*m*+*S*(*n*)= *S*(*m*+*n*).

This can be used to compute the addition of any two natural numbers. For example, 5 + 2 = 5 + *S*(1) = *S*(5 + 1) = *S*(5 + *S*(0)) = *S*(*S*(5 + 0)) = *S*(*S*(5)) = *S*(6) = 7.

Several constructions of the natural numbers within set theory have been proposed. For example, John von Neumann constructs the number 0 as the empty set {}, and the successor of *n*, *S*(*n*), as the set *n* ∪ {*n*}. The axiom of infinity then guarantees the existence of a set that contains 0 and is closed with respect to *S*. The smallest such set is denoted by **N**, and its members are called natural numbers.^{[2]}

The successor function is the level-0 foundation of the infinite Grzegorczyk hierarchy of hyperoperations, used to build addition, multiplication, exponentiation, tetration, etc. It was studied in 1986 in an investigation involving generalization of the pattern for hyperoperations.^{[3]}

It is also one of the primitive functions used in the characterization of computability by recursive functions.