PCF

extended

with

real

numbers

Mart

n

H?otzel

Escard?o

Department

of

Computing

Imperial

College

Queen

's

Gate

London

United

Kingdom

E-mail

mhe@doc.ic.ac.uk

Abstract

We

extend

the

programming

language

PCF

with

a

type

for

-LRB-

total

and

partial

-RRB-

real

numbers

By

a

partial

real

number

we

mean

an

element

of

a

cpo

of

intervals

whose

subspace

of

maximal

elements

-LRB-

single-point

intervals

-RRB-

is

homeomorphic

to

the

Euclidean

real

line

We

show

that

partial

real

numbers

can

be

considered

as

continuous

words

Concatenation

of

continuous

words

corresponds

to

refinement

of

partial

information

The

usual

basic

operations

cons

head

and

tail

used

to

explicitly

or

recursively

define

functions

on

words

generalize

to

partial

real

numbers

We

use

this

fact

to

give

an

operational

semantics

to

the

above

referred

extension

of

PCF

We

prove

that

the

operational

semantics

is

sound

and

complete

with

respect

to

the

denotational

semantics

A

program

of

real

number

type

evaluates

to

a

head-normal

form

iff

its

value

is

different

from

if

its

value

is

different

from

then

it

successively

evaluates

to

head-normal

forms

giving

better

and

better

partial

results

converging

to

its

value

Domain

Theory

and

Interval

Analysis

Denotational

and

operational

semantics

Introduction

There

are

several

practical

and

theoretical

approaches

to

exact

real

number

computation

-LRB-

see

eg

-LSB-

-LCB-

-RSB-

-RRB-

However

the

author

is

not

aware

of

any

attempt

to

give

denotational

and

operational

semantics

to

an

implementable

programming

language

with

a

data

type

for

exact

real

numbers

Most

approaches

to

exact

real

number

computation

are

based

on

representation

of

real

numbers

in

other

data

types

such

as

streams

of

digits

or

rational

numbers

P.

di

Gianantonio

-LSB-

-RSB-

discusses

an

extension

of

PCF

with

streams

and

shows

how

to

represent

real

numbers

in

this

extension

-LRB-

see

below

-RRB-

In

this

paper

we

extend

the

programming

language

PCF

-LSB-

-RSB-

with

a

type

for

real

numbers

This

type

is

interpreted

as

the

cpo

of

intervals

introduced

independently

by

R.M.

Moore

in

the

's

-LSB-

-RSB-

and

by

D.S.

Scott

in

the

To

appear

in

Theoretical

Computer

Science

August

early

's

-LSB-

-RSB-

In

fact

such

an

extension

was

one

of

the

problems

left

open

by

G.D

Plotkin

-LSB-

-RSB-

It

is

straight-forward

to

give

a

denotational

semantics

to

such

an

extension

but

it

is

not

immediate

how

to

give

an

operational

semantics

to

it

P.

di

Gianantonio

also

presents

an

extension

of

PCF

with

a

ground

type

interpreted

as

an

algebraic

cpo

of

real

numbers

but

he

does

not

give

an

operational

semantics

to

it

An

important

feature

of

our

approach

to

exact

real

number

computation

is

that

the

programmer

does

not

have

access

to

representations

within

the

programming

language

and

can

think

of

real

numbers

as

abstract

entities

in

the

usual

mathematical

sense

Of

course

the

PCF

interpreter

has

access

only

to

concrete

representations

The

correct

interaction

between

the

abstract

level

and

the

concrete

level

is

usually

referred

to

as

the

Adequacy

Property

-LRB-

of

the

operational

semantics

with

respect

to

the

denotational

semantics

-RRB-

At

the

denotational

level

a

PCF

program

is

just

a

mathematical

expression

denoting

a

number

or

a

function

The

task

of

the

programmer

is

to

find

a

mathematical

expression

denoting

the

entity

that

he

or

she

has

in

mind

This

entity

is

usually

given

by

unrestricted

mathematical

means

In

this

case

the

programmer

has

to

find

an

equivalent

PCF

expression

The

Adequacy

Property

ensures

that

the

entity

denoted

by

the

program

will

actually

be

computed

by

the

PCF

interpreter

and

this

is

why

the

programmer

is

not

concerned

with

representations

We

refer

to

the

elements

of

the

cpo

of

intervals

as

partial

real

numbers

The

domain

of

partial

numbers

is

a

non-algebraic

continuous

cpo

Its

subspace

of

maximal

elements

-LRB-

single-point

intervals

-RRB-

is

homeomorphic

to

the

Euclidean

real

line

so

that

real

numbers

are

special

cases

of

partial

real

numbers

Notice

that

no

algebraic

cpo

can

have

this

property

We

show

that

partial

real

numbers

can

be

considered

as

continuous

words

in

the

sense

that

they

can

be

given

the

structure

of

a

monoid

in

such

a

way

that

it

has

a

submonoid

isomorphic

to

the

monoid

of

words

over

any

finite

alphabet

Moreover

as

it

is

the

case

for

words

the

prefix

preorder

of

the

monoid

of

continuous

words

coincides

with

its

information

order

This

coincidence

is

the

basis

for

the

successful

interaction

between

the

operational

and

denotational

semantics

of

PCF

extended

with

real

numbers

Concatenation

of

continuous

words

have

intuitive

geometrical

and

computational

interpretations

Geometrically

a

concatenation

of

continuous

words

corresponds

to

a

rescaling

of

an

interval

followed

by

a

translation

-LRB-

an

affine

transformation

-RRB-

Computationally

a

concatenation

of

continuous

words

corresponds

to

refinement

of

partial

information

in

a

concatenation

xy

the

partial

real

number

y

refines

the

information

given

by

x

by

selecting

a

subinterval

of

x

The

notion

of

length

of

words

generalizes

to

partial

real

numbers

The

length

of

a

partial

real

number

is

an

extended

non-negative

real

number

being

infinity

iff

the

partial

number

is

maximal

and

zero

iff

the

partial

number

is

bottom

Roughly

speaking

the

length

of

a

partial

number

x

considered

as

a

partial

realization

of

an

unknown

real

number

y

gives

the

number

of

digits

of

an

expansion

of

y

that

x

is

able

to

give

correctly

The

concatenation

operation

adds

lengths

in

the

sense

that

the

length

function

is

a

monoid

homomorphism

from

the

monoid

of

partial

real

numbers

to

the

additive

monoid

of

non-negative

extended

real

numbers

The

usual

basic

operations

cons

head

and

tail

used

to

explicitly

or

recursively

define

functions

on

words

generalize

to

partial

real

numbers

Geometrically

the

operation

cons

is

an

affine

transformation

-LRB-

in

analytic

terms

a

linear

map

-RRB-

on

the

unit

interval

tail

reverses

the

effect

of

cons

and

head

decides

in

which

half

of

the

real

line

its

argument

lies

telling

us

nothing

in

ambiguous

cases

Concatenation

of

partial

numbers

can

be

infinitely

iterated

This

fact

gives

a

notion

of

meaningful

infinite

computation

The

concatenation

of

finite

initial

segments

of

infinite

computations

gives

more

and

more

information

about

the

final

result

in

such

a

way

that

every

piece

of

information

about

the

-LRB-

ideal

-RRB-

result

is

eventually

produced

in

a

finite

amount

of

steps

In

practice

the

terms

of

a

computation

can

be

taken

as

the

partial

numbers

with

distinct

rational

end-points

The

interpretation

of

partial

real

numbers

as

continuous

words

is

related

to

a

well-known

approach

to

real

number

computation

Usual

binary

expansions

are

not

appropriate

representations

for

real

number

computation

for

instance

multiplication

by

three

is

not

computable

if

we

read

the

expansions

from

left

to

right

-LSB-

-RSB-

But

binary

expansions

of

numbers

in

the

signed

unit

interval

-LSB-

-RSB-

allowing

a

digit

turn

out

to

be

effective

-LSB-

-LCB-

-RSB-

In

the

domain

of

partial

numbers

contained

in

the

signed

unit

interval

infinite

concatenations

of

the

partial

numbers

-LSB-

-RSB-

-LSB-

-RSB-

and

-LSB-

-RSB-

correspond

to

binary

expansions

of

numbers

in

the

signed

unit

interval

using

the

digits

and

respectively

We

use

the

fact

that

partial

real

numbers

can

be

considered

as

continuous

words

to

obtain

an

operational

semantics

for

the

extension

of

PCF

referred

above

We

prove

that

the

operational

semantics

enjoys

the

following

Adequacy

Property

a

program

of

real

number

type

evaluates

to

a

head-normal

form

iff

its

value

is

different

from

if

its

value

is

different

from

then

it

successively

evaluates

to

head-normal

forms

giving

better

and

better

partial

results

converging

to

its

value

To

be

accurate

the

interpretation

of

partial

numbers

as

continuous

words

holds

only

for

the

domain

of

partial

real

numbers

contained

in

the

unit

interval

-LRB-

or

any

other

compact

interval

-RRB-

The

domain

of

partial

number

contained

in

the

unit

interval

is

referred

to

as

the

lazy

unit

interval

and

the

domain

of

all

partial

real

numbers

is

referred

to

as

the

lazy

real

line

The

above

results

are

extended

from

the

lazy

unit

interval

to

the

lazy

real

line

via

an

action

of

the

lazy

unit

interval

on

the

lazy

real

line

Organization

In

Section

we

briefly

introduce

the

domain-theoretic

and

topological

aspects

of

partial

real

numbers

which

are

relevant

to

this

paper

In

Section

we

develop

the

idea

that

partial

real

numbers

are

continuous

words

In

Section

we

extend

PCF

with

partial

real

numbers

Finally

in

Section

we

present

some

concluding

remarks

and

directions

for

further

work

The

domain

of

partial

real

numbers

Domains

Our

main

references

to

Domain

Theory

are

-LSB-

-RSB-

and

-LSB-

-RSB-

The

widely

circulated

notes

-LSB-

-RSB-

are

an

excellent

introduction

but

they

do

not

cover

-LRB-

non-algebraic

-RRB-

continuous

cpos

The

book

-LSB-

-RSB-

contains

all

the

domain-theoretic

material

needed

to

understand

PCF

-LRB-

without

real

numbers

-RRB-

as

well

as

a

detailed

account

to

PCF

In

this

paper

a

-LRB-

continuous

Scott

-RRB-

domain

is

defined

to

be

a

bounded

complete

continuous

cpo

notice

that

a

Scott

domain

is

usually

defined

to

be

a

bounded

complete

algebraic

cpo

In

Section

we

make

use

of

elementary

domain

theory

only

and

therefore

the

reader

can

think

of

a

domain

just

as

a

bounded

complete

cpo

But

in

Section

we

make

essential

use

of

continuity

implicitly

in

the

use

of

function

spaces

and

explicitly

in

the

proof

of

the

Adequacy

Theorem

When

we

refer

to

a

dcpo

as

a

topological

space

we

mean

its

set

of

elements

under

its

Scott

topology

-LSB-

-RSB-

The

lazy

real

line

We

denote

by

R

the

set

of

non-empty

compact

subintervals

of

the

real

line

ordered

by

x

v

y

iff

x

y

see

Moore

-LSB-

-RSB-

and

Scott

-LSB-

-RSB-

If

we

add

a

bottom

element

to

the

continuous

dcpo

R

which

can

be

concretely

taken

as

the

interval

-LRB-

-RRB-

then

R

becomes

a

domain

referred

to

as

the

lazy

real

line

For

the

topological

connections

between

Domain

Theory

and

Interval

Analysis

-LSB-

-RSB-

see

-LSB-

-RSB-

In

particular

it

is

shown

that

the

Scott

open

sets

are

the

Moore

open

upper

sets

Since

Moore

restricts

himself

to

monotone

functions

the

results

presented

in

-LSB-

-RSB-

go

through

if

we

replace

the

Moore

topology

by

the

Scott

topology

See

also

-LSB-

-RSB-

for

more

connections

between

Domain

Theory

and

Interval

Analysis

Following

the

points

of

view

of

both

Moore

and

Scott

we

do

not

consider

the

elements

of

R

as

intervals

We

instead

consider

them

as

generalized

real

numbers

in

a

similar

way

that

complex

numbers

are

considered

as

generalized

real

numbers

and

we

call

them

partial

real

numbers

The

maximal

partial

real

numbers

-LRB-

that

is

the

singleton

intervals

-RRB-

are

identified

with

the

real

numbers

This

identification

makes

sense

from

a

topological

view

because

the

subspace

of

maximal

elements

of

R

is

homeomorphic

to

the

Euclidean

real

line

Nonmaximal

partial

real

numbers

can

be

considered

as

partial

realizations

of

real

numbers

For

example

-LSB-

-RSB-

can

be

considered

as

a

partial

realization

of

ss

-LRB-

and

of

several

other

numbers

-RRB-

Hence

the

designation

partial

real

number

A

subset

of

the

lazy

real

line

has

a

join

iff

it

has

an

upper

bound

when

the

join

exists

it

is

the

intersection

of

the

subset

Every

subset

of

the

lazy

real

line

has

a

meet

namely

the

least

interval

-LRB-

most

defined

partial

number

-RRB-

containing

the

union

of

the

set

We

denote

the

left

and

right

end-points

of

a

partial

number

x

by

x

and

x

respectively

so

that

x

-LSB-

x

x

-RSB-

Two

partial

numbers

x

and

y

have

an

upper

bound

iff

they

overlap

In

this

case

their

join

is

the

overlapping

part

that

is

x

t

y

-LSB-

max

-LRB-

x

y

-RRB-

min

-LRB-

x

y

-RRB-

-RSB-

Dually

we

have

that

their

meet

is

given

by

x

u

y

-LSB-

min

-LRB-

x

y

-RRB-

max

-LRB-

x

y

-RRB-

-RSB-

The

way-below

relation

on

the

lazy

real

line

is

given

by

x

o

y

iff

x

or

x

y

and

y

x.

Therefore

a

basis

for

the

lazy

real

line

is

given

by

the

set

containing

and

the

non-maximal

partial

numbers

with

rational

-LRB-

respectively

dyadic

-RRB-

end-points

Recall

that

a

dyadic

number

is

a

rational

of

the

form

m

Order

of

magnitude

on

the

lazy

real

line

We

define

a

strict

order

on

partial

numbers

-LRB-

not

to

be

confused

with

the

strict

version

of

the

information

order

or

with

the

way-below

order

o

-RRB-

by

x

y

iff

x

y

This

relation

is

clearly

irreflexive

transitive

and

asymmetric

in

the

sense

that

x

y

together

with

x

y

is

impossible

We

say

that

two

elements

x

and

y

of

a

domain

are

consistent

written

x

y

if

they

have

a

common

upper

bound

The

consistency

relation

is

always

reflexive

and

symmetric

but

not

transitive

and

it

is

preserved

by

monotone

maps

The

following

proposition

is

immediate

Proposition

For

all

partial

real

numbers

x

and

y

exactly

one

of

the

relations

x

y

x

y

and

x

y

holds

We

define

a

relation

on

partial

numbers

-LRB-

not

to

be

confused

with

the

information

order

v

-RRB-

by

x

y

iff

x

y

This

relation

does

not

enjoy

any

of

the

properties

that

an

order

relation

should

satisfy

and

therefore

the

notation

can

be

misleading

We

introduce

it

only

for

notational

convenience

The

lazy

unit

interval

The

set

I

of

all

partial

numbers

contained

in

the

unit

interval

-LSB-

-RSB-

is

a

domain

referred

to

as

the

lazy

unit

interval

The

bottom

element

of

I

is

the

partial

number

-LSB-

-RSB-

Its

way-below

order

is

given

by

x

o

y

iff

x

or

x

y

and

y

x

or

y

The

lazy

unit

interval

can

be

presented

in

a

geometrically

more

convenient

form

as

follows

The

unit

square

-LSB-

-RSB-

-LSB-

-RSB-

under

the

componentwise

order

induced

by

the

usual

order

on

-LSB-

-RSB-

is

a

continuous

lattice

whose

Lawson

topology

coincides

with

the

Euclidean

topology

on

the

unit

square

see

-LSB-

-RSB-

for

a

proof

of

these

facts

If

we

consider

the

points

below

-LRB-

equivalently

on

the

left

of

-RRB-

the

diagonal

which

goes

from

-LRB-

-RRB-

to

-LRB-

-RRB-

that

is

the

points

-LRB-

x

y

-RRB-

with

x

y

we

get

a

triangle

which

we

refer

to

as

the

unit

triangle

The

unit

triangle

is

easily

seen

to

be

a

domain

Its

maximal

elements

are

the

points

-LRB-

x

y

-RRB-

with

x

y

that

is

the

points

on

the

diagonal

It

turns

out

that

the

unit

triangle

is

isomorphic

to

the

lazy

unit

interval

The

isomorphisms

can

be

taken

as

-LRB-

x

y

-RRB-

-LSB-

y

x

-RSB-

and

-LSB-

x

y

-RSB-

-LRB-

y

x

-RRB-

We

can

think

of

the

unit

triangle

as

a

coordinate

system

for

the

lazy

unit

interval

We

have

a

similar

fact

for

the

lazy

real

line

a

coordinate

system

for

R

is

given

by

the

half-plane

consisting

of

the

points

-LRB-

x

y

-RRB-

with

x

y

A

coordinate

system

for

R

is

obtained

by

adding

a

point

-LRB-

-RRB-

to

the

half-plane

Partial

real

numbers

considered

as

continuous

words

Subsections

-LCB-

are

restricted

to

the

lazy

unit

interval

and

Subsection

extends

the

results

of

these

sections

to

the

lazy

real

line

The

prefix

preorder

of

a

monoid

Recall

that

a

monoid

is

a

set

together

with

a

binary

associative

operation

and

a

neutral

element

for

this

operation

It

is

customary

to

refer

to

this

operation

as

multiplication

but

in

this

paper

it

is

convenient

to

refer

to

it

as

concatenation

By

a

word

over

an

alphabet

we

mean

either

a

finite

word

in

or

an

infinite

word

in

We

denote

the

set

of

all

words

by

Usual

concatenation

of

words

with

the

convention

that

xy

x

if

x

is

infinite

makes

into

a

monoid

with

neutral

element

the

empty

word

In

any

monoid

-LRB-

M

e

-RRB-

we

can

define

a

preorder

called

its

prefix

preorder

by

x

z

iff

xy

z

for

some

y

In

this

case

x

is

called

a

prefix

of

z

and

y

is

called

a

suffix

This

relation

is

reflexive

because

e

is

right

neutral

and

it

is

transitive

because

the

concatenation

operation

is

associative

It

has

e

as

its

least

element

because

e

is

left

neutral

Monoid

homomorphisms

preserve

the

least

element

and

the

prefix

preorder

by

the

very

definition

of

monoid

homomorphism

An

element

x

is

maximal

iff

it

is

left

dominant

in

the

sense

that

xy

x

for

every

y

The

meet

of

a

set

when

it

exists

is

the

greatest

common

prefix

of

the

elements

of

the

set

The

prefix

preorder

of

the

monoid

makes

the

set

into

a

Scott

domain

-LSB-

-RSB-

In

particular

the

prefix

preorder

is

a

partial

order

that

is

it

is

antisymmetric

An

element

of

is

maximal

iff

it

is

an

infinite

word

and

it

is

finite

in

the

domain-theoretic

sense

iff

it

is

a

finite

word

The

concatenation

operation

seen

as

a

function

is

not

continuous

because

it

is

not

even

monotone

But

it

is

continuous

on

its

second

argument

This

can

be

expressed

by

saying

that

left

translations

x

ax

are

continuous

for

all

words

a.

Left

translations

of

a

monoid

We

denote

a

left

translation

x

ax

of

a

monoid

-LRB-

M

e

-RRB-

by

consa

Left

translations

are

monotone

and

consa

-LRB-

M

-RRB-

a

where

a

fx

M

ja

xg

An

element

a

is

left

cancelable

iff

the

translation

consa

is

injective

If

x

is

left

cancelable

and

x

z

we

denote

the

unique

y

such

that

xy

z

by

z

x

so

that

x

-LRB-

z

x

-RRB-

z

The

basic

properties

of

this

-LRB-

partially

defined

-RRB-

quotient

operation

are

x

e

x

x

x

e

-LRB-

y

x

-RRB-

-LRB-

z

y

-RRB-

z

x

-LRB-

xy

-RRB-

z

-LRB-

x

z

-RRB-

y

when

the

quotients

are

defined

Let

a

be

a

left

cancelable

element

of

a

monoid

M

Then

the

co-restriction

of

consa

to

its

image

is

a

bijection

between

the

sets

M

and

a

with

inverse

x

x

a.

Therefore

M

is

a

preordered

set

isomorphic

to

the

set

a

under

the

inherited

order

because

consa

is

monotone

The

left

cancelable

elements

of

are

the

finite

words

It

follows

that

a

is

a

domain

isomorphic

to

for

every

finite

word

a

The

subsection

below

shows

that

the

lazy

unit

interval

has

the

same

property

for

every

non-maximal

partial

number

a

for

a

suitable

concatenation

operation

on

partial

numbers

Concatenation

of

partial

real

numbers

Define

a

binary

operation

-LRB-

x

y

-RRB-

xy

on

I

by

xy

-LSB-

-LRB-

x

x

-RRB-

y

x

-LRB-

x

x

-RRB-

y

x

-RSB-

That

is

given

x

y

I

rescale

and

translate

the

unit

interval

so

that

it

becomes

x

and

define

xy

to

be

the

interval

which

results

from

applying

the

same

rescaling

and

translation

to

y

Then

it

is

immediate

that

xy

is

a

subinterval

of

x

The

rescaling

factor

is

the

diameter

of

x

namely

x

x

and

the

translation

constant

is

the

left

end-point

of

x

If

x

is

maximal

then

its

diameter

is

zero

so

that

xy

x

In

order

to

simplify

notation

we

let

x

stand

for

the

diameter

of

x

and

x

stand

for

the

left

end-point

of

x

This

is

the

notation

of

-LSB-

-RSB-

for

affine

transformations

Notice

that

x

-LSB-

x

x

x

-RSB-

Then

we

can

write

xy

xy

x

Theorem

-LRB-

I

-RRB-

is

a

monoid

with

the

following

properties

-LRB-

i

-RRB-

Its

prefix

preorder

coincides

with

the

information

order

of

the

domain

I.

-LRB-

ii

-RRB-

Its

left

cancelable

elements

are

the

non-maximal

ones

-LRB-

iii

-RRB-

Its

left

translations

preserve

all

meets

and

all

existing

joins

Proof

Let

x

y

z

I

Then

xy

xy

x

x

-LSB-

y

y

y

-RSB-

x

-LSB-

x?y

x

x

-LRB-

y

y

-RRB-

x

-RSB-

Hence

xy

x?y

x

and

xy

x

y.

Therefore

-LRB-

xy

-RRB-

z

xyz

xy

x

yz

x?y

x

x

-LRB-

yz

y

-RRB-

x

x

-LRB-

yz

-RRB-

Now

clearly

x

x

because

by

definition

-LSB-

-RSB-

is

rescaled

and

translated

so

that

it

becomes

x.

Also

x

x

because

by

definition

-LSB-

-RSB-

is

rescaled

and

translated

so

that

it

becomes

itself

hence

x

is

the

application

of

the

identity

to

x.

Therefore

-LRB-

I

-RRB-

is

a

monoid

-LRB-

i

-RRB-

By

construction

x

v

xy

If

x

v

z

and

x

is

maximal

then

xy

x

z

for

every

y

The

proof

of

item

-LRB-

ii

-RRB-

shows

that

if

x

v

z

and

x

is

non-maximal

then

there

is

a

-LRB-

unique

-RRB-

y

such

that

xy

z.

-LRB-

ii

-RRB-

A

rescaling

is

reversible

iff

the

rescaling

factor

is

non-zero

a

translation

is

always

reversible

and

an

element

has

diameter

zero

iff

it

is

maximal

-LRB-

iii

-RRB-

The

linear

maps

p

xp

x

are

either

increasing

order

isomorphisms

between

the

real

line

and

itself

-LRB-

if

x

-RRB-

or

else

constant

maps

-LRB-

if

x

-RRB-

The

above

proof

shows

that

the

concatenation

operation

on

partial

numbers

multiplies

diameters

in

the

sense

that

xy

x

y.

Therefore

xy

x

and

xy

y

the

equalities

holding

iff

x

or

y

Concatenation

of

partial

numbers

has

the

following

geometrical

and

computational

interpretations

In

a

concatenation

xy

the

interval

y

refines

the

information

given

by

x

by

selecting

a

subinterval

of

x.

For

example

the

partial

numbers

-LSB-

-RSB-

-LSB-

-RSB-

-LSB-

-RSB-

and

-LSB-

-RSB-

respectively

select

the

whole

interval

the

first

half

the

second

half

and

the

middle

third

part

Thus

concatenation

of

partial

numbers

allows

for

incremental

computation

on

partial

real

numbers

also

known

as

lazy

evaluation

-LRB-

cf.

Proposition

-RRB-

Hence

the

denomination

lazy

unit

interval

There

is

yet

another

geometrical

interpretation

of

concatenation

induced

by

the

isomorphism

between

the

lazy

unit

interval

and

the

unit

triangle

The

upper

set

of

any

non-maximal

element

x

of

the

unit

triangle

is

clearly

a

triangle

isomorphic

to

the

unit

triangle

via

a

rescaling

of

the

unit

triangle

followed

by

a

translation

Thus

any

element

y

can

be

interpreted

either

as

an

absolute

address

of

a

point

in

the

unit

triangle

or

else

as

a

relative

address

of

a

point

in

the

smaller

triangle

generated

by

x

namely

the

point

xy

obtained

by

applying

the

same

rescaling

and

translation

to

y

We

finish

this

subsection

with

the

following

lemma

Lemma

The

bases

of

the

lazy

unit

interval

consisting

of

respectively

all

nonmaximal

partial

numbers

and

all

non-maximal

partial

numbers

with

rational

end-points

are

submonoids

of

-LRB-

I

-RRB-

closed

under

existing

quotients

in

the

sense

that

if

b

and

c

are

basis

elements

with

b

v

c

then

c

b

is

a

basis

element

too

Proof

Existing

quotients

are

given

by

y

x

-LRB-

y

x

-RRB-

x

def

-LSB-

-LRB-

y

x

-RRB-

x

-LRB-

y

x

-RRB-

x

-RRB-

-RSB-

Therefore

if

x

and

y

have

distinct

-LRB-

rational

-RRB-

end-points

so

does

y

x.

The

basis

consisting

of

all

non-maximal

partial

numbers

with

dyadic

endpoints

is

a

submonoid

but

it

is

not

closed

under

existing

quotients

Infinitely

iterated

concatenations

Let

M

be

a

monoid

with

a

partial

prefix

order

and

joins

of

non-decreasing

chains

and

let

hxnin

be

a

sequence

of

elements

of

M

Then

we

have

that

xn

The

infinitely

iterated

concatenation

of

hxnin

is

defined

to

be

the

join

of

these

partial

concatenations

informally

denoted

by

xn

It

is

also

convenient

to

use

the

informal

notation

t

t

t

yn

t

for

the

join

of

a

chain

yn

An

interval

expansion

of

a

partial

real

number

x

is

a

sequence

of

intervals

hxnin

such

that

x

xn

For

example

interval

expansions

formed

from

the

intervals

are

essentially

decimal

expansions

If

we

think

of

an

infinitely

iterated

concatenation

as

a

computation

the

following

proposition

shows

that

we

can

compute

in

an

incremental

fashion

if

left

translations

are

continuous

Proposition

-LRB-

Infinite

associativity

-RRB-

Let

M

be

a

monoid

with

infinitely

iterated

concatenations

Then

M

satisfies

the

associativity

law

-LRB-

xn

-RRB-

xn

iff

left

translations

preserve

joins

of

non-decreasing

chains

Proof

-LRB-

-RRB-

-RRB-

Assume

that

the

associativity

law

holds

let

hynin

be

a

nondecreasing

chain

of

elements

of

M

and

let

hxnin

be

a

sequence

of

elements

of

M

such

that

ynxn

yn

Then

the

join

of

the

chain

is

the

same

as

the

infinitely

iterated

concatenation

of

the

sequence

hxnin

with

added

as

a

new

first

element

because

xn

yn

as

an

inductive

argument

shows

Therefore

a

-LRB-

t

t

t

yn

t

-RRB-

a

-LRB-

xn

-RRB-

xn

a

t

t

t

t

xn

t

a

t

t

t

t

ayn

t

t

t

t

ayn

t

-LRB-

-LRB-

-RRB-

Assume

that

left

translations

preserve

joins

of

non-decreasing

chains

Then

we

have

that

-LRB-

xn

-RRB-

-LRB-

t

t

t

xn

t

-RRB-

t

t

t

xn

t

t

t

t

t

xn

t

xn

We

denote

the

infinitely

iterated

concatenation

xx

x

of

a

constant

sequence

with

range

x

by

x

An

immediate

consequence

of

the

above

proposition

is

that

x

is

the

least

fixed

point

of

consx

for

any

monoid

with

infinite

concatenations

Now

let

yn

be

a

chain

of

left

cancelable

elements

Then

the

sequence

yn

yn

has

the

elements

of

the

chain

as

partial

concatenations

Therefore

the

join

of

the

chain

is

the

same

as

the

infinite

concatenation

of

the

induced

sequence

Proposition

Consider

the

bases

of

I

consisting

of

respectively

all

nonmaximal

partial

numbers

and

all

non-maximal

partial

numbers

with

rational

end-points

Then

there

is

a

bijection

between

chains

of

basis

elements

and

sequences

of

basis

elements

taking

any

chain

to

a

sequence

whose

infinitely

interated

concatenation

is

the

join

of

the

chain

Therefore

we

can

replace

chains

of

basis

elements

by

-LRB-

arbitrary

-RRB-

sequences

of

basis

elements

and

work

with

infinitely

iterated

concatenations

instead

of

joins

For

monoids

with

infinitely

interated

concatenations

it

is

natural

to

ask

homomorphisms

to

preserve

them

Proposition

A

monoid

homomorphism

preserves

infinitely

iterated

concatenations

iff

it

preserves

joins

of

increasing

chains

Proof

Let

h

L

M

be

a

monoid

homomorphism

between

monoids

L

and

M

-LRB-

-RRB-

-RRB-

Let

hynin

be

an

non-decreasing

chain

of

elements

of

L

having

a

join

and

let

hxnin

be

a

sequence

of

elements

of

L

such

that

ynxn

yn

Then

we

have

that

h

-LRB-

t

t

yn

t

-RRB-

h

-LRB-

xn

-RRB-

h

-LRB-

-RRB-

h

-LRB-

-RRB-

h

-LRB-

xn

-RRB-

h

-LRB-

-RRB-

t

h

-LRB-

-RRB-

h

-LRB-

-RRB-

t

t

h

-LRB-

-RRB-

h

-LRB-

-RRB-

h

-LRB-

xn

-RRB-

t

h

-LRB-

-RRB-

t

t

h

-LRB-

yn

-RRB-

t

because

h

-LRB-

yn

-RRB-

h

-LRB-

xn

-RRB-

h

-LRB-

yn

-RRB-

-LRB-

-LRB-

-RRB-

Let

hxiii

be

a

sequence

of

elements

of

L

having

an

infinitely

iterated

concatenation

Then

we

have

that

h

-LRB-

xn

-RRB-

h

-LRB-

t

t

t

xn

t

-RRB-

h

-LRB-

-RRB-

t

h

-LRB-

-RRB-

t

t

h

-LRB-

xn

-RRB-

t

h

-LRB-

-RRB-

t

h

-LRB-

-RRB-

h

-LRB-

-RRB-

t

t

h

-LRB-

-RRB-

h

-LRB-

-RRB-

h

-LRB-

xn

-RRB-

t

h

-LRB-

-RRB-

h

-LRB-

-RRB-

h

-LRB-

xn

-RRB-

Continuous

words

Concatenation

of

partial

numbers

in

the

lazy

unit

interval

generalizes

concatenation

of

words

over

any

finite

alphabet

in

the

following

sense

Proposition

For

every

finite

n-letter

alphabet

the

monoid

is

isomorphic

to

a

submonoid

of

I.

Moreover

the

induced

embedding

of

into

I

is

a

continuous

monoid

homomorphism

Proof

Without

essential

loss

of

generality

we

prove

the

claim

for

the

twoletter

case

Let

C

be

the

submonoid

of

I

finitely

generated

by

the

partial

numbers

-LSB-

-RSB-

and

-LSB-

-RSB-

Then

C

clearly

contains

the

partial

numbers

corresponding

to

the

intervals

successively

produced

in

the

construction

of

the

Cantor

set

Hence

the

joins

of

strictly

increasing

chains

of

elements

of

C

are

the

elements

of

the

Cantor

set

But

these

joins

are

the

infinitely

iterated

concatenations

of

the

generators

The

set

C

of

finite

and

infinite

concatenations

of

the

generators

is

also

a

submonoid

of

I

which

can

be

considered

as

the

monoid

of

partial

Cantor

numbers

It

is

easy

to

see

that

is

isomorphic

to

C

We

know

that

is

the

free

monoid

over

Hence

there

is

a

unique

monoid

homomorphism

h

C

such

that

h

-LRB-

-RRB-

-LSB-

-RSB-

and

h

-LRB-

-RRB-

-LSB-

-RSB-

But

h

has

a

unique

continuous

extension

to

because

monoid

homomorphisms

are

monotone

and

consists

of

the

finite

elements

-LRB-

in

the

domain-theoretic

sense

-RRB-

of

The

resulting

extension

is

a

monoid

homomorphism

Since

it

takes

an

infinite

word

x

to

the

element

of

the

Cantor

set

whose

ternary

expansion

is

x

it

follows

that

h

is

a

bijection

and

therefore

a

monoid

isomorphism

Therefore

the

elements

of

the

lazy

unit

interval

can

be

considered

as

continuous

words

For

any

word

x

let

length

-LRB-

x

-RRB-

-LSB-

-RSB-

denote

the

length

of

x

defined

in

the

usual

way

For

any

continuous

word

x

I

and

any

real

number

b

we

define

lengthb

-LRB-

x

-RRB-

-LSB-

-RSB-

to

be

logb

-LRB-

x

-RRB-

Thus

lengthb

-LRB-

x

-RRB-

iff

x

is

maximal

and

lengthb

-LRB-

x

-RRB-

iff

x

is

bottom

If

a

continuous

word

x

is

a

partial

realization

of

an

unknown

real

number

y

then

lengthb

-LRB-

x

-RRB-

is

the

number

of

correct

digits

of

an

expansion

to

base

b

of

y

that

x

allows

us

to

know

For

example

if

we

consider

x

-LSB-

-RSB-

as

a

partial

realization

of

an

unknown

real

number

y

then

-LRB-

x

-RRB-

is

roughly

meaning

that

x

allows

us

to

know

two

decimal

digits

of

y.

Proposition

Consider

-LSB-

-RSB-

as

a

monoid

under

addition

and

as

a

domain

under

its

prefix

preorder

-LRB-

which

coincides

with

its

natural

order

-RRB-

-LRB-

i

-RRB-

For

every

real

number

b

lengthb

I

-LSB-

-RSB-

is

a

continuous

monoid

homomorphism

-LRB-

ii

-RRB-

Let

h

be

the

embedding

of

the

monoid

of

words

over

a

finite

n-letter

alphabet

into

I

defined

in

Proposition

Then

length

lengthn

ffi

h.

Proof

Routine

verification

The

first

part

follows

from

the

fact

that

the

concatenation

operation

multiplies

diameters

and

that

logarithms

take

multiplication

to

addition

Corollary

The

infinitely

iterated

concatenation

of

a

sequence

of

continuous

words

is

maximal

iff

the

sum

of

the

lengths

of

the

continuous

words

is

Proof

The

length

function

is

a

continuous

monoid

homomorphism

and

a

partial

number

has

infinite

length

iff

it

is

maximal

The

following

proposition

allows

us

to

prove

some

properties

of

real

number

programs

We

say

that

a

map

f

I

I

is

guarded

if

there

is

a

real

number

ffi

such

that

length

-LRB-

f

-LRB-

x

-RRB-

-RRB-

length

-LRB-

x

-RRB-

ffi

called

a

guarding

constant

for

f

Clearly

left

translations

consa

with

a

are

guarded

with

guarding

constant

length

-LRB-

a

-RRB-

Proposition

Any

continuous

guarded

map

f

I

I

has

a

maximal

partial

number

as

its

unique

fixed

point

Proof

Since

length

-LRB-

fn

-LRB-

-RRB-

-RRB-

nffi

for

every

n

and

length

is

a

continuous

homomorphism

length

-LRB-

Fn

fn

-LRB-

-RRB-

-RRB-

supn

nffi

This

means

that

the

least

fixed

point

of

f

is

maximal

Therefore

it

is

the

unique

fixed

point

of

f

Heads

and

tails

of

continuous

words

We

begin

by

considering

the

head

and

tail

maps

on

words

over

the

alphabet

Let

oe

range

over

and

define

maps

tail

and

head

tail

-LRB-

ffl

-RRB-

ffl

tail

-LRB-

oex

-RRB-

x

head

-LRB-

ffl

-RRB-

head

-LRB-

oex

-RRB-

oe

These

maps

are

continuous

and

we

have

that

tail

-LRB-

consoe

-LRB-

x

-RRB-

-RRB-

x

head

-LRB-

consoe

-LRB-

x

-RRB-

-RRB-

oe

Recall

that

a

pair

of

continuous

maps

s

D

E

and

r

E

D

between

dcpos

D

and

E

with

the

property

that

r

ffi

s

id

is

called

a

section-retraction

pair

-LSB-

-RSB-

In

this

case

s

preserves

all

existing

meets

and

joins

and

s

ffi

r

is

an

idempotent

By

definition

tail

is

a

retraction

and

consoe

is

a

section

Recall

also

that

if

in

addition

the

induced

idempotent

has

s

ffi

r

v

id

then

the

pair

of

maps

s

and

r

are

said

to

be

an

embedding-projection

pair

The

pair

of

maps

tail

and

consoe

are

not

an

embedding-projection

pair

because

for

example

-LRB-

tail

-LRB-

ffl

-RRB-

-RRB-

ffl

id

-LRB-

ffl

-RRB-

Now

define

a

continuous

equality

map

-LRB-

x

y

-RRB-

-LRB-

x

y

-RRB-

ftt

g

by

-LRB-

x

y

-RRB-

tt

if

x

y

and

x

y

if

fx

yg

if

x

y

and

x

y

and

a

continuous

conditional

map

-LRB-

p

x

y

-RRB-

-LRB-

if

p

then

x

else

y

-RRB-

ftt

g

by

if

p

then

x

else

y

x

if

p

tt

ffl

if

p

y

if

p

Then

we

have

that

x

if

head

-LRB-

x

-RRB-

then

-LRB-

tail

-LRB-

x

-RRB-

-RRB-

else

-LRB-

tail

-LRB-

x

-RRB-

-RRB-

-LRB-

-RRB-

Manipulations

of

this

equation

lead

to

usual

explicit

and

recursive

definitions

of

several

functions

For

example

it

follows

from

-LRB-

-RRB-

that

the

identity

function

satisfies

the

equation

id

-LRB-

x

-RRB-

if

head

-LRB-

x

-RRB-

then

-LRB-

id

-LRB-

tail

-LRB-

x

-RRB-

-RRB-

-RRB-

else

-LRB-

id

-LRB-

tail

-LRB-

x

-RRB-

-RRB-

-RRB-

In

fact

the

identity

function

is

the

unique

continuous

map

which

satisfies

the

functional

equation

f

-LRB-

x

-RRB-

if

head

-LRB-

x

-RRB-

then

-LRB-

f

-LRB-

tail

-LRB-

x

-RRB-

-RRB-

-RRB-

else

-LRB-

f

-LRB-

tail

-LRB-

x

-RRB-

-RRB-

-RRB-

The

function

that

switches

the

r

oles

of

the

letters

and

can

be

given

by

the

the

recursive

definition

g

-LRB-

x

-RRB-

if

head

-LRB-

x

-RRB-

then

-LRB-

g

-LRB-

tail

-LRB-

x

-RRB-

-RRB-

-RRB-

else

-LRB-

g

-LRB-

tail

-LRB-

x

-RRB-

-RRB-

-RRB-

In

this

subsection

we

look

for

a

generalization

of

this

theme

for

partial

numbers

The

first

problem

to

be

overcome

is

that

continuous

words

have

nonintegral

lengths

and

in

particular

non-zero

lengths

Moreover

a

continuous

word

of

length

has

infinitely

many

prefixes

of

length

Since

the

head

map

on

words

extracts

a

prefix

of

length

it

is

not

immediately

clear

what

the

head

map

on

continuous

words

should

be

for

words

of

length

Under

the

embedding

of

into

I

defined

in

Proposition

if

we

put

l

-LSB-

-RSB-

and

r

-LSB-

-RSB-

then

Equation

-LRB-

-RRB-

becomes

x

if

x

then

consl

-LRB-

x

l

-RRB-

else

consr

-LRB-

x

r

-RRB-

-LRB-

-RRB-

where

the

conditional

map

is

defined

in

the

same

way

for

partial

numbers

and

the

continuous

comparison

map

-LRB-

x

y

-RRB-

-LRB-

x

y

-RRB-

I

I

ftt

g

is

defined

by

-LRB-

x

y

-RRB-

tt

if

x

y

if

x

y

if

x

y

Remark

If

we

had

x

x

then

this

map

would

not

be

continuous

Then

we

need

a

continuous

map

taila

I

I

for

any

left

cancelable

partial

number

a

with

the

property

that

taila

-LRB-

x

-RRB-

x

a

for

every

x

with

x

v

a

that

is

with

the

property

that

taila

is

a

left-inverse

of

consa

A

ve

attempt

to

obtain

such

a

map

would

be

to

put

taila

-LRB-

x

-RRB-

if

x

a

But

then

taila

would

not

be

continuous

Lemma

Let

a

I

be

a

non-maximal

element

let

taila

I

I

be

any

continuous

left

inverse

of

consa

and

let

fa

be

the

induced

idempotent

Then

for

every

x

I

-LRB-

i

-RRB-

a

v

fa

-LRB-

x

-RRB-

-LRB-

ii

-RRB-

fa

-LRB-

x

-RRB-

x

iff

a

v

x

-LRB-

iii

-RRB-

taila

-LRB-

x

-RRB-

fa

-LRB-

x

-RRB-

a

Proof

-LRB-

-RRB-

a

v

consa

-LRB-

taila

-LRB-

x

-RRB-

-RRB-

fa

-LRB-

x

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-RRB-

Immediate

consequence

of

-LRB-

-RRB-

above

-LRB-

-LRB-

-RRB-

If

a

v

x

then

x

a

-LRB-

x

a

-RRB-

and

fa

-LRB-

x

-RRB-

consa

-LRB-

taila

-LRB-

a

-LRB-

x

a

-RRB-

-RRB-

-RRB-

consa

-LRB-

x

a

-RRB-

x.

-LRB-

-RRB-

taila

-LRB-

x

-RRB-

consa

-LRB-

taila

-LRB-

x

-RRB-

-RRB-

a

fa

-LRB-

x

-RRB-

a.

Thus

in

order

to

obtain

a

continuous

left

inverse

of

consa

we

first

look

for

a

continuous

map

fa

enjoying

properties

-LRB-

-RRB-

and

-LRB-

-RRB-

above

Assume

that

x

a

Then

fa

-LRB-

x

-RRB-

v

fa

-LRB-

x

t

a

-RRB-

x

t

a

because

x

v

x

t

a

Since

a

v

x

t

a

by

-LRB-

-RRB-

and

-LRB-

-RRB-

it

is

natural

to

let

fa

-LRB-

x

-RRB-

be

x

t

a

Then

fa

-LRB-

x

-RRB-

can

be

thought

as

the

truncation

of

x

to

a

because

x

t

a

is

the

greatest

subinterval

of

x

contained

in

a.

Lemma

Let

a

be

an

element

of

I

If

joina

I

I

is

a

monotone

map

such

that

joina

-LRB-

x

-RRB-

x

t

a

for

all

x

a.

then

joina

-LRB-

x

-RRB-

a

for

all

x

a

and

joina

-LRB-

x

-RRB-

a

for

all

x

a.

Proof

Here

we

write

a

to

mean

-LSB-

a

a

-RSB-

of

course

Assume

that

x

a

This

means

that

x

a

Then

-LSB-

x

a

-RSB-

v

x.

Hence

a

joina

-LRB-

-LSB-

x

a

-RSB-

-RRB-

v

joina

-LRB-

x

-RRB-

Therefore

a

joina

-LRB-

x

-RRB-

because

a

is

maximal

The

other

case

is

similar

Lemma

For

all

non-maximal

a

I

define

maps

joina

taila

I

I

by

joina

-LRB-

x

-RRB-

a

if

x

a

x

t

a

if

x

a

a

if

x

a

taila

-LRB-

x

-RRB-

joina

-LRB-

x

-RRB-

a

Then

joina

and

taila

are

continuous

Proof

joina

-LRB-

x

-RRB-

max

-LRB-

a

min

-LRB-

x

a

-RRB-

-RRB-

def

-LSB-

max

-LRB-

a

min

-LRB-

x

a

-RRB-

-RRB-

max

-LRB-

a

min

-LRB-

x

a

-RRB-

-RRB-

-RSB-

Hence

taila

-LRB-

x

-RRB-

max

-LRB-

a

min

-LRB-

x

a

-RRB-

-RRB-

a

-LRB-

max

-LRB-

a

min

-LRB-

x

a

-RRB-

-RRB-

a

-RRB-

a

max

-LRB-

min

-LRB-

-LRB-

x

a

-RRB-

a

-RRB-

-RRB-

Since

joina

and

taila

are

the

pointwise

extensions

of

the

non-decreasing

continuous

maps

r

max

-LRB-

a

min

-LRB-

r

a

-RRB-

-RRB-

-LSB-

-RSB-

-LSB-

-RSB-

r

max

-LRB-

min

-LRB-

-LRB-

r

a

-RRB-

a

-RRB-

-RRB-

-LSB-

-RSB-

-LSB-

-RSB-

respectively

it

follows

that

they

are

continuous

-LRB-

see

Moore

-LSB-

-RSB-

-RRB-

Proposition

For

all

non-maximal

a

I

the

maps

consa

and

taila

form

a

section-retraction

pair

with

joina

as

the

induced

idempotent

Proof

Immediate

consequences

of

Lemmas

and

Notice

that

the

definition

of

joina

makes

sense

even

for

maximal

partial

numbers

a

in

this

case

joina

is

a

constant

map

with

range

a

If

we

define

x

O

y

joinx

-LRB-

y

-RRB-

then

-LRB-

I

O

-RRB-

is

a

monoid

whose

prefix

preorder

coincides

with

the

information

order

on

I.

Of

course

this

monoid

is

not

isomorphic

to

the

monoid

-LRB-

I

-RRB-

This

shows

that

there

are

several

essentially

different

ways

of

making

I

into

a

monoid

inducing

the

information

order

of

I

The

second

problem

to

be

overcome

is

that

Equation

-LRB-

-RRB-

is

true

only

for

a

restricted

set

of

partial

numbers

x

This

problem

is

partially

solved

by

replacing

l

and

r

by

L

-LSB-

-RSB-

and

R

-LSB-

-RSB-

respectively

By

replacing

the

-LRB-

sequential

-RRB-

conditional

by

the

parallel

one

namely

-LRB-

p

x

y

-RRB-

-LRB-

pif

p

then

x

else

y

-RRB-

ftt

g

I

I

I

defined

by

pif

p

then

x

else

y

x

if

p

tt

x

u

y

if

p

y

if

p

-LRB-

cf.

-LSB-

-RSB-

and

Subsection

-RRB-

the

problem

is

completely

solved

Recall

that

the

meet

x

u

y

is

the

greatest

common

prefix

of

the

continuous

words

x

and

y.

Finally

for

each

r

-LSB-

-RSB-

define

headr

I

ftt

g

by

headr

-LRB-

x

-RRB-

-LRB-

x

r

-RRB-

Theorem

For

any

partial

number

x

I

x

pif

head

-LRB-

x

-RRB-

then

consL

-LRB-

tailL

-LRB-

x

-RRB-

-RRB-

else

consR

-LRB-

tailR

-LRB-

x

-RRB-

-RRB-

-LRB-

-RRB-

Proof

By

virtue

of

Proposition

it

suffices

to

check

the

crucial

case

x

Equation

-LRB-

-RRB-

is

true

in

this

case

because

joinL

-LRB-

x

-RRB-

-LSB-

x

-RSB-

joinR

-LRB-

x

-RRB-

-LSB-

x

-RSB-

and

therefore

joinL

-LRB-

x

-RRB-

u

joinR

-LRB-

x

-RRB-

x.

Of

course

there

is

nothing

special

about

the

number

and

the

partial

numbers

-LSB-

-RSB-

and

-LSB-

-RSB-

the

above

theorem

works

for

any

binary

partition

of

the

unit

interval

and

can

be

extended

to

any

finite

n-ary

partition

with

n

The

idea

behind

the

above

theorem

is

strongly

related

to

the

ideas

presented

in

-LSB-

-RSB-

see

Examples

and

See

also

Smyth

's

constructions

of

the

unit

interval

as

inverse

limits

of

finite

topological

structures

-LSB-

-RSB-

Example

-LRB-

Path

composition

-RRB-

The

parallel

conditional

can

be

used

to

overcome

the

fact

that

x

x

is

instead

of

Let

E

be

any

domain

and

let

f

g

I

E

be

continuous

maps

Then

f

and

g

are

-LRB-

generalized

-RRB-

paths

in

the

domain

E.

-LRB-

The

restrictions

of

f

and

g

to

the

singleton

intervals

are

paths

in

the

usual

sense

-LSB-

-RSB-

-RRB-

If

f

-LRB-

-RRB-

g

-LRB-

-RRB-

the

paths

are

said

to

be

composable

Now

define

a

continuous

map

h

I

E

by

h

-LRB-

x

-RRB-

pif

x

then

f

-LRB-

-RRB-

else

g

-LRB-

-RRB-

If

the

paths

are

composable

then

h

is

a

-LRB-

generalized

-RRB-

composite

path

Let

us

check

the

crucial

case

x

h

-LRB-

-RRB-

pif

then

f

-LRB-

-RRB-

else

g

-LRB-

-RRB-

pif

then

f

-LRB-

-RRB-

else

g

-LRB-

-RRB-

f

-LRB-

-RRB-

u

g

-LRB-

-RRB-

f

-LRB-

-RRB-

g

-LRB-

-RRB-

Notice

that

the

sequential

conditional

would

produce

instead

of

f

-LRB-

-RRB-

u

g

-LRB-

-RRB-

and

therefore

h

would

be

undefined

at

If

f

and

g

are

not

composable

then

h

is

a

generalized

composite

path

with

a

jump

at

namely

f

-LRB-

-RRB-

ug

-LRB-

-RRB-

For

instance

if

E

I

and

f

and

g

are

constant

maps

with

range

and

then

h

can

be

thought

as

a

switch

which

turns

on

at

time

In

this

case

the

switch

is

in

the

transition

state

-LSB-

-RSB-

at

time

Notice

that

even

in

this

case

h

is

Scott

continuous

because

it

is

a

composition

of

continuous

maps

The

following

recursive

definitions

generalize

the

recursive

definition

for

real

numbers

presented

in

-LSB-

-RSB-

to

partial

real

numbers

Example

-LRB-

Complement

-RRB-

We

now

derive

a

recursive

definition

of

the

extension

of

the

complement

map

r

r

on

-LSB-

-RSB-

to

I

given

by

x

-LSB-

x

x

-RSB-

Of

course

for

maximal

partial

numbers

this

indeed

coincides

with

the

original

map

up

to

the

identification

of

real

numbers

and

maximal

partial

numbers

We

begin

with

the

following

observation

-LRB-

i

-RRB-

If

x

L

then

x

R.

-LRB-

ii

-RRB-

If

x

R

then

x

L

This

leads

one

to

write

down

the

following

set

of

incomplete

equations

consL

-LRB-

x

-RRB-

consR

-LRB-

-RRB-

consR

-LRB-

x

-RRB-

consL

-LRB-

-RRB-

If

we

can

fill

the

gaps

with

expressions

depending

on

x

then

we

are

almost

done

Routine

algebra

shows

that

the

gaps

can

be

filled

in

an

essentially

unique

way

consL

-LRB-

x

-RRB-

consR

-LRB-

x

-RRB-

consR

-LRB-

x

-RRB-

consL

-LRB-

x

-RRB-

Now

we

reduce

this

two

equations

to

a

single

equation

by

means

of

the

primitive

operations

that

we

have

introduced

x

pif

head

-LRB-

x

-RRB-

then

consR

-LRB-

tailL

-LRB-

x

-RRB-

-RRB-

else

consL

-LRB-

tailR

-LRB-

x

-RRB-

-RRB-

This

can

be

considered

as

a

recursive

definition

of

complement

because

if

we

eliminate

recursion

by

means

of

the

least

fixed

point

operator

then

it

is

possible

to

prove

by

fixed

point

induction

-LSB-

-RSB-

that

complement

is

the

least

-LRB-

in

fact

the

unique

-RRB-

fixed

point

of

the

induced

functional

We

use

fixed

point

induction

in

conjunction

with

an

induction

principle

for

partial

real

numbers

generalizing

the

one

introduced

in

-LSB-

-RSB-

It

is

illustrative

to

unfold

-LSB-

a

b

-RSB-

for

-LSB-

a

b

-RSB-

I

with

-LSB-

a

b

-RSB-

-LSB-

a

b

-RSB-

pif

then

consR

-LRB-

-LSB-

-RSB-

-RRB-

else

consL

-LRB-

-LSB-

-RSB-

-RRB-

consR

-LRB-

-LSB-

-RSB-

-RRB-

u

consL

-LRB-

-LSB-

-RSB-

-RRB-

-LSB-

a

-RSB-

u

-LSB-

b

-RSB-

-LSB-

b

a

-RSB-

Notice

that

the

above

recursive

definition

resembles

a

recursive

definition

with

respect

to

binary

representation

with

L

and

R

corresponding

to

the

digits

and

respectively

Example

-LRB-

Average

-RRB-

We

now

derive

a

recursive

definition

of

the

extension

of

the

average

operation

r

s

r

s

given

by

x

y

-LSB-

x

y

x

y

-RSB-

The

derivation

follows

the

same

pattern

as

the

derivation

of

the

recursive

definition

of

complement

given

in

the

above

example

Initial

observation

-LRB-

i

-RRB-

If

x

y

L

then

x

y

L.

-LRB-

ii

-RRB-

If

x

L

and

y

R

then

x

y

C.

-LRB-

iii

-RRB-

If

x

y

R

then

x

y

R.

where

C

-LSB-

-RSB-

Incomplete

equations

consL

-LRB-

x

-RRB-

consL

-LRB-

y

-RRB-

consL

-LRB-

-RRB-

consL

-LRB-

x

-RRB-

consR

-LRB-

y

-RRB-

consC

-LRB-

-RRB-

consR

-LRB-

x

-RRB-

consL

-LRB-

y

-RRB-

consC

-LRB-

-RRB-

consR

-LRB-

x

-RRB-

consR

-LRB-

y

-RRB-

consR

-LRB-

-RRB-

Gaps

filled

consL

-LRB-

x

-RRB-

consL

-LRB-

y

-RRB-

consL

-LRB-

x

y

-RRB-

consL

-LRB-

x

-RRB-

consR

-LRB-

y

-RRB-

consC

-LRB-

x

y

-RRB-

consR

-LRB-

x

-RRB-

consL

-LRB-

y

-RRB-

consC

-LRB-

x

y

-RRB-

consR

-LRB-

x

-RRB-

consR

-LRB-

y

-RRB-

consR

-LRB-

x

y

-RRB-

Reduction

to

a

single

equation

x

y

pif

head

-LRB-

x

-RRB-

then

pif

head

-LRB-

y

-RRB-

then

consL

-LRB-

tailL

-LRB-

x

-RRB-

tailL

-LRB-

y

-RRB-

-RRB-

else

consC

-LRB-

tailL

-LRB-

x

-RRB-

tailR

-LRB-

y

-RRB-

-RRB-

else

pif

head

-LRB-

y

-RRB-

then

consC

-LRB-

tailR

-LRB-

x

-RRB-

tailL

-LRB-

y

-RRB-

-RRB-

else

consR

-LRB-

tailR

-LRB-

x

-RRB-

tailR

-LRB-

y

-RRB-

-RRB-

In

practice

it

may

be

convenient

to

use

the

more

familiar

notations

x

x

x

x

min

-LRB-

-RRB-

and

max

-LRB-

-RRB-

instead

of

head

-LRB-

x

-RRB-

consL

-LRB-

x

-RRB-

consC

-LRB-

x

-RRB-

consR

-LRB-

x

-RRB-

tailL

-LRB-

x

-RRB-

and

tailR

-LRB-

x

-RRB-

respectively

and

even

write

and

for

the

last

two

cases

by

an

abuse

of

notation

With

this

notation

the

above

recursive

definition

becomes

x

y

pif

x

then

pif

y

then

-LRB-

-RRB-

else

-LRB-

-LRB-

-RRB-

-RRB-

else

pif

y

then

-LRB-

-LRB-

-RRB-

-RRB-

else

-LRB-

-LRB-

-RRB-

-LRB-

-RRB-

-RRB-

Example

-LRB-

Multiplication

-RRB-

We

now

derive

a

recursive

definition

of

multiplication

which

is

extended

in

the

same

way

as

average

During

this

example

juxtaposition

means

multiplication

instead

of

concatenation

Again

the

derivation

follows

the

same

pattern

Initial

observation

-LRB-

i

-RRB-

If

x

y

L

then

xy

-LSB-

-RSB-

-LRB-

ii

-RRB-

If

x

L

and

y

R

then

xy

-LSB-

-RSB-

-LRB-

iii

-RRB-

If

x

y

R

then

xy

-LSB-

-RSB-

Incomplete

equations

consL

-LRB-

x

-RRB-

consL

-LRB-

y

-RRB-

cons

-LSB-

-RSB-

-LRB-

-RRB-

consL

-LRB-

x

-RRB-

consR

-LRB-

y

-RRB-

cons

-LSB-

-RSB-

-LRB-

-RRB-

consR

-LRB-

x

-RRB-

consL

-LRB-

y

-RRB-

cons

-LSB-

-RSB-

-LRB-

-RRB-

consR

-LRB-

x

-RRB-

consR

-LRB-

y

-RRB-

cons

-LSB-

-RSB-

-LRB-

-RRB-

Gaps

filled

with

expressions

depending

on

x

y

and

xy

consL

-LRB-

x

-RRB-

consL

-LRB-

y

-RRB-

cons

-LSB-

-RSB-

-LRB-

xy

-RRB-

consL

-LRB-

x

-RRB-

consR

-LRB-

y

-RRB-

cons

-LSB-

-RSB-

x

xy

consR

-LRB-

x

-RRB-

consL

-LRB-

y

-RRB-

cons

-LSB-

-RSB-

xy

y

consR

-LRB-

x

-RRB-

consR

-LRB-

y

-RRB-

cons

-LSB-

-RSB-

x

xy

y

Now

we

have

to

find

a

recursive

definition

of

ternary

average

In

this

case

there

are

eight

cases

to

consider

but

since

the

operation

is

permutative

-LRB-

permutativity

is

the

generalization

of

commutativity

to

n-ary

operations

-RRB-

there

are

really

only

four

cases

to

consider

We

omit

the

routine

derivation

and

the

reduction

to

a

single

equation

Computation

rules

for

continuous

words

The

following

lemma

shows

how

to

reduce

expressions

e

denoting

non-bottom

partial

numbers

to

expressions

of

the

form

consa

-LRB-

-RRB-

with

a

Such

an

expression

is

called

a

head-normal

form

The

idea

is

that

if

an

expression

e

has

a

head-normal

form

consa

-LRB-

-RRB-

then

we

know

that

its

value

is

contained

in

a.

Thus

a

head-normal

form

is

a

partially

evaluated

expression

A

better

partial

evaluation

of

e

is

obtained

by

partially

evaluating

obtaining

a

head-normal

form

consb

-LRB-

-RRB-

and

applying

rule

-LRB-

i

-RRB-

below

to

consa

-LRB-

consb

-LRB-

-RRB-

-RRB-

in

order

to

obtain

the

more

informative

head-normal

form

consab

-LRB-

-RRB-

of

e

and

so

on

Lemma

For

all

non-maximal

a

b

I

and

all

x

I

-LRB-

i

-RRB-

consa

-LRB-

consb

-LRB-

x

-RRB-

-RRB-

consab

-LRB-

x

-RRB-

-LRB-

ii

-RRB-

taila

-LRB-

consb

-LRB-

x

-RRB-

-RRB-

L

if

b

a

-LRB-

iii

-RRB-

taila

-LRB-

consb

-LRB-

x

-RRB-

-RRB-

R

if

b

a

-LRB-

iv

-RRB-

taila

-LRB-

consb

-LRB-

x

-RRB-

-RRB-

consb

a

-LRB-

x

-RRB-

if

a

v

b

-LRB-

v

-RRB-

taila

-LRB-

consb

-LRB-

x

-RRB-

-RRB-

cons

-LRB-

atb

-RRB-

a

-LRB-

tail

-LRB-

atb

-RRB-

b

-LRB-

x

-RRB-

-RRB-

if

a

b

-LRB-

vi

-RRB-

headr

-LRB-

consa

-LRB-

x

-RRB-

-RRB-

tt

if

a

r

-LRB-

vii

-RRB-

headr

-LRB-

consa

-LRB-

x

-RRB-

-RRB-

if

a

r

-LRB-

viii

-RRB-

pif

tt

then

x

else

y

x

-LRB-

ix

-RRB-

pif

then

x

else

y

y

-LRB-

x

-RRB-

pif

p

then

consa

-LRB-

x

-RRB-

else

consb

-LRB-

y

-RRB-

consaub

-LRB-

pif

p

then

consa

-LRB-

aub

-RRB-

-LRB-

x

-RRB-

else

consb

-LRB-

aub

-RRB-

-LRB-

y

-RRB-

-RRB-

Proof

-LRB-

i

-RRB-

This

is

the

associativity

law

expressed

in

terms

of

left

translations

-LRB-

ii

-RRB-

If

b

a

then

taila

-LRB-

bx

-RRB-

-LSB-

-RSB-

-LRB-

iii

-RRB-

Similar

-LRB-

iv

-RRB-

Equivalent

to

the

fact

that

-LRB-

bx

-RRB-

a

-LRB-

b

a

-RRB-

x.

-LRB-

v

-RRB-

For

all

c

x

consb

-LRB-

joinc

-LRB-

x

-RRB-

-RRB-

consb

-LRB-

c

t

x

-RRB-

consb

-LRB-

c

-RRB-

t

consb

-LRB-

x

-RRB-

joinbc

-LRB-

consb

-LRB-

x

-RRB-

-RRB-

because

left-translations

preserve

existing

joins

Hence

taila

-LRB-

consb

-LRB-

x

-RRB-

-RRB-

joina

-LRB-

consb

-LRB-

x

-RRB-

-RRB-

a

joinatb

-LRB-

consb

-LRB-

x

-RRB-

-RRB-

a

joinb

-LRB-

-LRB-

atb

-RRB-

b

-RRB-

-LRB-

consb

-LRB-

x

-RRB-

-RRB-

a

consb

-LRB-

join

-LRB-

atb

-RRB-

b

-LRB-

x

-RRB-

-RRB-

a

consb

-LRB-

cons

-LRB-

atb

-RRB-

b

-LRB-

tail

-LRB-

atb

-RRB-

b

-LRB-

x

-RRB-

-RRB-

-RRB-

a

consatb

-LRB-

tail

-LRB-

atb

-RRB-

b

-LRB-

x

-RRB-

-RRB-

a

cons

-LRB-

atb

-RRB-

a

-LRB-

tail

-LRB-

atb

-RRB-

b

-LRB-

x

-RRB-

-RRB-

The

second

step

follows

from

the

fact

that

joina

-LRB-

y

-RRB-

joinatb

-LRB-

y

-RRB-

if

a

b

and

b

v

y

The

last

step

follows

from

the

fact

that

-LRB-

cy

-RRB-

a

-LRB-

c

a

-RRB-

y.

-LRB-

vi

-LCB-

ix

-RRB-

Immediate

-LRB-

x

-RRB-

It

suffices

to

show

that

consa

-LRB-

x

-RRB-

u

consb

-LRB-

y

-RRB-

consaub

-LRB-

consa

-LRB-

aub

-RRB-

-LRB-

x

-RRB-

u

consb

-LRB-

aub

-RRB-

-LRB-

y

-RRB-

-RRB-

Since

left

translations

preserve

meets

and

a

c

-LRB-

a

c

-RRB-

for

all

c

the

result

follows

by

taking

c

a

u

b.

The

lazy

unit

interval

acting

on

the

lazy

real

line

In

this

subsection

we

extend

the

results

of

the

previous

subsections

from

the

lazy

unit

interval

to

the

lazy

real

line

The

concatenation

operation

xy

xy

x

originally

defined

for

x

and

y

in

the

lazy

unit

interval

makes

sense

for

x

and

y

ranging

over

the

lazy

real

line

With

this

extension

R

becomes

a

monoid

too

But

its

prefix

preorder

does

not

coincide

with

its

information

order

and

it

is

due

to

this

reason

that

we

initially

restricted

ourselves

to

the

lazy

unit

interval

In

fact

if

y

ax

this

does

not

mean

that

y

is

contained

in

a.

However

if

we

know

that

x

is

in

the

lazy

unit

interval

then

y

ax

do

imply

that

y

is

contained

in

a

even

if

y

is

not

in

the

lazy

unit

interval

This

is

the

content

of

the

following

theorem

Theorem

The

map

-LRB-

x

y

-RRB-

xy

R

I

R

is

a

-LRB-

right

-RRB-

action

of

the

monoid

-LRB-

I

-RRB-

on

the

monoid

-LRB-

R

-LSB-

-RSB-

-RRB-

inducing

the

information

order

of

R

-LRB-

i

-RRB-

For

all

x

R

and

all

y

z

I

x

x

and

-LRB-

xy

-RRB-

z

x

-LRB-

yz

-RRB-

-LRB-

ii

-RRB-

For

all

x

z

R

x

v

z

iff

xy

z

for

some

y

I

such

a

y

being

unique

iff

x

is

non-maximal

Moreover

for

all

a

R

the

map

riconsa

I

R

defined

by

riconsa

-LRB-

x

-RRB-

ax

preserves

all

meets

and

all

existing

joins

Given

x

z

R

with

x

v

z

and

x

non-maximal

denote

the

unique

y

I

such

that

xy

z

by

z

x.

For

each

non-maximal

a

R

define

a

strict

continuous

map

irtaila

R

I

and

a

continuous

non-strict

map

rrjoina

R

R

by

extending

Lemma

in

the

obvious

way

so

that

irtaila

-LRB-

x

-RRB-

x

a

if

x

v

a

Finally

for

each

non-maximal

a

R

define

a

strict

continuous

map

rrconsa

R

R

by

rrconsa

-LRB-

x

-RRB-

ax

Proposition

For

all

non-maximal

a

R

the

maps

riconsa

and

irtaila

form

a

section-retraction

pair

with

rrjoina

as

the

induced

idempotent

Thus

I

is

a

retract

of

R

in

many

ways

In

particular

-LRB-

i

-RRB-

ricons

-LSB-

-RSB-

I

R

is

the

inclusion

-LRB-

ii

-RRB-

irtail

-LSB-

-RSB-

R

I

is

a

truncated

projection

and

-LRB-

iii

-RRB-

rrjoin

-LSB-

-RSB-

R

R

is

the

co-extension

of

the

truncated

projection

Example

-LRB-

Addition

-RRB-

We

obtain

a

recursive

definition

of

addition

in

R

by

reducing

addition

to

the

average

operation

on

I

defined

in

Example

First

notice

that

x

y

pif

x

y

then

x

y

else

pif

x

y

then

else

x

where

is

parallel

or

-LSB-

-RSB-

Hence

x

y

pif

x

y

then

x

y

else

pif

x

y

then

else

out

-LRB-

in

-LRB-

x

-RRB-

in

-LRB-

y

-RRB-

-RRB-

where

in

irtail

-LSB-

-RSB-

R

I

and

out

ricons

-LSB-

-RSB-

I

R

The

operation

out

is

of

fundamental

importance

in

this

recursive

definition

it

is

this

operation

that

makes

the

above

recursive

definition

get

off

the

ground

More

formally

this

is

a

non-strict

operation

and

some

non-strict

operation

is

needed

if

the

fixed

point

operator

-LRB-

used

to

solve

the

above

equation

-RRB-

is

to

produce

a

non-bottom

solution

If

we

want

to

avoid

using

intermediate

maps

on

the

unit

interval

in

recursive

definitions

of

maps

on

the

real

line

we

can

use

the

non-strict

operation

rrjoin

to

get

off

the

ground

See

example

below

Multiplication

on

R

can

be

obtained

in

a

similar

way

from

multiplication

on

I.

Example

-LRB-

Logarithm

-RRB-

The

following

recursive

definition

of

the

logarithm

function

logb

with

b

is

based

on

-LSB-

-RSB-

We

first

reduce

the

calculation

of

logb

-LRB-

x

-RRB-

for

x

arbitrary

to

a

calculation

of

logb

-LRB-

x

-RRB-

for

x

-LSB-

b

-RSB-

so

that

logb

-LRB-

x

-RRB-

-LSB-

-RSB-

and

then

recursively

consider

the

cases

x

and

x

Notice

that

such

and

are

again

contained

in

-LSB-

b

-RSB-

and

that

both

cases

hold

iff

x

pb

iff

b.

Also

the

reduction

process

diverges

if

x

contains

non-positive

numbers

logb

-LRB-

x

-RRB-

pif

x

b

then

logb

-LRB-

x

b

-RRB-

else

pif

x

then

logb

-LRB-

bx

-RRB-

else

rrjoin

-LSB-

-RSB-

pif

b

then

logb

-LRB-

-RRB-

else

logb

-LRB-

b

-RRB-

Recall

that

rrjoin

-LSB-

-RSB-

-LRB-

x

-RRB-

max

-LRB-

min

-LRB-

x

-RRB-

-RRB-

The

application

of

the

map

rrjoin

therefore

seems

redundant

because

the

tests

preceding

the

recursive

call

of

the

logarithm

function

in

the

argument

of

rrjoin

would

ensure

that

the

result

is

contained

in

-LSB-

-RSB-

But

the

logarithm

function

is

what

the

recursive

definition

is

defining

and

therefore

it

has

to

ensure

that

this

is

indeed

the

case

As

explained

in

Example

such

a

map

is

needed

to

get

off

the

ground

The

head-normal

forms

for

R

are

taken

as

the

expressions

of

the

form

riconsa

-LRB-

e

-RRB-

Lemma

For

all

non-maximal

a

R

and

b

I

and

all

x

I

-LRB-

i

-RRB-

-LRB-

a

-RRB-

rrconsa

-LRB-

rrconsb

-LRB-

x

-RRB-

-RRB-

rrconsab

-LRB-

x

-RRB-

-LRB-

b

-RRB-

rrconsa

-LRB-

riconsb

-LRB-

x

-RRB-

-RRB-

riconsab

-LRB-

x

-RRB-

-LRB-

c

-RRB-

riconsa

-LRB-

consb

-LRB-

x

-RRB-

-RRB-

riconsab

-LRB-

x

-RRB-

-LRB-

ii

-RRB-

irtaila

-LRB-

riconsb

-LRB-

x

-RRB-

-RRB-

L

if

b

a

-LRB-

iii

-RRB-

irtaila

-LRB-

riconsb

-LRB-

x

-RRB-

-RRB-

R

if

b

a

-LRB-

iv

-RRB-

irtaila

-LRB-

riconsb

-LRB-

x

-RRB-

-RRB-

consb

a

-LRB-

x

-RRB-

if

a

v

b

-LRB-

v

-RRB-

irtaila

-LRB-

riconsb

-LRB-

x

-RRB-

-RRB-

cons

-LRB-

atb

-RRB-

a

-LRB-

tail

-LRB-

atb

-RRB-

b

-LRB-

x

-RRB-

-RRB-

if

a

b

-LRB-

vi

-RRB-

rheadr

-LRB-

riconsa

-LRB-

x

-RRB-

-RRB-

tt

if

a

r

-LRB-

vii

-RRB-

rheadr

-LRB-

riconsa

-LRB-

x

-RRB-

-RRB-

if

a

r

-LRB-

viii

-RRB-

pif

tt

then

x

else

y

x

-LRB-

ix

-RRB-

pif

then

x

else

y

y

-LRB-

x

-RRB-

pif

p

then

riconsa

-LRB-

x

-RRB-

else

riconsb

-LRB-

y

-RRB-

riconsaub

-LRB-

pif

p

then

riconsa

-LRB-

aub

-RRB-

-LRB-

x

-RRB-

else

riconsb

-LRB-

aub

-RRB-

-LRB-

y

-RRB-

where

the

parallel

conditional

the

comparison

map

and

the

head

map

for

R

are

defined

in

the

same

way

as

for

I.

Notice

that

the

above

lemma

is

Lemma

with

r

and

i

inserted

in

appropriate

places

PCF

extended

with

real

numbers

We

introduce

two

successive

extensions

of

PCF

first

with

a

type

for

the

lazy

unit

interval

-LRB-

Subsection

-RRB-

and

then

with

a

further

type

for

the

lazy

real

line

-LRB-

Subsection

-RRB-

We

also

discuss

the

issues

of

canonical

evaluation

and

of

deterministic

evaluation

of

PCF

programs

containing

parallel

features

-LRB-

Subsections

and

respectively

-RRB-

For

the

reader

's

convenience

we

introduce

the

basic

notions

of

PCF

needed

in

this

paper

-LRB-

Subsection

-RRB-

See

-LSB-

-RSB-

for

an

excellent

textbook

account

to

PCF

The

programming

language

PCF

This

section

is

based

on

-LSB-

-RSB-

with

minor

adaptations

and

simplifications

convenient

to

our

needs

and

can

be

safely

skipped

and

used

as

a

reference

Given

a

collection

of

symbols

called

ground

types

the

set

of

types

is

the

least

set

containing

the

ground

types

and

containing

the

formal

expression

-LRB-

oe

o

-RRB-

whenever

it

contains

oe

and

o

The

greek

letters

oe

and

o

range

over

types

We

let

-LRB-

oen

o

-RRB-

stand

for

-LRB-

-LRB-

-LRB-

oen

o

-RRB-

-RRB-

-RRB-

Given

a

collection

L

of

formal

constants

each

having

a

fixed

type

and

a

family

of

formal

variables

f

oei

g

-LRB-

i

-RRB-

for

each

type

oe

the

L-terms

are

given

by

the

following

inductive

rules

-LRB-

i

-RRB-

Every

variable

oei

is

an

L-term

of

type

oe

-LRB-

ii

-RRB-

Every

constant

of

type

oe

is

an

L-term

of

type

oe

-LRB-

iii

-RRB-

If

M

and

N

are

L-terms

of

types

-LRB-

oe

o

-RRB-

and

oe

respectively

then

-LRB-

MN

-RRB-

is

an

L-term

of

type

o

-LRB-

iv

-RRB-

If

M

is

an

L-term

of

type

o

then

-LRB-

ffoei

M

-RRB-

is

an

L-term

of

type

oe

o

When

L

is

understood

from

the

context

it

need

not

be

used

as

a

prefix

The

letters

L

M

and

N

range

over

terms

The

letter

c

range

over

constants

We

denote

the

fact

that

a

term

M

has

type

oe

by

M

oe

Notice

that

every

term

has

a

unique

type

Terms

of

the

form

-LRB-

MN

-RRB-

are

called

combinations

Terms

of

the

form

-LRB-

ffM

-RRB-

are

called

abstractions

Parentheses

around

combinations

and

abstractions

are

sometimes

omitted

with

the

convention

that

juxtaposition

associates

to

the

left

We

also

omit

parentheses

in

type

expressions

with

the

convention

that

associates

to

the

right

The

set

of

free

variables

of

a

term

M

is

FV

-LRB-

M

-RRB-

inductively

defined

by

-LRB-

i

-RRB-

FV

-LRB-

oei

-RRB-

f

oei

g

-LRB-

ii

-RRB-

FV

-LRB-

c

-RRB-

-LRB-

iii

-RRB-

FV

-LRB-

MN

-RRB-

FV

-LRB-

M

-RRB-

-LSB-

FV

-LRB-

N

-RRB-

-LRB-

iv

-RRB-

FV

-LRB-

ffoei

M

-RRB-

FV

-LRB-

M

-RRB-

f

oei

g

A

term

M

is

closed

if

FV

-LRB-

M

-RRB-

and

open

otherwise

Programs

are

closed

terms

of

ground

type

The

idea

is

that

the

ground

types

are

the

data

types

and

programs

produce

data

via

the

operational

semantics

The

remaining

terms

are

significant

as

subprograms

-LSB-

N

ff

-RSB-

M

is

the

result

of

replacing

all

free

occurrences

of

the

variable

in

M

by

N

making

the

appropriate

changes

in

the

bound

variables

of

M

so

that

no

free

variables

of

N

become

bound

The

languages

LDA

LPA

and

LPA

The

ground

types

for

the

language

LDA

are

N

and

T

and

its

constants

are

tt

T

T

if

oe

-LRB-

T

oe

oe

oe

-RRB-

for

oe

ground

Yoe

-LRB-

oe

oe

-RRB-

oe

for

each

oe

kn

N

for

each

natural

number

n

-LRB-

-RRB-

N

N

-LRB-

-RRB-

N

N

-LRB-

-RRB-

N

T

The

language

LPA

is

the

language

LDA

extended

by

the

constants

pif

oe

-LRB-

T

oe

oe

oe

-RRB-

for

oe

ground

The

language

LPA

is

the

language

LPA

extended

with

the

constant

-LRB-

N

T

-RRB-

T

Denotational

semantics

A

collection

of

domains

for

PCF

is

a

family

fDoegoe

of

domains

one

for

each

type

oe

such

that

Doe!o

-LSB-

Doe

Do

-RSB-

It

is

standard

if

DT

is

the

flat

domain

of

truth

values

and

DN

is

the

flat

domain

of

natural

numbers

An

interpretation

of

a

language

L

is

a

collection

fDoegoe

of

domains

for

PCF

together

with

a

mapping

c

AJcK

L

-LSB-

oe

fDoeg

which

is

type-respecting

in

the

sense

that

if

c

oe

then

AJcK

Doe

An

interpretation

is

standard

if

it

interprets

the

constants

tt

if

oe

Yoe

kn

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

pif

oe

and

respectively

as

tt

the

sequential

conditional

the

fixed

point

operator

the

natural

number

n

the

successor

function

the

predecessor

function

the

test

for

zero

the

parallel

conditional

and

the

continuous

existential

quantifier

-LRB-

whose

definition

is

deliberately

omitted

-RRB-

An

interpretation

hfDoegoe

Ai

induces

a

denotational

semantics

A

for

L.

First

the

set

Env

of

environments

is

the

set

of

type-respecting

functions

from

the

set

of

variables

to

SoefDoeg

It

is

ranged

over

by

ae

If

oe

and

x

Doe

then

ae

-LSB-

x

ff

-RSB-

is

the

environment

which

maps

to

x

and

any

other

variable

to

ae

-LRB-

-RRB-

The

undefined

environment

maps

each

variable

of

type

oe

to

the

bottom

element

of

the

domain

Doe

The

denotational

semantics

M

ae

AJMK

-LRB-

ae

-RRB-

Terms

-LRB-

Env

-LSB-

oe

fDoeg

-RRB-

is

inductively

defined

by

-LRB-

i

-RRB-

AJ

K

-LRB-

ae

-RRB-

ae

-LRB-

-RRB-

-LRB-

ii

-RRB-

AJcK

-LRB-

ae

-RRB-

AJcK

-LRB-

iii

-RRB-

AJMNK

-LRB-

ae

-RRB-

AJMK

-LRB-

ae

-RRB-

AJNK

-LRB-

ae

-RRB-

-LRB-

iv

-RRB-

AJ

ffMK

-LRB-

ae

-RRB-

-LRB-

x

-RRB-

AJMK

-LRB-

ae

-LSB-

x

ff

-RSB-

-RRB-

-LRB-

with

x

Doe

if

oe

-RRB-

Informally

-LRB-

i

-RRB-

A

variable

denotes

what

the

environment

assigns

to

it

-LRB-

ii

-RRB-

A

constant

denotes

what

the

interpretation

assigns

to

it

-LRB-

iii

-RRB-

If

a

term

M

denotes

the

function

f

D

E

and

a

term

N

denotes

the

value

x

D

then

the

combination

MN

denotes

the

value

f

-LRB-

x

-RRB-

E.

-LRB-

iv

-RRB-

If

a

term

M

denotes

the

value

yx

E

in

an

environment

which

assigns

the

value

x

D

to

the

variable

then

the

abstraction

ffM

denotes

the

function

f

D

E

defined

by

f

-LRB-

x

-RRB-

yx

If

M

is

closed

then

its

denotation

does

not

depend

on

the

environment

in

the

sense

that

AJMK

-LRB-

ae

-RRB-

AJMK

-LRB-

-RRB-

for

all

ae

and

In

order

to

simplify

notation

we

let

JMK

stand

for

the

denotation

AJMK

-LRB-

-RRB-

of

a

closed

term

M

with

respect

to

an

implicit

semantics

A.

Also

for

any

term

M

we

let

JMK

-LRB-

ae

-RRB-

stand

for

AJMK

-LRB-

ae

-RRB-

Operational

semantics

The

operational

semantics

of

LDA

is

given

by

an

immediate

reduction

relation

defined

by

the

following

rules

-LRB-

i

-RRB-

-LRB-

ffM

-RRB-

N

-LSB-

N

ff

-RSB-

M

-LRB-

ii

-RRB-

YM

M

-LRB-

YM

-RRB-

-LRB-

iii

-RRB-

-LRB-

-RRB-

kn

kn

-LRB-

-RRB-

kn

kn

-LRB-

iv

-RRB-

-LRB-

-RRB-

tt

-LRB-

-RRB-

kn

-LRB-

v

-RRB-

if

ttMN

M

if

MN

N

-LRB-

vi

-RRB-

M

M

MN

M

N

N

N

MN

MN

if

M

is

if

-LRB-

-RRB-

-LRB-

-RRB-

or

-LRB-

-RRB-

We

omit

the

reduction

rules

of

the

languages

LPA

and

LPA

The

reduction

relation

preserves

types

in

the

sense

that

if

M

M

and

M

has

type

oe

so

does

M

Evaluation

is

given

by

a

partial

function

Eval

from

programs

to

constants

defined

by

Eval

-LRB-

M

-RRB-

c

iff

M

c

It

is

well-defined

because

if

M

c

and

M

then

c

The

following

theorem

is

often

referred

to

as

the

Adequacy

Property

of

PCF

It

asserts

that

the

operational

and

denotational

semantics

coincide

Theorem

-LRB-

Plotkin

-LSB-

-RSB-

Theorem

-RRB-

For

any

LDA

program

M

and

constant

c

Eval

-LRB-

M

-RRB-

c

iff

JMK

JcK

Proof

Lemma

below

The

following

definitions

are

introduced

to

formulate

and

prove

Lemma

The

predicates

Compoe

are

defined

by

induction

on

types

by

-LRB-

i

-RRB-

If

M

oe

is

a

program

then

M

has

property

Compoe

iff

JMK

JcK

implies

Eval

-LRB-

M

-RRB-

c.

-LRB-

ii

-RRB-

If

M

oe

o

is

a

closed

term

it

has

property

Compoe!o

iff

whenever

N

oe

is

a

closed

term

with

property

Compoe

then

MN

is

a

term

with

property

Compo

-LRB-

iii

-RRB-

If

M

oe

is

an

open

term

with

free

variables

n

oen

then

it

has

property

Compoe

iff

-LSB-

-RSB-

-LSB-

ffn

-RSB-

M

has

property

Compoe

whenever

Nn

are

closed

terms

having

properties

Compoen

respectively

A

term

of

type

oe

is

computable

if

it

has

property

Compoe

If

M

oe

o

and

N

oe

are

closed

computable

terms

so

is

MN

and

also

a

term

M

-LRB-

oen

o

-RRB-

is

computable

iff

M

Nn

is

computable

whenever

the

terms

Nn

oen

are

closed

computable

terms

and

M

is

a

closed

instantiation

of

M

by

computable

terms

In

the

following

definitions

has

to

be

chosen

as

some

variable

of

appropriate

type

in

each

instance

Define

terms

oe

by

oe

Yoe

-LRB-

ffff

-RRB-

for

oe

ground

and

oe!o

ff?o

and

define

terms

Y

-LRB-

n

-RRB-

oe

by

Y

-LRB-

-RRB-

oe

oe

and

Y

-LRB-

n

-RRB-

oe

ff

-LRB-

Y

-LRB-

n

-RRB-

oe

-RRB-

Then

JYoeK

FnJYnoeK

for

any

standard

interpretation

Now

define

the

syntactic

information

order

as

the

least

relation

between

terms

such

that

-LRB-

i

-RRB-

oe

M

oe

and

Y

-LRB-

n

-RRB-

oe

Yoe

-LRB-

ii

-RRB-

M

M

and

-LRB-

iii

-RRB-

if

M

M

oe

o

and

N

N

oe

then

ffN

ffN

and

also

MN

M

N

Lemma

-LRB-

Plotkin

-LSB-

-RSB-

Lemma

-RRB-

If

M

N

and

M

M

then

either

M

N

or

else

for

some

N

N

N

and

M

N

Proof

By

structural

induction

on

M

and

cases

according

to

why

the

immediate

reduction

M

M

takes

place

We

include

the

proof

of

the

following

lemma

since

we

are

going

to

extend

it

to

PCF

with

real

numbers

Lemma

-LRB-

Plotkin

-LSB-

-RSB-

Lemma

-RRB-

Every

LDA-term

is

computable

Proof

By

structural

induction

on

the

formation

rules

of

terms

-LRB-

-RRB-

Every

variable

is

computable

since

any

closed

instantiation

of

it

by

a

computable

term

is

computable

-LRB-

-RRB-

Every

constant

other

than

the

Yoe

's

is

computable

This

is

clear

for

constants

of

ground

type

Out

of

and

if

we

only

consider

as

an

example

It

is

enough

to

show

-LRB-

-RRB-

M

computable

when

M

is

a

closed

computable

term

of

type

N.

Suppose

J

-LRB-

-RRB-

MK

JcK

Then

c

km

for

some

m

and

so

JMK

m

Therefore

as

M

is

computable

M

km

and

so

-LRB-

-RRB-

M

km

c.

-LRB-

-RRB-

If

M

oe

o

and

N

oe

are

computable

so

is

the

combination

MN

If

MN

is

closed

so

are

M

and

N

and

its

computability

follows

from

clause

ii

of

the

definition

of

computability

If

it

is

open

any

closed

instantiation

L

of

it

by

computable

terms

has

the

form

M

N

where

M

and

N

are

closed

instantiations

of

M

and

N

respectively

and

therefore

themselves

computable

which

in

turn

implies

the

computability

of

L

and

hence

of

MN

-LRB-

-RRB-

If

M

o

is

computable

so

is

the

abstraction

ffM

It

is

enough

to

show

that

the

ground

term

Nn

is

computable

when

Nn

are

closed

computable

terms

and

L

is

a

closed

instantiation

of

ffM

by

computable

terms

Here

L

must

have

the

form

ff

M

where

M

is

an

instantiation

of

all

free

variables

of

M

except

by

closed

computable

terms

If

NnK

JcK

then

we

have

J

-LSB-

ff

-RSB-

M

NnK

NnK

JcK

But

-LSB-

ff

-RSB-

M

is

computable

and

so

too

therefore

is

M

Nn

Therefore

Nn

-LSB-

ff

-RSB-

M

Nn

c

as

required

-LRB-

-RRB-

Each

Yoe

is

computable

It

is

enough

to

prove

Nk

is

computable

when

Nk

are

closed

computable

terms

and

Nk

is

ground

Suppose

NkK

JcK

Since

JYoeK

FnJYnoeK

JY

-LRB-

n

-RRB-

NkK

JcK

for

some

n

Since

J?oeK

for

oe

ground

oe

is

computable

for

oe

ground

From

this

and

-LRB-

-RRB-

-LRB-

-RRB-

and

-LRB-

-RRB-

proved

above

it

follows

that

every

oe

and

Y

-LRB-

n

-RRB-

oe

is

computable

Therefore

Y

-LRB-

n

-RRB-

Nk

c

and

so

by

Lemma

Nk

c

concluding

the

proof

This

lemma

extends

to

the

languages

LPA

and

LPA

It

suffices

to

show

that

pif

and

are

computable

with

respect

to

appropriate

reduction

rules

The

programming

language

PCFI

We

let

L

range

over

the

languages

LDA

LPA

and

LPA

and

LI

denote

the

extension

of

L

with

a

new

ground

type

I

and

the

following

new

constants

-LRB-

i

-RRB-

consa

I

I

-LRB-

ii

-RRB-

taila

I

I

-LRB-

iii

-RRB-

headr

I

T

-LRB-

iv

-RRB-

pif

I

-LRB-

T

I

I

I

-RRB-

for

each

non-bottom

a

I

with

distinct

rational

end-points

and

each

rational

r

-LRB-

-RRB-

We

refer

to

the

ground

type

I

as

the

real

number

type

and

to

programs

of

real

number

type

as

real

programs

Denotational

semantics

We

let

DI

I

and

we

extend

the

standard

interpretation

A

of

L

to

LI

by

-LRB-

i

-RRB-

AJconsaK

consa

-LRB-

ii

-RRB-

AJtailaK

taila

-LRB-

iii

-RRB-

AJheadrK

headr

-LRB-

iv

-RRB-

AJpif

IKpxy

pif

p

then

x

else

y

Operational

semantics

We

extend

the

immediate

reduction

relation

of

L

to

LI

by

the

following

rules

-LRB-

i

-RRB-

consa

-LRB-

consbM

-RRB-

consab

M

-LRB-

ii

-RRB-

taila

-LRB-

consbM

-RRB-

YconsL

if

b

a

-LRB-

iii

-RRB-

taila

-LRB-

consbM

-RRB-

YconsR

if

b

a

-LRB-

iv

-RRB-

taila

-LRB-

consbM

-RRB-

consb

a

M

if

a

v

b

and

a

b

-LRB-

v

-RRB-

taila

-LRB-

consbM

-RRB-

cons

-LRB-

atb

-RRB-

a

-LRB-

tail

-LRB-

atb

-RRB-

b

M

-RRB-

if

a

b

a

b

b

a

b

a

and

a

b

-LRB-

vi

-RRB-

headr

-LRB-

consaM

-RRB-

tt

if

a

r

-LRB-

vii

-RRB-

headr

-LRB-

consaM

-RRB-

if

a

r

-LRB-

viii

-RRB-

pif

ttMN

M

pif

MN

N

-LRB-

ix

-RRB-

pif

L

-LRB-

consaM

-RRB-

-LRB-

consbN

-RRB-

consaub

-LRB-

pif

L

-LRB-

consa

-LRB-

aub

-RRB-

M

-RRB-

-LRB-

consb

-LRB-

aub

-RRB-

N

-RRB-

-RRB-

if

a

u

b

-LRB-

x

-RRB-

N

N

MN

MN

if

M

is

consa

taila

headr

or

pif

-LRB-

xi

-RRB-

M

M

pifLM

pifLM

N

N

pifLMN

pifLMN

These

rules

are

well-defined

by

virtue

of

Lemma

and

because

the

extra

conditions

on

them

which

are

not

present

in

Lemma

ensure

that

no

bottom

elements

and

no

maximal

elements

are

produced

as

subscripts

of

cons

or

tail

It

may

seem

that

there

is

a

missing

self-evident

reduction

rule

for

taila

namely

the

rule

taila

-LRB-

consaM

-RRB-

M

see

remark

after

Lemma

Notice

that

the

immediate

reduction

rules

for

the

parallel

conditional

are

nondeterministic

The

following

lemma

shows

that

this

non-determinism

does

not

produce

inconsistencies

Lemma

M

N

implies

JMK

-LRB-

ae

-RRB-

JNK

-LRB-

ae

-RRB-

for

all

terms

M

and

N

and

any

environment

ae

Proof

This

is

true

for

the

language

L

and

remains

true

for

the

extended

language

LI

by

virtue

of

Lemma

The

partial

map

Eval

on

programs

M

of

truth-value

and

natural

number

type

is

defined

in

the

same

way

as

for

L

It

is

well-defined

by

virtue

of

Lemma

because

no

two

different

constants

have

the

same

interpretation

We

extend

Eval

to

a

multi-valued

map

on

real

programs

M

by

Eval

-LRB-

M

-RRB-

fa

IjM

consaM

for

some

M

g

that

is

a

Eval

-LRB-

M

-RRB-

iff

M

has

a

head-normal

form

consaM

Soundness

of

the

operational

semantics

Lemma

For

all

real

programs

M

a

Eval

-LRB-

M

-RRB-

implies

a

v

JMK

Proof

By

Lemma

if

M

consaM

then

JMK

JconsaM

K

aJM

K.

Therefore

a

v

JMK

because

the

information

order

on

partial

numbers

coincides

with

the

prefix

preorder

Theorem

-LRB-

Soundness

-RRB-

For

any

real

program

M

GEval

-LRB-

M

-RRB-

v

JMK

Proof

The

join

exists

because

JMK

is

an

upper

bound

of

the

set

Eval

-LRB-

M

-RRB-

Therefore

the

result

follows

from

Lemma

Completeness

of

the

operational

semantics

By

virtue

of

Lemma

for

any

real

program

M

we

have

that

Eval

-LRB-

M

-RRB-

is

empty

if

JMK

The

following

theorem

states

a

stronger

form

of

the

converse

Theorem

-LRB-

Completeness

-RRB-

For

any

real

program

M

GEval

-LRB-

M

-RRB-

w

JMK

Proof

Lemma

below

The

soundness

and

completeness

properties

in

the

senses

of

Theorems

and

can

be

referred

together

as

the

Adequacy

Property

Theorem

PCF

extended

with

real

numbers

enjoys

the

Adequacy

Property

The

recursive

definitions

given

in

Examples

and

give

rise

to

PCF

programs

in

the

obvious

way

It

would

be

a

formidable

task

to

syntactically

prove

the

correctness

of

the

resulting

programs

by

appealing

to

the

operational

semantics

given

by

the

reduction

rules

However

a

mathematical

proof

of

the

correctness

of

a

recursive

definition

allows

us

to

conclude

that

the

induced

programs

indeed

produce

correct

results

via

an

application

of

the

Adequacy

Theorem

In

fact

this

is

the

point

of

denotational

semantics

We

extend

the

inductive

definition

of

the

predicates

Compoe

by

the

following

clause

A

real

program

M

has

property

CompI

if

for

every

non-bottom

partial

number

x

o

JMK

-LRB-

as

close

to

JMK

as

we

please

-RRB-

there

is

some

a

Eval

-LRB-

M

-RRB-

with

x

v

a

If

we

read

the

relation

x

o

y

as

x

is

a

piece

of

information

about

y

then

the

above

definition

says

that

a

real

program

is

computable

if

every

piece

of

information

about

its

value

can

be

produced

in

a

finite

number

of

reduction

steps

The

domain-theoretic

justificative

for

continuity

of

computable

functions

is

that

it

is

a

finiteness

condition

-LSB-

-RSB-

a

function

f

is

continuous

if

a

finite

amount

of

information

about

f

-LRB-

x

-RRB-

depends

only

on

a

finite

amount

of

information

about

x

The

continuity

of

a

domain

which

amounts

to

its

waybelow

relation

being

well-behaved

gives

us

a

general

and

abstract

framework

for

consistently

talking

about

pieces

of

information

Then

it

should

come

as

no

surprise

that

Lemma

makes

essential

use

of

the

way-below

relation

and

of

the

continuity

of

the

primitive

functions

The

following

lemma

which

extends

Lemma

establishes

the

Completeness

Theorem

Lemma

Every

term

is

computable

Proof

It

suffices

to

extend

the

inductive

proof

of

Lemma

We

have

to

-LRB-

i

-RRB-

slightly

modify

the

proof

for

the

case

of

abstractions

because

it

mentions

constants

and

we

have

added

new

constants

-LRB-

ii

-RRB-

extend

the

proof

of

computability

of

the

terms

Yoe

to

the

new

types

and

-LRB-

iii

-RRB-

show

that

the

new

constants

are

computable

-LRB-

i

-RRB-

If

M

is

computable

so

is

ffM

It

is

enough

to

show

that

the

ground

term

Nn

is

computable

when

Nn

are

closed

computable

terms

and

L

is

a

closed

instantiation

of

ffM

by

computable

terms

Here

L

must

have

the

form

ff

M

where

M

is

an

instantiation

of

all

free

variables

of

M

except

by

closed

computable

terms

Since

-LSB-

ff

-RSB-

M

is

computable

so

is

-LSB-

ff

-RSB-

M

Nn

Since

Nn

-LSB-

ff

-RSB-

M

Nn

and

the

reduction

relation

preserves

meaning

in

order

to

evaluate

Nn

it

suffices

to

evaluate

-LSB-

ff

-RSB-

M

Nn

-LRB-

ii

-RRB-

Yoe

is

computable

for

all

new

types

In

order

to

prove

that

Yoe

is

computable

for

all

new

types

it

suffices

to

show

that

the

term

Y

-LRB-

oek

I

-RRB-

Nk

is

computable

whenever

Nk

oek

are

closed

computable

terms

It

follows

from

-LRB-

i

-RRB-

above

that

the

terms

Y

-LRB-

n

-RRB-

oe

are

computable

for

all

new

types

because

the

proof

of

computability

of

Y

-LRB-

n

-RRB-

oe

for

old

types

depends

only

on

the

fact

that

variables

are

computable

and

that

the

combination

and

abstraction

formation

rules

preserve

computability

The

syntactic

information

order

on

L

extends

to

LI

and

Lemma

is

easily

seen

to

remain

true

by

a

routine

extension

of

its

inductive

proof

Let

x

o

NkK

be

a

non-bottom

partial

number

By

a

basic

property

of

the

way-below

relation

of

any

continuous

dcpo

there

is

some

n

such

that

x

o

JY

-LRB-

n

-RRB-

NkK

because

JYK

FnJY

-LRB-

n

-RRB-

K

Since

Y

-LRB-

n

-RRB-

is

computable

there

is

a

c

Eval

-LRB-

Y

-LRB-

n

-RRB-

Nk

-RRB-

with

x

v

c

Since

there

is

a

term

M

with

Y

-LRB-

n

-RRB-

Nk

conscM

and

Y

-LRB-

n

-RRB-

Y

it

follows

from

Lemma

that

Nk

conscM

for

some

M

and

therefore

c

Eval

-LRB-

Nk

-RRB-

-LRB-

iii

-RRB-

The

new

constants

are

computable

In

order

to

prove

that

one

of

the

new

constants

c

is

computable

it

suffices

to

show

that

if

Mn

are

closed

computable

terms

such

that

Mn

has

real

number

type

then

Mn

is

computable

-LRB-

iii

-RRB-

-LRB-

a

-RRB-

consa

is

computable

Let

M

be

a

computable

real

program

and

let

x

o

JconsaMK

aJMK

be

a

non-bottom

partial

number

We

have

to

produce

c

Eval

-LRB-

consaM

-RRB-

with

x

v

c.

Let

b

o

JMK

with

x

o

ab

If

b

then

we

can

take

c

a.

Otherwise

let

Eval

-LRB-

M

-RRB-

with

b

v

Then

we

can

take

c

because

consaM

consa

-LRB-

-RRB-

for

some

M

-LRB-

iii

-RRB-

-LRB-

b

-RRB-

taila

is

computable

Let

M

be

a

computable

real

program

and

let

y

o

JtailaMK

taila

-LRB-

JMK

-RRB-

be

a

non-bottom

partial

number

We

have

to

produce

c

Eval

-LRB-

tailaM

-RRB-

with

y

v

c

Since

taila

is

continuous

there

is

some

x

o

JMK

such

that

y

o

taila

-LRB-

x

-RRB-

Let

b

Eval

-LRB-

M

-RRB-

with

x

v

b

It

follows

that

b

a

because

y

and

if

b

v

a

then

y

o

taila

-LRB-

x

-RRB-

v

taila

-LRB-

b

-RRB-

v

taila

-LRB-

a

-RRB-

Then

exactly

one

of

the

following

four

cases

holds

-LRB-

-RRB-

b

a

-LRB-

-RRB-

a

b

-LRB-

-RRB-

a

v

b

-LRB-

-RRB-

a

b

a

b

b

a

and

a

b

which

have

the

following

proofs

-LRB-

-RRB-

In

this

case

tailaM

taila

-LRB-

consbM

-RRB-

YconsL

for

some

M

Hence

y

o

JtailaMK

JYconsLK

Since

YconsL

is

a

computable

term

there

is

some

c

Eval

-LRB-

YconsL

-RRB-

Eval

-LRB-

tailaM

-RRB-

with

y

v

c.

-LRB-

-RRB-

This

case

is

handled

similarly

-LRB-

-RRB-

Since

x

v

b

we

have

that

taila

-LRB-

x

-RRB-

v

taila

-LRB-

b

-RRB-

b

a

and

since

y

v

taila

-LRB-

x

-RRB-

we

have

that

y

v

b

a.

Therefore

we

can

take

c

b

a

because

tailaM

taila

-LRB-

consbM

-RRB-

consb

aM

for

some

M

-LRB-

-RRB-

Since

x

v

b

we

have

that

taila

-LRB-

x

-RRB-

v

taila

-LRB-

b

-RRB-

-LRB-

a

t

b

-RRB-

a

and

since

y

v

taila

-LRB-

x

-RRB-

we

have

that

y

v

-LRB-

a

t

b

-RRB-

a.

Therefore

we

can

take

c

-LRB-

a

t

b

-RRB-

a

because

tailaM

taila

-LRB-

consbM

-RRB-

-RRB-

cons

-LRB-

atb

-RRB-

a

-LRB-

tail

-LRB-

atb

-RRB-

bM

-RRB-

for

some

M

-LRB-

iii

-RRB-

-LRB-

c

-RRB-

headr

is

computable

Assume

that

JheadrMK

headr

-LRB-

JMK

-RRB-

for

a

computable

real

program

M

Then

there

is

an

x

o

JMK

such

that

either

x

r

or

else

x

r

because

headr

is

continuous

Let

c

Eval

-LRB-

M

-RRB-

with

x

v

c

Then

either

c

r

or

else

c

r.

Hence

there

is

some

M

such

that

either

headrM

headr

-LRB-

conscM

-RRB-

tt

or

else

headrM

headr

-LRB-

conscM

-RRB-

respectively

Therefore

if

x

r

then

Eval

-LRB-

headrM

-RRB-

tt

and

if

x

r

then

Eval

-LRB-

headrM

-RRB-

-LRB-

iii

-RRB-

-LRB-

d

-RRB-

pif

is

computable

It

suffices

to

show

that

pifLMN

is

computable

whenever

JLK

and

M

and

N

are

computable

programs

because

the

case

JLK

is

immediate

Let

x

o

JpifLMNK

Then

x

o

JMK

u

JNK

Hence

x

o

JMK

and

x

o

JNK

Let

a

Eval

-LRB-

M

-RRB-

and

b

Eval

-LRB-

N

-RRB-

with

x

v

a

and

x

v

b

Then

x

v

a

u

b

and

a

u

b

Eval

-LRB-

pifLMN

-RRB-

because

pifLMN

pifL

-LRB-

consaM

-RRB-

-LRB-

consbN

-RRB-

consaub

-LRB-

pifL

-LRB-

consa

-LRB-

aub

-RRB-

M

-RRB-

-LRB-

consb

-LRB-

aub

-RRB-

N

-RRB-

-RRB-

This

concludes

the

proof

of

Lemma

The

proof

for

taila

implicitly

shows

that

a

reduction

rule

taila

-LRB-

consaM

-RRB-

M

would

be

useless

This

can

be

explicitly

explained

as

follows

If

M

denotes

so

does

taila

-LRB-

consaM

-RRB-

Hence

there

is

no

point

in

reducing

taila

-LRB-

consaM

-RRB-

before

reducing

M

to

a

head-normal

form

If

M

has

a

head-normal

form

conscM

then

taila

-LRB-

consaM

-RRB-

reduces

to

taila

-LRB-

consacM

-RRB-

which

in

turn

reduces

to

conscM

In

practice

However

this

rule

-LRB-

and

possibly

more

rules

-RRB-

can

be

included

for

efficiency

reasons

The

programming

language

PCFR

We

let

LR

denote

the

extension

of

LI

with

a

new

ground

type

R

and

the

following

new

constants

-LRB-

i

-RRB-

rrconsa

R

R

-LRB-

ii

-RRB-

riconsa

I

R

-LRB-

iii

-RRB-

irtaila

R

I

-LRB-

iv

-RRB-

rheadr

R

T

-LRB-

v

-RRB-

pifR

-LRB-

T

R

R

R

-RRB-

for

each

a

R

with

distinct

rational

end-points

and

each

rational

number

r

We

let

DR

R

and

we

extend

the

standard

interpretation

A

of

LI

to

LR

in

the

obvious

way

-LRB-

i

-RRB-

AJrrconsaK

rrconsa

-LRB-

ii

-RRB-

AJriconsaK

riconsa

-LRB-

iii

-RRB-

AJirtailaK

irtaila

-LRB-

iv

-RRB-

AJrheadrKx

rheadr

-LRB-

v

-RRB-

AJpifRKpxy

pif

p

then

x

else

y

The

reduction

rules

for

LR

are

given

by

Lemma

with

the

same

restrictions

as

for

the

reduction

rules

for

LI

The

Computability

Lemma

and

the

Adequacy

Theorem

routinely

generalize

to

LR

Canonical

evaluation

Although

we

have

that

for

all

real

programs

M

and

N

JMK

JNK

iff

FEval

-LRB-

M

-RRB-

FEval

-LRB-

N

-RRB-

it

is

not

the

case

that

JMK

JNK

iff

Eval

-LRB-

M

-RRB-

Eval

-LRB-

N

-RRB-

-LRB-

But

JMK

JNK

iff

Eval

-LRB-

M

-RRB-

and

Eval

-LRB-

N

-RRB-

are

cofinal

-RRB-

Moreover

Eval

-LRB-

M

-RRB-

may

contain

some

intentional

information

For

example

suppose

that

a

program

M

I

denotes

Then

it

can

be

the

case

that

Eval

-LRB-

M

-RRB-

contains

L

-LRB-

take

M

consL

-LRB-

YconsR

-RRB-

-RRB-

In

this

case

we

can

observe

that

JMK

which

is

certainly

not

an

observable

property

of

-LSB-

-RSB-

In

fact

this

property

is

not

observable

in

the

evaluation

of

all

programs

denoting

-LRB-

the

program

M

YconsC

is

a

counter-example

-RRB-

Both

problems

can

be

solved

by

hiding

the

intensional

information

contained

in

Eval

-LRB-

M

-RRB-

as

follows

Add

an

immediate

reduction

rule

consaM

consb

-LRB-

consa

bM

-RRB-

if

b

v

a

and

b

a

and

define

a

strong

head-normal

form

to

be

a

real

program

of

the

form

consa

-LRB-

consbM

-RRB-

with

b

It

follows

that

a

real

program

M

has

a

strong

head-normal

form

consa

-LRB-

consbM

-RRB-

iff

a

o

JMK

because

a

o

x

iff

there

is

some

b

such

that

b

and

ab

v

x.

Now

for

all

real

programs

M

define

-LRB-

M

-RRB-

fa

IjM

has

a

strong

head-normal

form

consa

-LRB-

consbM

-RRB-

g.

With

this

definition

it

is

immediate

that

-LRB-

M

-RRB-

FEval

-LRB-

M

-RRB-

and

JMK

JNK

iff

-LRB-

M

-RRB-

-LRB-

N

-RRB-

because

-LRB-

M

-RRB-

fa

Ija

o

JMK

and

a

has

distinct

rational

end-pointsg

It

is

also

possible

to

show

that

for

any

standard

enumeration

of

the

rational

numbers

the

set

-LRB-

M

-RRB-

is

recursively

enumerable

Recall

that

an

enumeration

rn

of

the

rational

numbers

is

standard

if

there

are

recursive

maps

s

p

q

N

N

such

that

rn

-LRB-

-RRB-

s

-LRB-

n

-RRB-

p

-LRB-

n

-RRB-

q

-LRB-

n

-RRB-

and

recall

that

the

basic

operations

and

predicates

on

rational

numbers

are

recursive

with

respect

to

any

standard

enumeration

In

order

to

prove

that

-LRB-

M

-RRB-

is

recursively

enumerable

it

is

necessary

to

assign

G?odel

numbers

to

terms

and

show

that

the

reflexive

and

transitive

closure

of

the

immediate

reduction

relation

is

recursively

enumerable

with

respect

to

the

G?odel

numbering

In

practice

we

do

not

need

this

modification

because

the

intensional

information

present

in

Eval

-LRB-

M

-RRB-

is

not

accessible

within

the

language

In

fact

it

is

even

desirable

to

shorten

the

set

Eval

-LRB-

M

-RRB-

see

the

subsection

below

Deterministic

evaluation

By

imposing

a

strategy

on

the

application

of

the

reduction

rules

it

is

possible

to

eliminate

the

non-determinism

and

turn

Eval

-LRB-

M

-RRB-

into

a

finite

or

infinite

sequence

with

the

partial

number

JMK

as

its

iterated

concatenation

for

any

real

program

M

We

omit

the

details

but

see

below

For

efficiency

reasons

any

practical

functional

programming

language

for

exact

real

number

computation

based

on

the

above

ideas

should

have

its

evaluation

implemented

in

this

way

The

papers

-LSB-

-RSB-

and

-LSB-

-RSB-

give

practical

and

theoretical

explanations

for

the

need

of

non-deterministic

or

parallel

features

in

real

number

computation

when

we

do

not

allow

intensional

operations

Notice

that

Bishop

and

Bridges

-LSB-

-RSB-

need

an

intensional

operation

in

order

to

do

constructive

analysis

even

for

defining

the

basic

operations

on

real

numbers

The

above

strategy

eliminates

the

non-determinism

of

evaluation

at

the

cost

of

simulating

the

parallel

evaluation

of

the

condition

and

the

branches

of

the

parallel

conditional

until

either

the

condition

becomes

true

or

false

or

else

both

branches

become

a

head-normal

form

Perhaps

it

is

possible

to

make

use

of

abstract

interpretation

-LSB-

-RSB-

in

order

to

eliminate

some

instances

of

the

parallelism

Concluding

remarks

and

further

work

A

useful

extension

of

PCF

with

real

numbers

should

be

fully

abstract

and

have

all

computable

elements

and

functions

definable

We

are

currently

investigating

the

definability

credentials

of

our

extension

Our

notion

of

computability

is

taken

from

-LSB-

-RSB-

We

already

know

that

the

computable

real

numbers

the

basic

arithmetic

operations

some

trigonometric

functions

and

the

logarithmic

functions

are

definable

We

conjecture

that

LRPA

has

all

computable

elements

and

functions

definable

-LRB-

and

therefore

it

is

fully

abstract

-RRB-

Such

an

extension

would

be

useful

to

mechanize

the

ideas

presented

in

-LSB-

-LCB-

-RSB-

In

an

ongoing

joint

work

with

A.

Edalat

-LSB-

-RSB-

we

have

shown

that

it

is

relatively

easy

to

extend

the

language

presented

in

this

paper

with

a

primitive

for

Riemann

integration

by

using

the

methods

presented

in

-LSB-

-RSB-

We

are

also

investigating

methods

for

handling

the

more

general

theory

of

integration

presented

in

loc

cit

within

the

language

introduced

in

this

paper

Although

such

an

approach

to

exact

real

number

computation

may

seem

to

produce

inefficient

programs

it

nevertheless

provides

a

theoretical

tool

to

prove

computability

without

resorting

to

awkward

indexings

or

representations

Recall

that

we

do

not

need

to

know

the

operational

semantics

of

the

language

in

order

to

program

in

it

although

it

may

be

desirable

to

know

it

in

order

to

obtain

efficient

programs

Once

we

know

how

to

solve

a

problem

theoretically

we

can

proceed

to

translate

the

solution

to

a

real-life

programming

imperative

language

Moreover

we

do

think

that

it

is

possible

to

extend

real-life

functional

programming

languages

such

as

Haskell

Miranda

ML

-LSB-

-RSB-

with

a

relatively

efficient

treatment

of

real

numbers

based

on

continuous

words

so

that

the

theoretical

solution

can

be

readily

used

in

practice

In

such

an

approach

it

is

desirable

to

include

the

basic

arithmetic

operations

and

other

usual

functions

occurring

in

analysis

as

primitive

In

an

even

more

practical

approach

we

can

restrict

ourselves

to

the

partial

real

numbers

with

floating-point

end-points

But

we

can

not

hope

Theorem

to

hold

due

to

the

presence

of

round-off

errors

-LRB-

equivalently

due

to

the

fact

that

there

are

finitely

many

floating-point

numbers

-RRB-

Nevertheless

any

produced

result

is

guaranteed

to

be

a

correct

partial

realization

of

the

ideal

result

We

emphasize

that

the

best

produced

result

can

be

worse

than

the

best

machine

representable

partial

realization

this

time

due

to

round-off

errors

alone

Moreover

two

distinct

programs

with

the

same

value

can

concretely

evaluate

to

distinct

partial

realizations

of

their

ideal

value

again

due

to

round-off

errors

In

fact

the

-LRB-

correct

-RRB-

restriction

of

the

concatenation

operation

to

floating-point

partial

numbers

does

not

satisfy

the

associativity

property

it

only

satisfies

the

subassociativity

law

-LRB-

xy

-RRB-

z

v

x

-LRB-

yz

-RRB-

in

such

a

way

that

the

fundamental

computation

rule

consa

-LRB-

consb

-LRB-

x

-RRB-

-RRB-

consab

-LRB-

x

-RRB-

introduces

information

loss

Such

an

implementation

of

PCF

extended

with

real

numbers

is

close

to

the

ideas

presented

in

-LSB-

-RSB-

Notice

that

Interval

Analysis

as

introduced

in

loc

cit

remains

an

active

area

of

research

Since

Automata

Theory

is

based

on

monoids

of

words

it

seems

plausible

that

the

monoid

of

continuous

words

could

also

be

used

to

generalize

automata

to

real

numbers

in

a

natural

way

Acknowledgement

This

work

has

been

carried

out

under

the

supervision

of

Mike

Smyth

I

have

benefited

from

endless

discussions

with

him

and

Abbas

Edalat

Several

useful

comments

by

Abbas

Edalat

on

the

draft

versions

of

this

paper

have

allowed

me

to

improve

the

presentation

The

author

has

been

supported

by

the

Brazilian

agency

CNPq

References

-LSB-

-RSB-

S.

Abramsky

Domain

Theory

and

the

Logic

of

Observable

Properties

PhD

thesis

University

of

London

Queen

's

College

-LSB-

-RSB-

S.

Abramsky

Abtract

interpretation

logical

relations

and

Kan

extensions

Journal

of

Logic

and

Computation

-LRB-

-RRB-

-LCB-

-LSB-

-RSB-

S.

Abramsky

and

A.

Jung

Domain

theory

In

S.

Abramsky

D.M.

Gabbay

and

T.S.E

Maibaum

editors

Handbook

of

Logic

in

Computer

Science

volume

pages

-LCB-

Clarendon

Press

Oxford

-LSB-

-RSB-

B.M.

Aci?oly

A

Computational

Foundation

of

Interval

Mathematics

PhD

thesis

Universidade

Federal

do

Rio

Grande

do

Sul

Instituto

de

Informatica

Porto

Alegre

Brazil

-LRB-

In

Portuguese

-RRB-

-LSB-

-RSB-

R.

Bird

and

P.

Wadler

Introduction

to

Functional

Programming

Prentice-Hall

New

York

-LSB-

-RSB-

E.

Bishop

and

D.

Bridges

Constructive

Analysis

Springer-Verlag

Berlin

-LSB-

-RSB-

L.

Blum

M.

Shub

and

S.

Smale

On

a

theory

of

computation

and

complexity

over

the

real

numbers

Bull

Amer

Math

Soc.

-LCB-

-LSB-

-RSB-

H.J.

Boehm

R.

Cartwright

M.

Riggle

and

M.J.

O'Donnel

Exact

real

arithmetic

A

case

study

in

higher

order

programming

In

ACM

Symposium

on

Lisp

and

Functional

Programming

-LSB-

-RSB-

P.

di

Gianantonio

A

Functional

Approach

to

Computability

on

Real

Numbers

PhD

thesis

Universit?a

Degli

Studi

di

Pisa

Dipartamento

di

Informatica

-LSB-

-RSB-

A.

Edalat

Power

domains

and

iterated

function

systems

Technical

Report

Doc

Department

of

Computing

Imperial

College

Submitted

to

Information

and

Computation

-LSB-

-RSB-

A.

Edalat

Domain

theory

and

integration

Theoretical

Computer

Science

-LCB-

-LSB-

-RSB-

A.

Edalat

Dynamical

systems

measures

and

fractals

via

domain

theory

Information

and

Computation

-LRB-

-RRB-

-LCB-

July

-LSB-

-RSB-

A.

Edalat

and

M.H.

Escard?o

Real

PCF

extended

with

integration

Unpublished

draft

presented

in

the

Computational

Measure

and

Integration

Theory

Workshop

Imperial

College

London

-LRB-

available

by

anonymous

ftp

at

theory@doc.ic.ac.uk:papers/Escardo/drafts

-RRB-

October

-LSB-

-RSB-

M.H.

Escard?o

Induction

and

recursion

on

the

real

line

In

C.

Hankin

I.

Mackie

and

R.

Nagarajan

editors

Theory

and

Formal

Methods

Proceedings

of

the

Second

Imperial

College

Department

of

Computing

Workshop

on

Theory

and

Formal

Methods

pages

-LCB-

Moller

Centre

Cambridge

UK

-LCB-

September

IC

Press

-LSB-

-RSB-

M.H.

Escard?o

and

D.M.

Claudio

Scott

domain

theory

as

a

foundation

for

interval

analysis

Technical

Report

UFRGS/II

Porto

Alegre

Brazil

-LSB-

-RSB-

G.

Gierz

K.H.

Hofmann

K.

Keimel

J.D.

Lawson

M.

Mislove

and

D.S.

Scott

A

Compendium

of

Continuous

Lattices

Springer-Verlag

New

York

-LSB-

-RSB-

K.

Grue

Unrestricted

lazy

numerical

algorithms

Unpublished

manuscript

-LSB-

-RSB-

A.

Grzegorczyk

On

the

definition

of

computable

real

continuous

functions

Fund

Math.

-LCB-

-LSB-

-RSB-

C.

A.

Gunter

Semantics

of

Programming

Languages

-LCB-

Structures

and

Techniques

The

MIT

Press

London

-LSB-

-RSB-

J.G.

Hocking

and

G.S.

Young

Topology

Dover

Publications

-LSB-

-RSB-

S.C.

Kleene

and

R.E

Vesley

The

Foundations

of

Intuitionistic

Mathematics

Especially

in

Relation

to

Recursive

Functions

North-Holland

Amsterdam

-LSB-

-RSB-

H.

Luckhardt

A

fundamental

effect

in

computations

on

real

numbers

Theoretical

Computer

Science

-LCB-

-LSB-

-RSB-

S.

MacLane

and

G.

Birkhoff

Algebra

Macmillan

New

York

edition

-LSB-

-RSB-

P.

Martin-Lof

Notes

on

Constructive

Mathematics

Almqvist

Wiksell

Stockholm

-LSB-

-RSB-

R.E.

Moore

Interval

Analysis

Prentice-Hall

Englewood

Cliffs

-LSB-

-RSB-

J.

Myhill

Criteria

of

constructivity

of

real

numbers

J.

Symbolic

Logic

-LCB-

-LSB-

-RSB-

L.C.

Paulson

ML

for

the

working

programmer

Cambridge

University

Press

Cambridge

-LSB-

-RSB-

G.

Plotkin

LCF

considered

as

a

programming

language

Theoretical

Computer

Science

-LRB-

-RRB-

-LCB-

-LSB-

-RSB-

G.

Plotkin

Domains

Post-graduate

Lectures

in

advanced

domain

theory

University

of

Edinburgh

Department

of

Computer

Science

-LSB-

-RSB-

M.B.

Pour-el

and

I.

Richards

Computability

and

non-computability

in

classical

analysis

Trans

Am

Math

Soc.

pages

-LCB-

-LSB-

-RSB-

H.G.

Rice

Recursive

real

numbers

Proc

Amer

Math

Soc.

pages

-LCB-

-LSB-

-RSB-

D.

S.

Scott

Lattice

theory

data

types

and

semantics

In

Formal

semantics

of

programming

languages

pages

-LCB-

Englewood

Cliffs

Prentice-Hall

-LSB-

-RSB-

M.B.

Smyth

Effectively

given

domains

Theoretical

Computer

Science

-LRB-

-RRB-

-LCB-

-LSB-

-RSB-

M.B.

Smyth

Power

domains

and

predicate

transformers

a

topological

view

In

J.

Diaz

editor

Automata

Languages

and

Programming

pages

-LCB-

Springer-Verlag

LNCS

-LSB-

-RSB-

M.B.

Smyth

Topology

In

S.

Abramsky

D.

M.

Gabbay

and

T.S.E.

Maibaum

editors

Handbook

of

Logic

in

Computer

Science

volume

pages

-LCB-

Clarendon

Press

Oxford

-LSB-

-RSB-

M.B.

Smyth

Semi-metrics

closure

spaces

and

digital

topology

Theoretical

Computer

Science

-LSB-

-RSB-

A.

Turing

On

computable

numbers

with

an

application

to

the

Entscheindungproblem

The

London

Mathematical

Society

-LCB-

-LSB-

-RSB-

S.

Vickers

Topology

via

Logic

Cambridge

University

Press

Cambridge

-LSB-

-RSB-

J.

Vuillemin

Exact

real

arithmetic

with

continued

fractions

In

Proc

ACM

Conference

on

Lisp

and

Functional

Programming

pages

-LCB-

-LSB-

-RSB-

Klaus

Weihrauch

Computability

Springer-Verlag

Berlin

-LSB-

-RSB-

Klaus

Weihrauch

A

simple

introduction

to

computable

analysis

Technical

Report

-LCB-

FernUniversitat

-LSB-

-RSB-

E.

Wiedmer

Computing

with

infinite

objects

Theoretical

Computer

Science

-LCB-

Contents

Introduction

The

domain

of

partial

real

numbers

Domains

The

lazy

real

line

Order

of

magnitude

on

the

lazy

real

line

The

lazy

unit

interval

Partial

real

numbers

considered

as

continuous

words

The

prefix

preorder

of

a

monoid

Left

translations

of

a

monoid

Concatenation

of

partial

real

numbers

Infinitely

iterated

concatenations

Continuous

words

Heads

and

tails

of

continuous

words

Computation

rules

for

continuous

words

The

lazy

unit

interval

acting

on

the

lazy

real

line

PCF

extended

with

real

numbers

The

programming

language

PCF

The

programming

language

PCFI

The

programming

language

PCFR

Canonical

evaluation

Deterministic

evaluation

Concluding

remarks

and

further

work

Acknowledgement

References