15
SULLA C01KPUTAZIOI~E DI ]~UNZIONI RICORSI~JE (i) G. DE MIOHELIS (2) SOMMARIO - In questo articolo introdueiamo un Calco]o Funzionale per discutere il pro- blema della eomputazione delle funzioui definite ricorsivamente. Come b ben noto dalla letteratura, la computazione di una funzione ricorsiva pub dare differenti valori, a seconda che sia eseguita con la leftmost-outermost rule, o con la leftmost-innermost rule. Nel calcolo precedentemente menzionato diamo una condizione sufficieute perch~ la computazione di una funzione dipenda dalla regola di computazione utilizzata. ABSTRACT - In this paper a Function Caloulus is introduced in order to discuss the pro- blem of computing recursively defined functions. As it is well known from literature, the computation of a recursive function may give differents values whether executed with the lefmost-outermost rule or with the leftmost-innermost rule. In the above mentioned calculus we give a sufficient condition in order that the computation of a function depends on the computational rule. 1. Introduzlone. Un problema centrale della teoria della computazione ~ quello del come calcolare le funzioni definite ricorsivamente. Da una parte infatti Morris [5], Cadiou [1], Vuillemin [9] e altri hanno mostrato come, data una funzione definita ricorsivamente, f(xt, ...,xn), il valore della sua computazione per un certo vettore di costanti x t , ..., xn possa dipendere dalla regola di calcolo prescelta, nel senso che ore la si computi con la r leftmost-outermost rule ~, o con la ~ parallel rule ~ di Kleene o con la ~ normal rule ~ di Vuillemin, si raggiunge un valore deflnito~ ore (l) La riccrca ~ stata effettuata nell'ambito del Contralto N. 71.02104/75 del Consiglio Nazionale delle Ricerche (Progetto Speciale per 1 t Informatica). (2) Istituto di Fisica, Universiti~ di Milano, Gruppo di Elettronica e Cibernetica. Via Viotti 5 - Milano.

Sulla computazione di funzioni ricorsive

Embed Size (px)

Citation preview

S U L L A C 0 1 K P U T A Z I O I ~ E D I ] ~ U N Z I O N I R I C O R S I ~ J E (i)

G. D E M I O H E L I S (2)

SOMMARIO - In questo articolo in t rodueiamo un Calco]o Funzionale per discutere il pro- blema della eomputazione delle funzioui definite r icorsivamente.

Come b ben noto dalla le t tera tura , la computazione di una funzione r icorsiva pub dare differenti valori, a seconda che sia eseguita con la lef tmost-outermost rule, o con la leftmost- innermost rule.

Nel calcolo precedentemente menzionato diamo una condizione sufficieute perch~ la computazione di una funzione dipenda dal la regola di computazione ut i l izzata.

ABSTRACT - In th i s paper a Funct ion Caloulus is in t roduced in order to discuss the pro- blem of comput ing recursively defined functions.

As i t is well known from l i terature, the computa t ion of a recursive funct ion may give differents values whether executed wi th the lefmost-outermost rule or w i th the lef tmost- innermost rule.

In the above ment ioned calculus we give a sufficient condit ion in order t h a t the computa t ion of a function depends on the computa t ional rule.

1. Introduzlone.

U n p r o b l e m a c e n t r a l e d e l l a t e o r i a d e l l a c o m p u t a z i o n e ~ q u e l l o de l c o m e

c a l c o l a r e l e f u n z i o n i d e f i n i t e r i c o r s i v a m e n t e .

D a u n a p a r t e i n f a t t i M o r r i s [5], C a d i o u [1], V u i l l e m i n [9] e a l t r i h a n n o

m o s t r a t o c o m e , d a t a u n a f u n z i o n e d e f i n i t a r i c o r s i v a m e n t e , f (xt , ...,xn), i l

v a l o r e d e l l a s u a c o m p u t a z i o n e p e r u n c e r t o v e t t o r e d i c o s t a n t i x t , . . . , xn p o s s a

d i p e n d e r e d a l l a r e g o l a d i c a l c o l o p r e s c e l t a , n e l s e n s o c h e o r e la s i c o m p u t i

c o n l a r l e f t m o s t - o u t e r m o s t r u l e ~, o c o n l a ~ p a r a l l e l r u l e ~ d i K l e e n e o

c o n l a ~ n o r m a l r u l e ~ d i V u i l l e m i n , s i r a g g i u n g e u n v a l o r e de f ln i to~ o r e

(l) La riccrca ~ s ta ta effettuata nel l 'ambi to del Contra l to N. 71.02104/75 del Consiglio Nazionale delle Ricerche (Progetto Speciale per 1 t Informatica) .

(2) I s t i tu to di Fisica, Universiti~ di Milano, Gruppo di Ele t t ronica e Cibernetica. Via Viot t i 5 - Milano.

18 G. D$ MICH~LIS: Sulla vom putar

invece si comput i con la <( lef tmost- innermos t rule a, nessun valore v iene ragg iun to e la computazione non te rmina (per convenzione si dice che il sue valore i~ co, (( indefinite ,).

Da l l ' a l t r a par te P a r k [6] Scott [7], Scot t e S t rachey [8] ed al tr i hanno d imos t ra to come in te rpre tando la funzione definita r i cors ivamente come il minimo punto fisso del funzionale the la definisce~ ~ possibile cara t te r izzare ma t ema t i eamen t e la funzione stessa, al di 1~ delle regole di ealcolo.

Res ta comunque aperto il p roblema della carat ter izzazione delia classe di funzioni la cui computazione pub dipendere dalla regola uti l izzata, al al fine di rieavarne~ se possibile~ un metodo di r iconoscimento per questa classe. Metodo di r ieonoscimento ehe r icava la sua impor tanza dal fat to che proprio la l e f tmos t - innermos t rule ~ la pill efficiente t ra tu t t e le regole proposte.

I n Cadiou e Manna [2] si ~ forni ta una carat ter izzazione delle funzioni definite r icors ivamente, monotone, ne~ termini del l 'es tensione delle funzioni parziali su D, dominie qualunque, alle funzioni total i su D-~- {co} (eve cio~ si conviene di scr ivere f ( x ) ~ w nel case in cui la computaz ione non termini) e dei punt i fisssi delle lore definizioni.

Pa r t endo dai r isul ta t i di Cadiou e Manna [2] noi d imos t r iamo per le funzioni monotone, ehe una funzione ennar ia costante su D-F-{co} in una variabi le , se computa ta con la le f tmost -outermost rule, ~ una funzione la cui eomputaz ione pub dipendere d a l l a regola usata.

Ino l t re diamo una condizione sufficiente, algoritmica~ per de te rmina te se una funzione ~ tale the la sua computaz ione d ipende dalla regola di ealcolo uti l izzata.

2. Un ca lcolo funz iona le .

P rosen t i amo un calcolo per le funzioni che ci pe rme t t e di s tudiare le lore propr ie t~ in relazione alla lore computazione.

SII~TASSI. Sia il nostro alfabeto A ~ V q- D q- {w} q- F -3 t- G q- {eoad} dove

I r ~ un insieme infinite di variabili individuali~

D ~ un insieme di vostanti individuali~

aJ ~ un simbolo cos tante che si legge r indefinite ~

F ~ u a ins ieme infinite di variabili funzionali, ciaseuna con una san n-ariet~,

G ~ un ins ieme di vostanti funzionali, ciaseuna con una sun n-ariet~.

di funeioni rieorsiw 19

eond i~ (( sequential if-then.else ~> (Manna e Me. C a r t h y [3]).

Sti ques to alfabeto cos t ru iamo i termini del nos t ro calcolo, con

condiz ioni :

1) s ia x E V - ~ D - ~ {co! : al lora x ~ nn t e r m i n e ;

2) sia f~ ') ~ F~ n-aria, e siano a i , . . . , a , t e r m i n i : allora J~(~) (a t , . . . , a,~) 6 t e rmine ;

3) sia g~) ~ O, n-aria, e siano a 1 , . . . , a termini~ allora g~"~, (a 1, . . . , a )

t e rmine :

4) s iano a t , a s , a 3 , a t t e rmin i ; a l l o r a : cond (a t~g~,a 3,a4) ~ un termine.

Dic iame definizione fu~lzionale t ina espress ione fo rma ta d a :

tin t e rmine del t ipo f i (") (x i ~ . . . , x,), dove

fi('~) h una var iabi le funzionale e x i , . . . ,x,. sono variabil i individual i , de t to definiendum;

- - u n a freccia s in i s t ra

- - un t e rmine a det to definiens;

. . . ,

una cos tan te funzionale 4-aria che r a p p r e s e n t a una v a r i a n t e del

ques te

t i n

t i n

U n a var iabi le funzionale ~ de t ta nome di funzione se occorre nel deft- n i e n n u m di tina deflnizioue funzionale .

U n a definizione funzionale A ~ ben formata (b. f.) a e :

1) le var iabi l i indiv idual i che oceor rono nel definiens sono tu t t e e sole

quelle che occor rono nel def in iendum,

2) le var iabi l i funzional i che occor rono nel definiena sono tu t t e nomi di f unz ione che occorrono nel def in iendum di definizioni b. f. (diremo quest i pe r b rev i t~ nomi di funzione b.f .) ,

3) se la b u o n a formazione della definizione funz iona le A d ipende da quel ia della definizione funzionale B~ e a sua vo l ta la b u o n a formazione di B

d ipende da quel la di A, al lora sia A ehe B sono b . L U n definizione funzionale si dice real formata al t r iment i . U n t e rmine

si dice b . f . se t u t t i i nomi di fnnz ione ehe vi occor rono sono b . L , real f o rma to a l t r iment i .

lqotaz ione : per indicare a livello me ta l ingu i s t i co le var iabi l i occorren t i in un t e rmine ~, lo scr iv iamo cosi

20 G. D ~ MICHELIS'- SUliG, r

d o v e : f ~ - ~ ) . . . , f ~ " O sono le v a r i a b i l i f unz iona l i , che non sono n o m i d i f u n

zione, ehe occor rono in a, x ~ , . . . , x k sono le v a r i a b i l i i n d i v i d u a l i t h e occor-

rono in a. U n t e r m i n e b . f . si d i ce vostan~e se non c o n t i e n e v a r i a b i l i indi-

v i d u a l i e se lo v a r i a b i l i f unz iona l i che c o n t i e n e sono nomi di funz ione .

U n t e r m i n e b . f . si d ice funz ione se c o n t i e n e u n a o p i h v a r i a b i l i indi -

v i d u a l i e se t u t t a le v a r i a b i l i f u n z i o n a l i che e o n t i e n e sono nomi d i funz ione .

S i d ice reggente di u n a f u n z i o n e la o c c o r r e n z a p i h a s i n i s t r a in e s sa

d i u n nome d i funz ione o di u n a c o s t a n t e funz iona le . P e r e sempio , l a reg-

g e n t e di q u e s t a funz ione f (a ) (x I , x s , j~(2)(xi, xs), xs) h f(4), e di q u e s t a

cond (f~2)(xt , x2) , f~2) (xt , x2), Xa , f3 (2~ (xi , x2) ) b cond.

U n t e r m i n e si d ice argomento di u n a funz ione ~, se e solo se esso oeco r re

in cr m a non in a l c u n a funz ione che occor re pu re in ~.

U n t e r m i n e b . f . si d i ce funz ionale , se con t i ene v a r i a b i l i f u n z i o n a l i che

non sono n o m i di funz ione .

S i d i ce riduzione di un f u n z i o n a l e a funz ione q u e s t a a p p l i c a z i o n e

:< ",> , . . . ,.,,,:<"'> , . . . ( 7 , <',> , . . . , 7<., " ' > ) = = , . . . , =,,1,

dove f l (hi), 7{"m) . . . , j ,~ sono c o s t a n t i f u n z i o n a l i o nomi di f u n z i o n e o r d i n a t a -

m e n t e d e l l a s t e s s a n -a r i e t~ de l l e v a r i a b i l i f u n z i o n a l i che o c c o r r o n o in

~("~) x . xk] e dove ~ x i , xk] si o t t i e n e s o s t i t u e n d o o rd ina - [ f l (hi)' "'" 'J~ ' 1 ' "" ' "'" '

r f ( n i ) # ( n r a ) ~ . . . X k ] . t a m e n t e le ~( '~) a l le v a r i a b i l i f unz iona l i f~('~) in a LJ 1 , . ' . ~J ~ , ~ i , ,

S i d i ce riduzione di u n a funz ione a c o s t a n t e q u e s t a a p p l i c a z i o n e

[xl, ..., ~] (~, ... ,xk) = ~,

dove x i , . . . , x t sono cos t an t i , e ~ si o t t i e n e s o s t i t u e n d o o r d i n a t a m e n t e le

costanti xl alle variabili individuali xi in ~ [xl,... , xl].

Si dice computazione di una costante la sostituzione successiva :

a) di tutti i sottotermini del tipo eond (xl,x2, x3,x4)e del tipo

f~(")(~,..., x-~) dove xl, xs,x3,x 4 e x~,... ,x~ sono costanti e fl(") ~ una co-

stante funzionale, con la loro computazione, come definita nella semantica;

b) di tutti i sottotermini del tipo fir (x-i ~... ,x-n)dove fi<n) bun home

di fnnzione, con la riduzione del definiens ~ [xl, ... ,x,], che occorre nella

stessa definizione funzionale nel cui deflniendum occorre fit-), a costante

[x i ,..., x,] (~, ..., x,) = ~,

d~ fun~ioni rir 21

con r ipotizione del proeesso fine ad o t tenere una cos tante i nd iv idua le ; so il proeesso non termina~ il r i sul ta to ~ w.

SEMANTICJk. Diamo solo aleuni cenni della semant ics , essendo Pinter- pretazione del nostro ealeolo intuit iva. D-~-{~o} i~ un insieme parz ia lmente ordinate ehe ha quests s t ru t tu ra

x y Z

�9 ~

D

O)

dove l ' o rd inamen te i~ tale che:

2) ~ x e / ) + {~}, xc::x,

2) ~ x, y E D, x C y -~--> x -.~ y,

3) ~ x ~ 2) + {~o}, o~ _c x,

4) ~ x , y , z e D - ~ { o : , } , x ~ y , y C _ z = > x g z .

Le funzioni a [ x t , . . . , x,.] appar tengono ai domini

(1) + {~}),,--~ D + I~},

eve n dipende dalla n-ariet~ delle funzioni. I funzionali a[ f~i )~ . . . , f ,~ ' ' 0 ,

x~ 7 . . . , x,] appar tengono ai domini

(((D + {o~}) ~, - + D + {o~}) x . . . x ((D -f- (~})" - + D + Io~}) - +

- + ((D + (~))~ - + D + {o~}~),

eve n I , . . . , mm, k dipendono, r i spe t t ivamente , i primi dalla n-arieti~ delle variabil i funzionali , Pultimo dalla n-ariet~ della funzione ehe si o t t iene

r idueendo il funzionale a funzione. Le funzioni le eui reggent i sono cos tant i funzionali forniscono la base

delle fanzioni del nostro caleolo~ nel sense che queste possono essere eost rui te o sempl icemente in funzione di esse o r icors ivamente . Comunque non speeifichiamo la semant ics delle funzioni, la cui reggente i~ un e lemento di G, perehd la seelta delle fun~.ioni present i in G dipende dalla carat te-

22 G. D~ 5ItCHEr, IS : Stdla computazion6

r izzazione del dominie D delle costanti . Diamo inveee la semant iea di cond (x i~ x~, x a, x4) perchg questa funzione ~ presen te nel caleolo indipen- den temen te dalla earat ter izzazione di /) .

vend (~t, x2, xa , x4) i~ una va r i an te del (~ sequent ia l if- t h e n - e l s e , che abbiamo inseri to per non dover descr ivere formalmente il dominie dei valori di ver i tk .

t e n d (x I , x~ , x s , x 4)

l x SO x l c x 2 e x i~x2~F o~,

x 4 se x l ~ x 2 e x i ,x~ :~:co,

a) SO X l ~ CD 0 X 2 ~ 03.

Le definizioni funzionali sono quelle the ci permet tono di generare nuove funzioni dalle funzioni assunte come base. Lo riduzioni di funzionali a funzioni, e di funzioni a costant i non sono al t ro ehe le applicazioni di funzionali a funzioni per ot tenere una funzione, e di funzioni a costanti per ot tenere una costante .

Dal la deflnizione da noi da ta non h chiaro perb il mode, Fordine in cui vanno esegui te le sosti tuzioni nella computazione di una costante. Si possono avere infatti pii~ regole di computazione. Ne ci t iamo qui le due pr incipal i :

1) la le f tmos t -outcrmost r u l e : impone di sost i tuire per pr imo il so t to te rmine la cui reggente occorre nella posizione pifi a s in is t ra e pii~ es te rna e cost proseguire ;

2) la l e f tmos t i n n e r m o s t r u l e : impone di sost i tuire per pr imo il sc t to te rmine la cui reggente occorre nella posizione pifi a s inis t ra e pifi in te rna e cost proseguire .

!~Ianna~ Vuillemin e Ness [4] hanno most ra to come le due regole pos- sono dare r isul tat i differenti.

Si consideri il seguente esempio. Sia D Pinsieme dei numeri natural i , sia co l ' indefinito, siano le funzioni base del nostro calcolo queste due funzioni 1-arie

x _ ~ . l ~ t X se x ~ o J

x Jr- 1 a l t r iment i

X ~ I ~ t 03 s e ~ - - - ~

x - 1 al t r imenti .

0 x-~-O

di fun*ioni ricorsivo 23

Usiamo qui la scri t tura infissa per rendere pih agevole la le t tura dei te rmini ; per la stessa ragione scriviamo

i f x I ~ x 2 then x 3 else x 4

invece di

cond (x I , x 2 , x 3 , x4).

Rieordiamo che serivere per un termine costante a , a ~ c o equivale ad affermare c h e l a computazione non termina.

Diamo queste definizioni funzionali :

fl(?)- ( x , y ) < = i f x -~ 0 then y else ( i f y - ~ 0 then x else f l (2) (x - - 1, y -~- 1))

che deflnisce la funzione somma,

f(2) (x, y) < = i f x - ~ 0 then 0 else ( i f y - ~ 0 then 0 else f(12) (x, f 2 (e) (x, y - - 1)))

che definisce la funzione prodotto,

]'3 ~:) (x, y) < = i f y = 0 t hen x else f ( 2 ) ( x - - 1, y - - 1)

che definisce la funzione differenza.

f~=) (x, y) <--- 0 then 1 else f , (x,f(~ =~ (x - - 1 , f 3 ('~ (x, y))),

che definisce la funzione che vogliamo computare nei valori x = 1,y-----3.

Riduciamo quindi f(2} (x, y) a costante per mezzo di questa applicazione

f22~ (x, y) (1, 3) = f (21 (1, 3).

Computiamo ors f4(2)(1, 3) con la leftmost outermost (l. o.) ru le ; abbiamo

f(2, (1, 3) = i f 1 ----- 0 t hen 1 elsef~2 2) (I , f4 (2) (0,.f~ 2) (1, 3)))

per la sostituzione di f~(2)(1, 3),

= j:2 (2) (1, f ( ' ) ( 0 , f (2) (1, 3))),

per la computazione di i f . t hen -e l s e ,

~ - i f 1 = 0 then 0 else ( i f f(4 ~) (0,]~ (2) (1, 3)) ---~ 0

2r G. DR M[CHELIS: Sulla oomrutaxione

then 0 else f l (2) (1,f2 (2) (1,f4 (2) ( 0 , f (~) (1, 3 ) ) - - 1))),

per la 1. o. sost i tuzione, e cost p ro seguendo sueces s ivamen te

= f ~ ) ( 1 , f ~ (~) ( 1 , f : ~ ( 0 , / ~ (~) (1, 3)) - 1)),

Comput i amo quindi f4 (~) (1, 3) con la l e f tmos t i nne rmos t (1. i.) rule ; abb iamo :

f4 (2) (1, 3) = / f 1 = 0 then i else f.~2)(1,f(2)(0,fa(2} (1, 3))),

per la sos t i tuz ione di f(2)(1, 3),

.~-- f(2)(1,f(~)(0,fa(2)(1, 3))),

pe la compu taz ione di if-then else,

= f(2} (1,f~2)(0, ( if 3 ~- 0 then 1 else fa (2) (1 - - 1, 3 - - 1))))

per la 1. i. sos t i tuz ione , e cost p roseguendo succes s ivamen te

= f~(~) (1 , f , (~' ( o , f ~ (~) (0, 2))),

= f(2)(1,f4(21 (0,fa(i)(0 - - 1, 2 - - 1))).

Ma per definizione 0 - 1 = w, eio~ la eomputaz ione di 0 - 1 n o n t e rmina ,

per cui non t e rmina neppu re la compu taz ione di f ~ ) ( 1 , 3), ciob

f,(') (1, 3) = o~.

Quindi si hanno due r i su l ta t i d ivers i a seeonda della regola di eom-

pu t az ione ehe v iene usata , in fa t t i ind icando con LOf~2}(x, y ) l a funz ione

ehe si o t t i ene eomputando con la l e f t m o s t - o u t e r m o s t ru le e con L I f 4 (2)(x,y) la funz ione che si o t t iene c o m p u t a n d o con la l e f tmos t - i ane rmos t ru le abb iamo :

L O f (2) (X, y) ~ i f X ~ 0 then x ! else co

e i nveee

L I f4(~) (x,y) --- i f x----- 0 v ( x > 0 ^ y > 0 ^ x ~ 2 y R x :~ 2 y - - 1)

then x ~ else w.

di f u n z i o n i r ieors ive 25

Nostro fine in questo studio ~ carat ter izzare una classe di termini b. f . la cui eomputazione dipenda dalla regola preseelta~ e fornire una regola di t rasformazione dei termini in questione in termini la cui computazione non dipenda dalla regola di computazione prescelta.

3. Le f u n z i o n i t r iv ia l i .

La classe di termini che vogliamo studiare ~ quella dei termini mono- toni (3 una generalizzazione della classe di termini s tudiata in Cadiou e e Manna [2]~ in quanto eontiene funzioni di pih variabili, e permet te la deft- nizione di sistemi di funzioni r ieors ivamente d e f i n i t e ) i n quanto questa contiene le funzioni definite r icorsivamente, carat terizzabil i come minimo punto fisso del funzionale the le definisce.

P e r avere pih dettagli su questo punto di vista si veda appunto Cadiou e Manna [2]

Una funzione a [xi~... ,x , ] 6 m o n o t o n a se

~vl x i , ... , x , e y t , . . . , y,, E D --~ {a~}

tali t he

allora

m m

x t C _ y i , . . . , x , ~ y ,

[x~, ..., x,,](7~, ..., -~,,) ,: o: [x, ,..., x.] (y~, ..., y,,).

Pe r ogni n~ lo spazio delle funzioni

(~ + [oH)- - + 1) + [~}

i~ parzia lmente ordinato da queata re lazione:

a[xl, ..., x,,], fl [xl, ..., x,] E (D Jr- {o~i)" --+ i ) + {,,l

[x~ , . . . , ~,,] ~_ ~ [xl, ..., x.] Be e solo se

u ~, , ..., x, ~ 1) + [o~1

:, [ , , , ..., ,~] (~,, ..., ,~) c_ # [ , , , ..., , . ] (~,, ... ,~.).

Imponiamo quindi ehe le funzioni del tipo g~")(xl,... , x ) dove g~")

una eostante funzionale e x i ~ . . . , x,~ sono variabili individuali siano monotone, allora h possibile dare una definizione di funzione monotona in termini di composizione di funzioni.

26 G. Dz MIOH~LIS: Sulla computations

U n a funz ioue a [ x ~ , . . . , x , ] i~ m o n o t o n a s e e solo se ~ eomposiz ione di

funz ion i la cui r e g g e n t e ~ una g~") E G e di funzioni la eui r e g g e n t e ib

un nome di funzione che occorre nel def in iendum di deflnizioni funzional i

m o n o t o n i c a m e n t e s t ru t tu ra t e .

U n a definizione funzionale ~ m o n o t o n i c a m e n t e s t r u t t u r a t a se e solo se il suo definiens b composiz ione di funzioni la cui r eggen te ~ o una g~)E G

o u n nome di funzione.

Si deduce da quan to fin qui de t to che nel nos t ro calcolo, pe rchd tu t t e le funz ion i s iano mono tone ~ sufficiente che s iano m o n o t o n e le funz ioni base.

U n a definizione funz ionale b ricorsiva s e e solo se il definiens cont iene il n o m e di funzione che occorre nel def in iendum.

U n a funz ione a [ x i T . . . , x . ] h naturals se e solo se per ogni ennup la

x~, . . . ,x~ di eos tan t i dove a lmeno per un eer to

i ( l g i K n ) xi - - - -co,

[x~, . . . , x,] (xt , . . . , ~.) = co.

U n a funzione ~ non naturale altrimenti.

Una funzione a[x 1,...,x.] ~ non indefinita se e solo se 3x i,...,x~E E D -~- {co] tall the

{x t , . . . , x , ] ( x t , . . . , ~ , ) # 4 : co .

U n a funz ione ~ [x i , . . . ,x,,] ~ costante in una sua variabile xi(1 ~ : / ~ n) se

e solo se : fissati x i , . . . , x , - i , Xi+l, . . . , x , E D -{- {co}

[xi , .... x . ] ( x , , . . . , x . ) - - - x, con x e D + {col,

s l) § {co}.

]~ opportuno notare che ore Is funzione ~[xi,... ,x~] sia pure non indefinita, esistono sempre

tali the ~ , . . . , x , - 1 , x , + l , . . . , ~ . ~ D -~ {co}

d~ funzioni ricorsiva 27

TEORE~A 1 : u n a funz ione a [xt ~... ~x.] m o n o t o n a n o n i nde f in i t a ~ n o n

n a t u r a l e se e solo se ~ cos tan te in a l m e n o u n a delle sue var iab i l i .

PROVA a) ]~ immedia to c h e s e a [xi ~ ... , x , ] b cos tan te in x~(1 ~ i - ~ n)

essa h p u r e n o n na tu r a l e , in fa t t i

[ ~ , . . . , . .1 (x, , . . . , x , ) = ~ :4= ~,

per u n a b u o n a scel ta di x i , . . . , x~ - i , x i + l , . . . , x~ E D + {co} e per xi ~ co.

b) Sia a [ x t , . . . ,x , ] m o n o t o n a n o n n a t u r a l e , ciob

tal i che

per

x i , . . . , x ~ - i , x ~ + l , . . . , x . e D q - [co}

[ x i , ... ~ x . ] ( x i , . . . , x i - 1 , x~, x~+l , . . . , x . ) ---- x ~ co

X i ~ O3~

S u p p o n i a m o che a [x i , . . . . x~] n o n

cioh d iverso da co) tale c he

s ia eos t an te in x i . Q u i n d i 3 ~ 6 D

I x , , . . . , x . ] ( x , , . . . , x ~ - l , x~, x i + l , . . . , x . ) = y :4= x.

Si ha q u i n d i nece s sa r i amen te

q

x~_cx~, poichd xi ~ w, ma

_ - - M

[ ; r i , . . . , Xn] ( X i , . . . , X i - - 1 , X i , Xi-~-I , . . . , Xn) ~ ,

[x t , . . . , x , ] ( x t , . . . , x ~ - l , x i , x ~ + l , ... ,~,) ,

e cib con t r add i ce l ' ipotes i di monoton ia .

U n esempio di funz ione m o n o t o n a n o n n a t u r a l e b la f u n z i o n e

I n f a t t i se pon i amo

a b b i a m o

cond (x t , x~, x a , x4).

x t - - - l ~ x 2 ~ 1 , x a ~ l , x 4 ' co

concl (xi , x~, xa, ~ ) (x t , x~, x3, x4) = 1

28 G. DE 3[ICHELIS: Sulla aomputazion~

cond ( x i , x 2 , x a , x 4) i~ pure cos tan te in x 4 come si nora dal fa t to the, f lssat i

come sopra x t , x 2 , x 3 , ~ x 4 E D -{- {0)}

cond (xt , xu, x a , x~) (xi , x~, x3, x4) ~ 1.

TEOREMA 2 : da ta una funz ione a [x~, . . . , x,] m o n o t o n a non indefini ta ,

d ive rsa da cond ( x i , x ~ , x 3 , x ~ ) , perch~ la c o m p u t a z i o n e della sua r iduz ione

a cos t an t e per una appropr i a t a scel ta di x~ . . . , x,, E D-{-{co} d ipenda dal la

regola u t i l izza ta , ~ sufficiente che a [x i , . . . , x , ] , c o m p u t a t a con la lef tmost-

o u t e r m o s t ru le (1. o.r . ) , sia cos tan te in u n a sua var iabi le .

PROVA. Sia a [x i , . . . , x,,] cos tan te in xi (1 ~ i ~ n). Quindi

3 x i , . . . , x~_l, x i + l , . . . , x~ E D -~- {co}

tali che [xi, . . . , x,,] ( ~ , , . . . , ~ , - 1 , x~ , ~ , + 1 , . . . , ~ . ) - - x - ~ 09,

x~ E D -~- {09}.

se c a m p u t a t a con la 1. o. r..

Perc ib c o m p u t a n d o con la 1 o. r. a n c h e per x i -----09 si ha

_ _ ~ : ~ [ x i , ... , x~] ( x i , ... , x , _ l , x~ x ~ + j , . . . , ~ , ) ~ - ~ .

Ma x~ ~ 09 signiflca c h e l a c o m p u t a z i o n e di x~ non termina, pe r cui se

c o m p u t i a m o con la l e f tmos t - innermos t ru le (1. i. r.) anche

[xi , . . . , x~] ( x t . . . . , x~_~ , x~ , x~+~ , . . . , x , ) = co,

cioh la c o m p u t a z i o n e della r iduz ione a cos t an t e della f anz ione d ipende dal la

rego la di calcolo ut i l izzata. Vediamo ora di dare una condiz ione sufflciente a lgor i tmica , pe rch~ u n a

funz ione sia tale the la computaz ione del la sua r iduz ione a cos t an t e possa

d ipende re dal la regola ut i l izzata . U n a funz ione a [ x i , . . . ,x~] m o n o t o n a si dice tr iviale in una var iab i le

i nd iv idua l e x~, se i nomi di funz ione t h e occor rono in essa, occo r rono nel de f in i endum di definizioni funzional i t r iv ia l i in quel la var iabi le i nd iv idua l e xi .

U n a definizione funzionale , il cui deflniens ~ monotono , A si dice

t r iv iale in u n a var iabi le ind iv idua le x~ s e e solo s e :

1) se A ~ r icors iva , x~ appare e v e n t u a l m e n t e solo c o m e :

a) ies ima var iabi le nella occor renza piu es te rna di u n a funz ione che

come r e g g e n t e il nome di funz ione occor ren te nel def in iendum, ha

oppu re

di fu~~ion~ r$corsive 29

b) a rgomento d i u n a funzione tr iviale in x~ s t e s sa ; 2) in ogui caso, x~ appare even tua lmente come argomento d i u n a s

t r iviale in essa i

3) se la tr ivial i t~ della definizione funzionale A dipende da quella di At r . . . , A ~ e la trivialitit di c iascuna A~ dipende da quella di A , A ~ . . .

�9 . . , A~_I, A~+I, . . . , A~, allora A, A i , . . . , A~ sono triviali. D iamo aleuni esempi di funzioni tr iviali . La funzione preseu ta ta alla fine della p r ima par te del presente lavoro,

la cui definizione funzionale era

t r iviale in y, perchg nel definiens della definizione funzionale y occorre so lamente nel secondo argomento della oecorrenza pifi es terna della fllnzione

1,f y)) che come reggente La funzione j.(2)(x, y), ehe ha ques ta definizione funzionale

f(2) (x, y) = i f x ~ - 0 then f4 (2) (x, y) else j~(2)(x - - 1, y + t)

pure t r iv ia le in y, perchd nel definiens della definizione funzionale y occorre nel secondo argomento della oecorrenza pih es terna d i u n a funzione

che ha come reggente f5 (2), e al di fuori di questa come argomento d i u n a funzione t r iviale in y.

TEORE~X 3: una funzione monotona a [xi , . . . ~x,] t r iviale in una varia- bile i~ costante in quella variabile~ se computa t a con la 1. o. r.

PROVA. Ci l imitiamo per ragioni di semplicit~ a d imostrare il t eorema

per una funzione f(2)(x~ y) di due variabi l i t r iviale in una di ease.

Sia percib f~(~ (x, y) tr iviale in y, e sia A la definizione funzionale nel

eui definiendum oecorre tic2). Quindi A i~ una definizione funzionale t r iviale in y. Dis t inguiamo due casi sulla base della definizione di trivialit,~ di una definizione funzionale.

A ~ tr iviale in y perch~i y occorre solamente nel secondo a rgomento

della occorrenza pi~ es terna di f(2) nel definiens.

Quindi fissato un valore xED-~-{co}, ~ y E D - ~ - [ c o } ~ se comput iamo

f(2~ (x, y) (x, y)

ot teniamo dopo il primo passo di ealcolo o un termine non d ipendente da

y, oppure un termine f(2)(x, y)(x, y) ore x non dipende d a y .

30 G. DE ~IICHEI.IS: ~'t~la computazto~e

Quindi nella computazione o t ten iamo: 0 una suecessione infinita di

termini tic2)(x, y) - n - n x ~ -~ �9 (x ~y )~ ore e y rappresentano le costanti a cui nelPen-

nesimo passo di ealcolo applichiamo fi(2)(x, y), e allora il r isul tato della

computazione ~ w~ e quindi fi(2~(x~ y) h costante in y, oppure alPennesimo

passo di calcoIo un termine fl, the non dipende da y, e aneora fi(2)(x~ y) costante in y.

A ~ triviale in y perch~ y occorre in funzioni triviali in y nel definiens.

Siano fi~r (x, y), ... , f i~ ) (x , y) queste funzioni triviali in y, e siano A i , . . . , A,~ le definizioni funzionali nei cui definiendum oecorrono rispet-

t ivamente f i ~ ) , . . , f i ~ ). Se ciascuna J'~")(x~y)~ triviale in y perch6 l a y occorre solamente

nel secondo argomento della occorrenza pifi esterna di fi~2) nel definiens di

A, allora queste funzioni sono costanti in y~ ed ovviamente anche f~2j (x, y) costante in y ; se inveee A ~ A 1 , . . . , A , ~ implieano mutuamente la loro

tr iviali t~ nella computazione di fr y)(x, y) per un certo x E / ) - ~ - { o J } : ~ E D-~-{o~]~ ot teniamo ad ogni passo di caleolo: 0 un termine fl non dipen-

dente da y, oppure un termine del tipo fi(2J(x, y ) ( x " , y") 0 f~.(])(x,y)(x', y , ) ,

o re x" e-~n rappresentano le costanti a cui nell~ennesimo passo di calcolo

applichiamo fi(2) (x~ y) 0 f~r (x, y). Quindi il r isultato della computazione sar~

~0, se ot teniamo una successione infinita di termini del tipo f~2) (x, y)(x '*7 Y n ) oppure del t ipo f~.2~ (x, y) (x n, yn)(1 ~ j ~ m), o re x n e y" rappresentano le

costanti le costanti a eui nell~ennesimo passo di calcolo applichiamo la

funziome~ e cib indipendentemente da y, oppure un termine fl~ iudipendente

pure d a y - ; quindi fi(2)(x, y) ~ costante in y.

C O R O L L A R I O : 88 una funzione ~ Ix i , ... ~ x,] non indefinite, ~ tr iviale in una delle sue variabili~ la computazione della sua riduzione a costante~ per una oppor tune scelta di queste~ dipende dalla regola uti l izzata.

PROVA. ~ immediate a part i re dal teorema 2 e dal teorema 3. I1 corollario ora enunciato completa la carat ter izzazione algori tmica di

di una classe di funzioni, la cui computazione pub dipendare dalla regola

utilizzata.

di funzioni ri~or,ive 31

BIBLIOGRAFIA

[1J J. M. CADIOU, Recursive Definitions of Partial Function and their Computations, Stanf~,rd P h . d . Thesis, (1972).

[2] J. M. CADIOU, Z. MANNA, t~eeur~ive .Definitions of Partial Functions and their Compu- tations, in Prec. ACM Conference on Proving Assertions about Programs, Las Cruces, Now Mexico (1972), 58-65.

[3] Z. MANNA, J. Me eARTHY, Properties of Programs and !oartial Function Logic, in ~ Machine Intelligence 5 *, Edinburgh Universi ty Press, (1969), 27-38.

[4] Z. MANNA, S. NESS, - VUII.LI~MIN, Inductive Methods for Proving Properties of Program, in Prec. ACM Conference on Proving Assertions about Programs, Las Cruces, New Mexico (1972) 27-50.

[5] J. It. MORRIS, Lambda-Caleulas Models of Programming Languages, MAC Tr. 57, MIT (1968).

[6] D. PARK, Fixpoint Induction and Proofs of Program Properties, Machine Intelligence 5, Edinburgh University Press (1969), 59-78.

[7] D. SCOTT, Outline of a Mathematical Theory of Computation, in Prec. IV Annual Princeton Conference on Information Sciences and Systems (1970), 169-176.

[8] D. SCOTT, C. STRACHEY, Toward a Mathematical Semantics for Computer Languages in 1971 Symposiun on Computers and Automata, Microwave Research Inst i tute Proceedings, Vol. 21, Polytechnick Inst i tute of Brooklin, (1972) 19-46.

[9] J. VUILLEMIN, Proof Techniques for Recursive Programs, Stanford P h . D . Thesis, (in corse di pubblicazione).