A [[UsefulNotes/{{Mathematics}} mathematical]] function made with recursion, also called induction, involves defining some values with one or more base cases and defining the rest in terms of other values of the same function. For example, the factorial function ''x''! is defined with the following rules:

* 0! = 1

* ''x''! = ''x'' * (''x'' - 1)!, that is, a number's factorial is the number times the previous number's factorial.

Thus, 1! = 1 * 0! = 1, 2! = 2 * 1! = 2, 3! = 3 * 2! = 6, 4! = 4 * 3! = 24, 5! = 5 * 4! = 120, etc.

Recursion in computer science involves a method, function, or subroutine calling itself. For example, a "flood fill" or "paint bucket" tool fills matching pixels to the left and to the right and then applies the tool to the pixels above and below the pixels that were changed. Programs written in [[UsefulNotes/ProgrammingLanguage languages]] descended from Lisp make heavy use of recursion.

Subtropes include RecursiveReality. Can induce a MindScrew.

[[SelfDemonstratingArticle If you don't already understand this concept]], [[Administrivia/LinkingToAnArticleWithinTheArticle see]] {{Recursion}}.