primitive recursive functions without primitive recursion

primitive recursive functions without primitive recursion

What sorts of

functions

can be built from the simplest

primitive recursive functions

(the initial functions) using

functional

composition

alone? In this entry, we list some useful examples:

To begin with, we list the initial functions:

1.

(

zero function

)

z

⁢

(

x

)

=

0

,

2.

(successor function)

s

⁢

(

x

)

=

x

+

1

,

3.

(projection functions)

p

i

n

⁢

(

x

1

,

…

,

x

n

)

=

x

i

for

i

=

1

,

…

,

n

; in particular, we have the

identity function

id

⁡

(

x

)

=

x

, which is just

p

1

1

.

With the help of functional composition, more functions can be derived:

1.

(

addition

by a fixed number

n

)

s

n

⁢

(

x

)

=

x

+

n

, which can be obtained by repeated application of the successor function

s

:

s

n

:=

s

∘

s

∘

⋯

∘

s

⏟

n

⁢

times

,

2.

(

constant functions

)

const

1

⁡

(

x

)

=

1

, which is just

s

⁢

(

z

⁢

(

x

)

)

; more generally,

const

n

⁡

(

x

)

=

n

is

s

n

⁢

(

z

⁢

(

x

)

)

, where

s

n

is defined previously.

Next, we list some

properties

derivable

using functional composition which are preserved by

primitive

recursiveness.

1.

(

permutation

of

variables

) if

f

⁢

(

x

1

,

…

,

x

n

)

is primitive recursive, then so is any function

g

obtained from

f

by permuting the variables

x

i

:

g

⁢

(

x

1

,

…

,

x

n

)

=

f

⁢

(

x

σ

⁢

(

1

)

,

…

,

x

σ

⁢

(

n

)

)

,

where

σ

is a permutation on

{

1

,

…

,

n

}

;

2.

(removing a variable) if

f

⁢

(

x

1

,

…

,

x

n

,

x

n

+

1

)

is primitive recursive, then so is

g

defined by

g

⁢

(

x

1

,

…

,

x

n

)

:=

f

⁢

(

x

1

,

…

,

x

n

,

x

n

)

;

3.

(adding a variable) if

f

⁢

(

x

1

,

…

,

x

n

)

is primitive recursive, then so is

g

defined by

g

⁢

(

x

1

,

…

,

x

n

,

x

n

+

1

)

:=

f

⁢

(

x

1

,

…

,

x

n

)

.

Proof.

All of the above can be proved by appropriately substituting the suitable projection functions:

1.

For each

i

=

1

,

…

,

n

, let

h

i

=

p

σ

⁢

(

i

)

n

. Then each

h

i

is primitive recursive, and therefore

g

=

f

⁢

(

h

1

,

…

,

h

n

)

is primitive recursive also.

2.

For each

i

=

1

,

…

,

n

, let

h

i

=

p

i

n

, and

h

n

+

1

=

p

n

n

. Then each

h

i

is primitive, and therefore

g

=

f

⁢

(

h

1

,

…

,

h

n

+

1

)

is primitive recursive also.

3.

For each

i

=

1

,

…

,

n

, let

h

i

=

p

i

n

+

1

. Then each

h

i

is primitive recursive, and therefore

g

=

f

⁢

(

h

1

,

…

,

h

n

)

is primitive recursive also.

∎

As a

corollary

, we see that primitive recursiveness is preserved under generalized composition, in the following sense:

Corollary 1

.

If

g

i

:

N

k

i

→

N

, where

i

=

1

,

…

,

n

, and

h

:

N

n

→

N

are primitive recursive, then the function

f

, given by

f

⁢

(

x

1

,

…

,

x

m

)

=

h

⁢

(

g

1

⁢

(

x

t

1

⁢

(

1

)

,

…

,

x

t

1

⁢

(

k

1

)

)

,

…

,

g

n

⁢

(

x

t

n

⁢

(

1

)

,

…

,

x

t

n

⁢

(

k

n

)

)

)

,

where each

t

i

is a function on

{

1

,

…

,

k

i

}

, and

m

≥

max

⁡

{

k

1

,

…

,

k

n

}

, is also primitive recursive.

Proof.

Define

h

i

⁢

(

x

1

,

…

,

x

m

)

:=

g

i

⁢

(

x

t

i

⁢

(

1

)

,

…

,

x

t

i

⁢

(

k

i

)

)

. Then by repeated applications of the properties listed above, we see that

h

i

is primitive recursive. Hence

f

=

h

⁢

(

h

1

,

…

,

h

n

)

is also primitive recursive. ∎

Title

primitive recursive functions without primitive recursion

Canonical

name

PrimitiveRecursiveFunctionsWithoutPrimitiveRecursion

Date of creation

2013-03-22 19:08:09

Last modified on

2013-03-22 19:08:09

Owner

CWoo (3771)

Last modified by

CWoo (3771)

Numerical id

7

Author

CWoo (3771)

Entry type

Example

Classification

msc 03D20

Generated on Thu Feb 8 20:04:28 2018 by

LaTeXML