⁇Incompleteness and Undecidability Unit 4 – Peano Arithmetic & Recursive Functions
Peano arithmetic and recursive functions form the foundation of mathematical logic and computability theory. These concepts formalize natural numbers and define computable functions, enabling rigorous study of mathematical structures and algorithms.
From Peano axioms to primitive recursive functions and beyond, this unit explores the building blocks of formal arithmetic. It delves into the power and limitations of recursive definitions, showcasing their applications in mathematics and computer science.
Decidability refers to the existence of an effective method to determine membership in a set
Peano Axioms Explained
Peano axioms consist of nine axioms that define the natural numbers and their properties
First axiom asserts the existence of a natural number 0
Second axiom defines the successor function S(n), which returns the next natural number
Third axiom states that 0 is not the successor of any natural number
Fourth axiom asserts that if S(a)=S(b), then a=b (injectivity of the successor function)
Fifth through eighth axioms define the properties of addition and multiplication
Ninth axiom is the induction axiom, enabling proofs by mathematical induction
Induction axiom: If a property holds for 0 and, whenever it holds for a natural number n, it also holds for S(n), then the property holds for all natural numbers
Building Natural Numbers
Natural numbers are constructed using the Peano axioms, starting with 0 and the successor function
0 is the first natural number, defined by the first axiom
Successive natural numbers are obtained by repeatedly applying the successor function: S(0),S(S(0)),S(S(S(0))),…
The natural number 1 is defined as S(0), 2 as S(S(0)), 3 as S(S(S(0))), and so on
Addition of natural numbers is defined recursively using the successor function
a+0=a
a+S(b)=S(a+b)
Multiplication of natural numbers is also defined recursively using addition
a⋅0=0
a⋅S(b)=a+(a⋅b)
Introduction to Recursive Functions
Recursive functions are defined in terms of themselves, enabling computation over natural numbers
Recursive definitions consist of one or more base cases and one or more recursive cases
Base cases specify the function's value for certain inputs without recursion
Recursive cases define the function's value in terms of the function itself applied to smaller inputs
Recursive functions can be unary (one argument), binary (two arguments), or n-ary (n arguments)
Examples of recursive functions include addition, multiplication, exponentiation, and factorial
Factorial function: 0!=1 (base case), n!=n⋅(n−1)! for n>0 (recursive case)
Primitive Recursive Functions
Primitive recursive functions are a subset of total recursive functions built using specific rules
Basic primitive recursive functions include the zero function, successor function, and projection functions
More complex primitive recursive functions are built using composition and primitive recursion
Composition combines existing primitive recursive functions to create new ones
If f and g are primitive recursive, then h(x1,…,xn)=f(g(x1,…,xn)) is also primitive recursive
Primitive recursion defines a function using recursion and previously defined primitive recursive functions
If f and g are primitive recursive, then h defined by h(0,x)=f(x) and h(S(y),x)=g(y,h(y,x),x) is also primitive recursive
Examples of primitive recursive functions include addition, multiplication, exponentiation, and factorial
General Recursive Functions
General recursive functions, also known as μ-recursive functions, extend primitive recursive functions
μ-recursion allows the definition of functions using unbounded search (minimization)
The μ operator finds the least natural number satisfying a given condition
μy.f(x1,…,xn,y)=0 denotes the least y such that f(x1,…,xn,y)=0
Ackermann function is an example of a total recursive function that is not primitive recursive
A(0,n)=n+1
A(m+1,0)=A(m,1)
A(m+1,n+1)=A(m,A(m+1,n))
General recursive functions are equivalent to the functions computable by Turing machines (Church-Turing thesis)
Applications and Examples
Recursive functions have numerous applications in mathematics, computer science, and logic
In number theory, recursive functions define arithmetic operations and number-theoretic functions
Fibonacci sequence: F(0)=0, F(1)=1, F(n)=F(n−1)+F(n−2) for n>1
In computer science, recursive functions are used to implement algorithms and data structures
Merge sort: Recursively divide the list into halves, sort each half, and merge the sorted halves
Recursive functions are essential for defining and studying formal systems and their properties
Gödel numbering assigns unique natural numbers to formulas and proofs, enabling meta-mathematics
Recursive functions can model and analyze the behavior of complex systems and processes
Population growth models: P(0)=P0 (initial population), P(t+1)=r⋅P(t) (growth rate r)
Limitations and Extensions
Not all total functions on natural numbers are primitive recursive (e.g., Ackermann function)
μ-recursive functions extend primitive recursive functions but may not always terminate
Some functions, like the busy beaver function, are not computable by any recursive function
Higher-order recursive functions allow recursion on functions themselves, not just natural numbers
Recursive functionals are higher-order functions that take recursive functions as arguments
Transfinite recursion extends recursive definitions to ordinals beyond the natural numbers
Recursion theory studies the properties and limitations of recursive functions and related concepts
Recursively enumerable sets are the domains of partial recursive functions
Recursive sets are both recursively enumerable and have recursively enumerable complements