primitive recursive functions (chapter 3)
DESCRIPTION
Primitive Recursive Functions (Chapter 3). Preliminaries: partial and total functions. The domain of a partial function on set A contains the subset of A. The domain of a total function on set A contains the entire set A. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/1.jpg)
1
Primitive Recursive Functions(Chapter 3)
![Page 2: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/2.jpg)
2
Preliminaries: partial and total functions
The domain of a partial function on set A contains the subset of A. The domain of a total function on set A contains the entire set A.
A partial function f is called partially computable if there is some program that computes it. Another term for such functions partial recursive.
Similarly, a function f is called computable if it is both total and partially computable. Another term for such function is recursive.
![Page 3: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/3.jpg)
3
Composition Let f : A → B and g : B → C Composition of f and g can then be expressed as:
g f : A → C ͦ
(g f)(x) = g(f(x)) ͦ
h(x) = g(f(x))
NB: In general composition is not commutative:( g ͦ f )(x) ≠ ( f ͦ g )(x)
![Page 4: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/4.jpg)
4
Composition Definition: Let g be a function containing k
variables and f1 ... fk be functions of n variables, so the composition of g and f is defined as:
h(0) = k Base step
h( x1, ... , xn) = g( f1(x1 ,..., xn), … , fk(x1 ,..., xn) ) Inductive step
Example: h(x , y) = g( f1(x , y), f2(x , y), f3(x , y) ) h is obtained from g and f1... fk by composition. If g and f1...fk are (partially) computable, then h is
(partially) computable. (Proof by construction)
![Page 5: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/5.jpg)
5
Recursion From programming experience we know that recursion refers
to a function calling upon itself within its own definition.
Definition: Let g be a function containing k variables then h is obtained through recursion as follows:
h(x1 , … , xn) = g( … , h(x1 , … , xn) )Example: x + y
f( x , 0 ) = x (1)
f(x , y+1 ) = f( x , y ) + 1 (2)
Input: f ( 3, 2 ) => f ( 3 , 1 ) + 1 => ( f ( 3 , 0 ) + 1 ) + 1 => ( 3 + 1 ) + 1 => 5
![Page 6: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/6.jpg)
6
PRC: Initial functions Primitive Recursively Closed (PRC) class of functions. Initial functions:
Example of a projection function: u2 ( x1 , x2 , x3 , x4 , x5 ) = x2
Definition: A class of total functions C is called PRC² class if: The initial functions belong to C. Function obtained from functions belonging to C by
either composition or recursion belongs to C.
s(x) = x + 1 n(x) = 0 ui (x1 , … , xn) = xi
![Page 7: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/7.jpg)
7
PRC: primitive recursive functions
There exists a class of computable functions that is a PRC class.
Definition: Function is considered primitive recursive if it can be obtained from initial functions and through finite number of composition and recursion steps.
Theorem: A function is primitive recursive iff it belongs to the PRC class. (see proof in chapter 3)
Corollary: Every primitive recursive function is computable.
![Page 8: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/8.jpg)
8
Primitive recursive functions: sum
We have already seen the addition function, which can be rewritten in LRR as follows:
sum( x, succ(y) ) => succ( sum( x , y)) ;
sum( x , 0 ) => x ;
Example: sum(succ(0),succ(succ(succ(0)))) => succ(sum(succ(0),succ(succ(0)))) => succ(succ(sum(succ(0),succ(0)))) => succ(succ(succ(sum(succ(0),0) => succ(succ(succ(succ(0))) => succ(succ(succ(1))) => succ(succ(2)) => succ(3) => 4
NB: To prove that a function is primitive recursive you need show that it can be obtained from the initial functions using only concatenation and recursion.
![Page 9: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/9.jpg)
9
Primitive recursive functions: multiplication
h( x , 0 ) = 0h( x , y + 1) = h( x , y ) + x
In LRR this can be written as:
mult(x,0) => 0 ;mult(x,succ(y)) => sum(mult(x,y),x) ;
What would happen on the following input?
mult(succ(succ(0)),succ(succ(0)))
![Page 10: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/10.jpg)
10
Primitive recursive functions: factorial
0! = 1( x + 1 ) ! = x ! * s( x )
LRR implementation would be as follows:fact(0) => succ(null(0)) ;fact(succ(x)) => mult(fact(x),succ(x)) ;
Output for the following? fact(succ(succ(null(0))))
![Page 11: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/11.jpg)
11
Primitive recursive functions: power and predecessor
xx=x
=xy+y *
11
0
In LRR the power function can be expressed as follows:
pow(x,0) => succ(null(0)) ;pow(x,succ(y)) => mult(pow(x,y),x) ;
p (0) = 0p ( t + 1 ) = t
Power function
Predecessor function In LRR the predecessor is as follows:
pred(1) => 0 ;pred(succ(x)) => x ;
![Page 12: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/12.jpg)
12
Primitive recursive functions: , | x – y | and α∸
x 0 = x∸ x ( t + 1) = p( x t )∸ ∸
| x – y | = ( x y ) + ( y x )∸ ∸
α(x) = 1 x∸
dotsub(x,x) => 0 ;dotsub(x,succ(y)) => pred(dotsub(x,y)) ;
abs(x,y) => sum(dotsub(x,y),dotsub(y,x)) ;
α(x) => dotsub(1,x) ;
What would be the output? dotsub(succ(succ(succ(0))),succ(0))
Output for the following?a(succ(succ(0)))a(null(0))
001
)(
x
otherwiseif
x
![Page 13: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/13.jpg)
13
Primitive recursive functionsx + y f( x , 0 ) = x
f( x , y + 1 ) = f( x , y ) + 1
x * y h( x , 0 ) = 0 h( x , y + 1 ) = h( x , y ) + x
x! 0! = 1 ( x + 1 )! = x! * s(x)
x^y x^0 = 1 x^( y + 1 ) = x^y * x
p(x) p( 0 ) = 0 p( x + 1 ) = x
x y ∸if x ≥ y then x y = ∸ x – y; else x y = ∸ 0
x 0 = x∸ x ( t + 1) = p( x ∸ t )∸
| x – y | | x – y | = ( x y ) + ( y x )∸ ∸
α(x) α(x) = 1 x∸
![Page 14: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/14.jpg)
14
Bounded quantifiers
Theorem: Let C be a PRC class. If f( t , x1 , … , xn) belongs to C then so do the functions
g( y , x1 , ... , xn ) = f( t , x1 , …, xn )g( y , x1 , ... , xn ) = f( t , x1 , …, xn )
y
t 0
y
t 0
![Page 15: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/15.jpg)
15
Bounded quantifiers
Theorem: Let C be a PRC class. If f( t , x1 , … , xn) belongs to C then so do the functions
g( y , x1 , ... , xn ) = f( t , x1 , …, xn )
g( y , x1 , ... , xn ) = f( t , x1 , …, xn ) Theorem: If the predicate P( t, x1 , … , xn ) belongs to some
PRC class C, then so do the predicates:
( t)≤y P(t, x1, … , xn )
( t)∃ ≤y P(t, x1, … , xn )
y
t 0
y
t 0
![Page 16: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/16.jpg)
16
Primitive recursive predicatesx = y d( x , y ) = α( | x – y | )
x ≤ y α ( x y )∸
~P α( P )
P & Q P * Q
P v Q ~ ( ~P & ~Q )
y | x y | x = ( t)∃ ≤x { y * t = x }
Prime(x) Prime(x) = x > 1 & ( t)≤x { t = 1 v t = x v ~( t | x ) }
Exercises for Chapter 3: page 62 Questions 3,4 and 5. Fibonacci function
![Page 17: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/17.jpg)
17
Bounded minimalizationLet P(t, x1, … ,xn) be in some PRC class C and we can define a function g as follows:
n1,.
y
u=
u
=tn1, x,xt,P=x,xt,g .....
0 0
![Page 18: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/18.jpg)
18
Bounded minimalizationLet P(t, x1, … ,xn) be in some PRC class C and we can define a function g as follows:
n1,.
y
u=
u
=tn1, x,xt,P=x,xt,g .....
0 0
P (t,x1, . . . ,xn )=0 for t<t0
P (t 0, x1, . .. ,xn )=1,where
![Page 19: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/19.jpg)
19
Bounded minimalizationLet P(t, x1, … ,xn) be in some PRC class C and we can define a function g as follows:
n1,.
y
u=
u
=tn1, x,xt,P=x,xt,g .....
0 0
P (t,x1, . . . ,xn )=0 for t<t0
P (t 0, x1, . .. ,xn )=1,where
Function g also belongs to C as it is attained from composition of primitive recursive functions.
![Page 20: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/20.jpg)
20
Bounded minimalizationLet P(t, x1, … ,xn) be in some PRC class C and we can define a function g as follows:
n1,.
y
u=
u
=tn1, x,xt,P=x,xt,g .....
0 0
P (t,x1, . . . ,xn )=0 for t<t0
P (t 0, x1, . .. ,xn )=1,where
Function g also belongs to C as it is attained from composition of primitive recursive functions.
t0 is the least value for for which the predicate P is true (1).
![Page 21: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/21.jpg)
21
Bounded minimalizationLet P(t, x1, … ,xn) be in some PRC class C and we can define a function g as follows:
n1,.
y
u=
u
=tn1, x,xt,P=x,xt,g .....
0 0
P (t,x1, . . . ,xn )=0 for t<t0
P (t 0, x 1, . .. ,xn )=1,where
Function g also belongs to C as it is attained from composition of primitive recursive functions.
t0 is the least value for for which the predicate P is true (1).
False=x,xt,Ptt
True=x,xt,Pt<t
n1,
n1,0
0...:1...:
0
![Page 22: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/22.jpg)
22
Bounded minimalizationLet P(t, x1, … ,xn) be in some PRC class C and we can define a function g as follows:
n1,.
y
u=
u
=tn1, x,xt,P=x,xt,g .....
0 0
P (t,x1, . . . ,xn )=0 fort<t0
P (t 0, x1, . . . ,xn)=1,where
Function g also belongs to C as it is attained from composition of primitive recursive functions.
t0 is the least value for for which the predicate P is true (1).
False=x,xt,Ptt
True=x,xt,Pt<t
n1,
n1,0
0...:1...:
0
00
0
0..
1..
tu if=x,xt,P
t<u if=x,xt,P
n1,.
u
= t
0n1,.
u
= t
![Page 23: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/23.jpg)
23
Bounded minimalizationLet P(t, x1, … ,xn) be in some PRC class C and we can define a function g as follows:
n1,.
y
u=
u
=tn1, x,xt,P=x,xt,g .....
0 0
P (t,x1, . . . ,xn )=0 for t<t0
P (t 0, x1, . .. ,xn )=1,where
Function g also belongs to C as it is attained from composition of primitive recursive functions.
t0 is the least value for for which the predicate P is true (1).
False=x,xt,Ptt
True=x,xt,Pt<t
n1,
n1,0
0...:1...:
0
00
0
0..
1..
tu if=x,xt,P
t<u if=x,xt,P
n1,.
u
= t
0n1,.
u
= t
g ( y,x1, . . . ,xn )=∑ 1=1=t 0 for u<t0
![Page 24: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/24.jpg)
24
Bounded minimalizationLet P(t, x1, … ,xn) be in some PRC class C and we can define a function g as follows:
n1,.
y
u=
u
=tn1, x,xt,P=x,xt,g .....
0 0
P (t,x1, . . . ,xn )=0 for t<t0
P (t 0, x1,. .. ,xn )=1,where
Function g also belongs to C as it is attained from composition of primitive recursive functions.
t0 is the least value for for which the predicate P is true (1).
False=x,xt,Ptt
True=x,xt,Pt<t
n1,
n1,0
0...:1...:
0
00
0
0..
1..
tu if=x,xt,P
t<u if=x,xt,P
n1,.
u
=t
0n1,.
u
=t
g ( y,x 1, . . . ,xn )=∑ 1=1=t 0 for u<t0
g( y , x1 , ... , xn ) produces the least value for which P is true. Finally the definition for bounded minimalization can be given as:
otherwise=x,xt,P
x,xt,Ptifx,xy,g=x,xt,P
nnimyt
nytnnnimyt
0..
......
1,.
1,.1,.1,.
![Page 25: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/25.jpg)
25
Bounded minimalizationLet P(t, x1, … ,xn) be in some PRC class C and we can define a function g as follows:
n1,.
y
u=
u
=tn1, x,xt,P=x,xt,g .....
0 0
P (t,x1, . . . ,xn )=0 for t<t0
P (t 0, x1, . .. ,xn )=1,where
Function g also belongs to C as it is attained from composition of primitive recursive functions.
t0 is the least value for for which the predicate P is true (1).
False=x,xt,Ptt
True=x,xt,Pt<t
n1,
n1,0
0...:1...:
0
00
0
0..
1..
tu if=x,xt,P
t<u if=x,xt,P
n1,.
u
=t
0n1,.
u
=t
g ( y,x 1, . . . ,xn )=∑ 1=1=t 0 for u<t0
g( y , x1 , ... , xn ) produces the least value for which P is true. Finally the definition for bounded minimalization can be given as:
Theorem: If P(t,x1, … ,xn) belongs to some PRC class C and there is function g that does the bounded minimalization for P, then f belongs to C.
otherwise=x,xt,P
x,xt,Ptifx,xy,g=x,xt,P
nnimyt
nytnnnimyt
0..
......
1,.
1,.1,.1,.
![Page 26: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/26.jpg)
26
Unbounded minimalization
Definition: y is the least value for which predicate P is true if it exists. If there is no value of y for which P is true, the unbounded minimalization is undefined.
miny
P ( x1,. .. , x n , y )
![Page 27: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/27.jpg)
27
Unbounded minimalization
Definition: y is the least value for which predicate P is true if it exists. If there is no value of y for which P is true, the unbounded minimalization is undefined.
We can then define this as a non-total function in the following way:
miny
P ( x1,. .. , x n , y )
x− y=minz
[ y+ z= x ]
![Page 28: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/28.jpg)
28
Unbounded minimalization
Definition: y is the least value for which predicate P is true if it exists. If there is no value of y for which P is true, the unbounded minimalization is undefined.
We can then define this as a non-total function in the following way:
Theorem: If P(x1, … , xn, y) is a computable predicate and if
then g is a partially computable function.
(Proof by construction)
miny
P ( x1,. .. , x n , y )
x− y=minz
[ y+ z= x ]
g ( x1,. .. , xn)= miny
P (x1,. .. , x n , y )
![Page 29: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/29.jpg)
29
Additional primitive recursive functions
[ x / y ] , the whole part of the division i.e. [10/4]=2
R(x,y) , remainder of the division of x by y.
pn , nth prime number i.e p1=2 , p2=3 etc.
yxyx=yx,R /*-
x>y+t=yx nimxt
*1/
p0=0,pn+ 1= min
t < p n!+ 1[ Prime( t )& t> pn]
![Page 30: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/30.jpg)
30
Pairing functionsLet us consider the following primitive recursive function that provides a coding for two numbers x and y.
1 - 12y2>< +=yx, x
![Page 31: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/31.jpg)
31
Pairing functionsLet us consider the following primitive recursive function that provides a coding for two numbers x and y.
Example: <1,1> = 2 * ( 2 + 1 ) 1 = 6 1 = 5∸ ∸ <1,2> = 2 * ( 2*2 + 1) 1 = 10 1 = 9∸ ∸
1-12y2>< +=yx, x
![Page 32: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/32.jpg)
32
Pairing functionsLet us consider the following primitive recursive function that provides a coding for two numbers x and y.
Example: <1,1> = 2 * ( 2 + 1 ) 1 = 6 1 = 5∸ ∸ <1,2> = 2 * ( 2*2 + 1) 1 = 10 1 = 9∸ ∸
12y21:012y2 +=+>yx,<followsasrearrangecanweso,+thatNote xx
1-12y2>< +=yx, x
![Page 33: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/33.jpg)
33
Pairing functionsLet us consider the following primitive recursive function that provides a coding for two numbers x and y.
Example: <1,1> = 2 * ( 2 + 1 ) 1 = 6 1 = 5∸ ∸ <1,2> = 2 * ( 2*2 + 1) 1 = 10 1 = 9∸ ∸
12y21:012y2 +=+>yx,<followsasrearrangecanweso,+thatNote xx
Define z to be as: < x , y > = z Then for any z there is always a unique solution x and y.
1-12y2>< +=yx, x
![Page 34: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/34.jpg)
34
Pairing functionsLet us consider the following primitive recursive function that provides a coding for two numbers x and y.
Example: <1,1> = 2 * ( 2 + 1 ) 1 = 6 1 = 5∸ ∸ <1,2> = 2 * ( 2*2 + 1) 1 = 10 1 = 9∸ ∸
12y21:012y2 +=+>yx,<followsasrearrangecanweso,+thatNote xx
Define z to be as: < x , y > = z Then for any z there is always a unique solution x and y.
1212y21 +zof divisor the isthen,+=+zthatGiven xx
x+z=+Then 2/112y
1-12y2>< +=yx, x
![Page 35: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/35.jpg)
35
Pairing functionsLet us consider the following primitive recursive function that provides a coding for two numbers x and y.
Example: <1,1> = 2 * ( 2 + 1 ) 1 = 6 1 = 5∸ ∸ <1,2> = 2 * ( 2*2 + 1) 1 = 10 1 = 9∸ ∸
12y21:012y2 +=+>yx,<followsasrearrangecanweso,+thatNote xx
Define z to be as: < x , y > = z Then for any z there is always a unique solution x and y.
1212y21 +zof divisor the isthen,+=+zthatGiven xx
x+z=+Then 2/112y
Thus we have the solutions for x and y which can then be defined using the following functions:
zzr=yzzl=x
1-12y2>< +=yx, x
![Page 36: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/36.jpg)
36
Pairing functions
More formally this can written as:
Pairing Function Theorem: functions <x,y>, l(z), r(z) have the following properties:
are primitive recursive l(<x,y>) = x and r(<x,y>) = y < l(z) , r(z) > = z l(z) , r(z)≤ z
zzr=y
zzl=x
]><[
]><[
yx,=zx=zr
yx,=zy=zl
znimzy
znimzx
![Page 37: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/37.jpg)
37
Gödel numbers
Let (a1, … , an) be any sequence, then the Gödel number is computed as follows:
[a1, ... , an]=∏i=1
n
pia i
![Page 38: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/38.jpg)
38
Gödel numbers
Let (a1, … , an) be any sequence, then the Gödel number is computed as follows:
Example: Take a sequence (1,2,3,4), the Gödel number will be computed as follows: 4321 75321,2,3,4 =
[a1, ... , an]=∏i=1
n
pia i
![Page 39: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/39.jpg)
39
Gödel numbers
Let (a1, … , an) be any sequence, then the Gödel number is computed as follows:
Example: Take a sequence (1,2,3,4), the Gödel number will be computed as follows:
Gödel numbering has a special uniqueness property:
If [a1, … , an ] = [ b1, … , bn ] thenai = bi , where i = 1, … , n
4321 75321,2,3,4 =
[a1, ... , an]=∏i=1
n
pia i
![Page 40: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/40.jpg)
40
Gödel numbers
Let (a1, … , an) be any sequence, then the Gödel number is computed as follows:
Example: Take a sequence (1,2,3,4), the Gödel number will be computed as follows:
Gödel numbering has a special uniqueness property:
If [a1, … , an ] = [ b1, … , bn ] thenai = bi , where i = 1, … , n
Also notice: [ a1, … , an ] = [ a1, … , an, 0 ]
4321 75321,2,3,4 =
[a1, ... , an]=∏i=1
n
pia i
![Page 41: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/41.jpg)
41
Gödel numbers Given that x = [a1, … , an ], we can now define two important functions:
00Lt
|~ 1t
=xijjx=x
xp=a=x
jxinimxi
inimxtii
![Page 42: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/42.jpg)
42
Gödel numbers Given that x = [a1, … , an ], we can now define two important functions:
Example: Let x = [ 4 , 3 , 2 , 1 ], then (x)2 = 3 and (x)4=1 and (x)0 = 0
00Lt
|~ 1t
=xijjx=x
xp=a=x
jxinimxi
inimxtii
![Page 43: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/43.jpg)
43
Gödel numbers Given that x = [a1, … , an ], we can now define two important functions:
Example: Let x = [ 4 , 3 , 2 , 1 ], then (x)2 = 3 and (x)4=1 and (x)0 = 0
Lt(10) = will be the length of the sequence derived using Gödel numbering
00Lt
|~ 1t
=xijjx=x
xp=a=x
jxinimxi
inimxtii
![Page 44: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/44.jpg)
44
Gödel numbers Given that x = [a1, … , an ], we can now define two important functions:
Example: Let x = [ 4 , 3 , 2 , 1 ], then (x)2 = 3 and (x)4=1 and (x)0 = 0
Lt(10) = will be the length of the sequence derived using Gödel numbering
So: 10 = 2^1 * 3^0 * 5^1 = [ 1, 0, 1 ] => Lt(10) = 3
00Lt
|~ 1t
=xijjx=x
xp=a=x
jxinimxi
inimxtii
![Page 45: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/45.jpg)
45
Gödel numbers Given that x = [a1, … , an ], we can now define two important functions:
Example: Let x = [ 4 , 3 , 2 , 1 ], then (x)2 = 3 and (x)4=1 and (x)0 = 0
Lt(10) = will be the length of the sequence derived using Gödel numbering
So: 10 = 2^1 * 3^0 * 5^1 = [ 1, 0, 1 ] => Lt(10) = 3
Sequence Number Theorem:
otherwiseniifa
=a,a in 0
1...1,(1)
00Lt
|~ 1t
=xijjx=x
xp=a=x
jxinimxi
inimxtii
![Page 46: Primitive Recursive Functions (Chapter 3)](https://reader035.vdocuments.site/reader035/viewer/2022081421/56815a95550346895dc810db/html5/thumbnails/46.jpg)
46
Gödel numbers Given that x = [a1, … , an ], we can now define two important functions:
Example: Let x = [ 4 , 3 , 2 , 1 ], then (x)2 = 3 and (x)4=1 and (x)0 = 0
Lt(10) = will be the length of the sequence derived using Gödel numbering
So: 10 = 2^1 * 3^0 * 5^1 = [ 1, 0, 1 ] => Lt(10) = 3
Sequence Number Theorem:
otherwiseniifa
=a,a in 0
1...1,(1)
(2) xnifx=x,x n Lt...1,
00Lt
|~ 1t
=xijjx=x
xp=a=x
jxinimxi
inimxtii