6 6
4
0
) )
.
.2
4
-9
V V
Eds
(
s s
SPUP
1994 1994
Ramo
Isidro Isidro
19-22, 19-22,
I I
e e
GULP-PRODE'94 GULP-PRODE'94
A A
I
Barbuti Barbuti
Volum
Programming Programming
rto rto
e
VALENC
September September
DE DE
'94 '94
A A
E
Rob
C
I
CN
e e
ROD
Conference, Conference,
Spain, Spain,
-P
P
POLITt
GUL
OAD OAD
Joint Joint
Alpuent
I
UNIVERS
Proceedings Proceedings
1994 1994
Peiiiscola, Peiiiscola,
Declarative Declarative Maria Maria Foreword
'l'ht· Gruppo Ricerca.tori ed utenti di Logic Programming (GULP, which stands l••t Lul(ic Programmjng Researcher and User Group), is an affiliate of the Association 111 l.oKk Programming (ALP). The goals of the group are to make logic programming u1m1l popular and to create opporturuties for the exchange of experiences and infor ttllltiOn between researchers and users working in the area for both public and private •ur,n niv.ntions. 'J'o this purpose GULP promotes many different activities such as the exchange of 111f••r111al .ion among its members and the orgaruzation of workshops, advanced ;chools 1111rlil. r; aunual Conference. 'l'hi"s time the Conference is going to be held in Spain together with the Spanish ( :11ufercnce PRODE on Declarative Programming. This represents a significative step l11warrls the exchange of research experience among European latin countries. Such a w•nl had already been pursued by GULP with the enlargement of its conferences to
~punish and French researchers. Tile main aims of this Conference are: 1) to serve as an occasion for those working i11this area which are interested in meeting and exchanging experiences; 2) to illustrate I l11• current state of the art in the area through invited talks given by well known lt'HCarchers; 3) to enable students and researchers to learn more about logic and declarative programming by means of introductory tutorials. The previous annual conferences were held in Genoa, Turin, Rome, Bologna, l'nduu, Pisa, Tremezzo, and Gizzeria Lido, and were attended each year by a growing nutnber of participants. The scientific program of this joint Conference GULP-PRODE includes papers from colleagues from many countries. The large international participation, consid f'Ted together with the good technical quality of the papers accepted for presentation,
11.1a further confirmation of the success of this joint event. · Disefio Portada: SUSANA VIDAL On behalf of GULP I would like to thank Marla Alpuente and all the other col lcugues from the Technical University of Valencia for the organization of this year Conference.
~dita:SERVICIO DE PUBLICACIONES Camino de Vera, s/n July 1994 Maurizio Martelli 46071 VALENCIA Genoa President of GULP Tel. 96-387 70 12 Fax. 96-387 79 12 mprime: REPROVAL, S.L. Tel. 96-369 22 72
>ep6sito Legat: V-2559-1994
. .
. .
. . ,i ,i
e e
. .
in in
P
es es
de de
R
her her
the the
and and
two two
just just
and and
ence ence
time time
eight eight
1994
and and
for for
Blan
Ramos Ramos
and and
Barbut
posters, posters,
nfer
and and
grouped grouped
east east
program program
Bologna Bologna
highlght highlght
Alpuent
l
the the
from from
gratefully gratefully
first first
8 8
co
committee committee
papers papers
conference
and and
Declarative Declarative
at at
by by
Sud) Sud)
the the
19-22, 19-22,
thus thus
Isidro Isidro
willingness willingness
We We
the the
the the
Politecnica Politecnica
by by
on on
this this
Marla Marla
(1993) (1993)
Madrid) Madrid)
(1988), (1988),
Roberto Roberto
is is
into into
and and
Paris Paris
possible possible
papers, papers,
Programming Programming
(1992) (1992)
especially especially
their their
program program
made made
Vandevoorde Vandevoorde
be be
to to
luated luated
preceded preceded
submitted submitted
(U. (U.
This This
(U.P. (U.P.
papers. papers.
for for
Roma Roma
the the
September September
Logic Logic
Gizzeria Gizzeria
has has
eva
like like
Riki Riki
supported supported
was was
who who
of of
refereed refereed
Madrid Madrid
Conference Conference
Universidad Universidad
would would
them them
on on
and and
60 60
were were
incorporated incorporated
presentation presentation
(1987), (1987),
work work
have have
would would
selecting selecting
the the
thank thank
(Spain) (Spain)
Joint. Joint.
of of
than than
Jouannaud Jouannaud
(1991), (1991),
authors authors
thank thank
we we
to to
by by
who who
been been
members members
and and
{1992) {1992)
Programming. Programming.
papers papers
whose whose
all all
Torino Torino
1994 1994
We We
includes includes
order order
J.-P. J.-P.
Moreno-Navarro Moreno-Navarro
like like
. .
also also
Conference Conference
the the
to to
the the
the the
the the
Peiiiscola Peiiiscola
Finally, Finally,
ya)
presented presented
J.J. J.J.
all all
bas bas
. .
also also
AU AU
of of
GULP-PRODE'94 GULP-PRODE'94
in in
(1986), (1986),
in in
organized organized
to to
lun
by by be be
reviewing reviewing
Tremezzo Tremezzo
Bristol), Bristol),
Preface Preface
GULP GULP
thanks thanks
tion
Torremolinos Torremolinos
corporations corporations
committee committee
Declarative Declarative
to to
in in
conference conference
held held
nova nova in in
Cata
would would
book. book.
been been
session session
(U. (U.
on on
and and
printed printed
Ge
the the
care care
together. together.
thematic. thematic.
(1991), (1991),
work work
ltaUan ltaUan sincere sincere
We We
tutorials tutorials
this this has has
in in
gratitude gratitude
are are
organiza
(U.P. (U.P.
Proceedings Proceedings
for for
e e
2 2
Lloyd Lloyd
poster poster
in in
are are
. .
join join our our
th
organizing organizing
their their
a a
Pisa Pisa
the the
meetings meetings
our our
more more
the the
1 1
and and
book book
Congress Congress
DE DE
J.W
Rubio Rubio
the the
for for
for for
institutions institutions
which which . .
joins joins
appear appear
by by
program program
this this
about about
DE DE
extend extend
A
of of
of of
ULP-PRODE'94 ULP-PRODE'94
PRO PRO
papers, papers,
PRODE'94 PRODE'94
the the
(1990)
conferences conferences
94 94
express express
'
-
in in
participants. participants.
to to
PRODE PRODE
G G
invitation. invitation.
contains contains
order order
al1 al1
and and
all all
s s
to to
PRO PRO
referees referees
and and
In In
ok ok
like like
advice advice
our our
o
(DEC-PRL) (DEC-PRL)
lectures lectures
. .
GULP GULP
GULP
b
abstracts abstracts
technical technical
the the
papers papers
Padova Padova
wish wish
sions, sions,
PRODE
uld uld
ULP ULP
s s
e e
mming mming
. .
, ,
-
us us
nference nference
previou
o
1994 1994
)
)
a
panish panish
he he
ontributed ontributed
ited ited
wers
all all ncia ncia
o
Roy Roy
G
ible. ible.
th
wenhuis wenhuis
r
ses
contribution contribution
luable luable
3
i pting pting
w
S
v
e
e
co
We We
LP
The The
T
a
i
9
Thi 89
l'e l'e
o o
n
d d
e e
•v
1
e e knowledge knowledge
eu e e
nt. nt.
t• t•
9
i
i
t~lencia. t~lencia.
oss
a il il
rog
ud ud
n
h
1!
:tJ
nt.
h
Val
V
1 1
p
th
inv
n
July July
W
ac
.u.
nn N
t
n•v
i
nrrc
( 1 (
thr Van Van
p l'
:
!.I !.I { {
I I < <
) )
a) a)
luny
ncia) ncia)
e
Vasco) Vasco)
Madrid) Madrid)
Madrid) Madrid)
Catalunya
Val
Cata
Malaga) Malaga)
Salerno) Salerno)
Calabria) Calabria)
Bologna) Bologna)
Sapino Sapino
Malaga) Malaga)
Genova) Genova)
Milano) Milano)
Pais Pais
Ramirez Ramirez
Rivero Rivero
.P. .P.
.C. .C.
.C. .C.
.P. .P.
. .
.P. .P.
Teniente Teniente
Scarcello Scarcello
Rodriguez Rodriguez
Sanchez Sanchez
Saenz Saenz
Quer Quer Puebla Puebla
Puyol Puyol
(UNED) (UNED)
(U (U
(U. (U.
.J. .J.
(U. (U.
(U. (U.
(U (U (U (U
(U. (U.
(U (U
(IASI-CNR) (IASI-CNR)
(U. (U. (U. (U.
(U
(U. (U.
(U (U
E. E.
F. F.
M.L. M.L.
L. L.
F. F.
B. B.
A.Ruiz A.Ruiz
M M
J.M. J.M.
C. C.
J. J.
G. G.
Ramirez Ramirez
Ramis Ramis
Vidal Vidal
Pastor Pastor
Perez Perez
Troya Troya
Rossi Rossi
Ruz Ruz
ettorossi ettorossi
Sacca Sacca
Jose Jose
Jose Jose
Penza Penza
P
Pimentel Pimentel
Plaza Plaza
Pedreschi Pedreschi
Proietti Proietti
Omicini Omicini
Olivetti Olivetti
Nardi Nardi
Palopoli Palopoli
Palamidessi Palamidessi Orejas Orejas
Oliver Oliver
co co
. .
Nieuwenhuis Nieuwenhuis Sistac Sistac
Navarro Navarro
Sessa Sessa
Verdejo Verdejo
Rodriguez Rodriguez
E. E. A. A.
W. W.
D. D.
E. E.
M.A. M.A.
Ramos Ramos
L. L.
Ornaghi Ornaghi
F. F.
A. A.
N
J. J.
D. D.
Maria Maria
Jaime Jaime
Maria Maria
German German
Maria Maria
arisa arisa
Felisa Felisa
Jose Jose
Jaume Jaume Domeni
Maria Maria
Jose Jose
Gianfranco Gianfranco
Mario Mario
Isidro Isidro
Mario Mario
Maurizio Maurizio
Catuscia Catuscia
Inmaculada Inmaculada
Robert Robert
M M
Lucas Lucas
Committee Committee
Referees Referees
Martin Martin
Moreno Moreno
Massacci Massacci
Martelli Martelli
Mello Mello
llerranz llerranz Piris Piris
Oliver Oliver
Gil Gil
Giacobazzi Giacobazzi
Leach Leach
Marino Marino Giannotti Giannotti
Greco Greco
Committee Committee
. .
L. L.
of of
P. P.
F. F.
C. C.
A. A.
J. J.
J. J.
A. A.
F. F. S. S.
A. A.
R
Javier Javier
Javier Javier
Salvador Salvador
France) France)
List List
ogna) ogna)
Madrid) Madrid)
Madrid) Madrid)
Madrid) Madrid)
Madrid) Madrid)
Blanes) Blanes)
Madrid) Madrid)
Valencia) Valencia)
Bologna) Bologna)
Pisa) Pisa)
Torino) Torino)
Organizing Organizing
Padova) Padova) Program Program
Roma.) Roma.)
Bol P. P.
Venezia) Venezia)
Pisa) Pisa)
P. P. .
.C. .C.
. .
.
.P. .P.
Gallardo Gallardo
Garcia Garcia
Garda Garda
. .
(U (U
(U. (U.
(U. (U.
(U.P. (U.P.
(U (U
(IITA (IITA
(U
(U. (U.
(U.P. (U.P.
(U (U
(fNRIA, (fNRIA,
(U. (U.
(U. (U.
(U. (U.
(U. (U.
(U (U
. .
Ghelli Ghelli
Fabris Fabris
Gavilanes Gavilanes
Diaz Diaz
Celma Celma
Dovier Dovier
Codognet Codognet
Garcia Garcia
Ciaccia Ciaccia
.M . .
. .
. .
Casanova Casanova
G
A
M.J. M.J.
M.J M
J. J.
Gisbert Gisbert
M. M.
A
M. M. P. P.
C. C. M. M.
Garcia Garcia
i i
Aiello Aiello
i i
Hortala Hortala
no no
cc
Vicente Vicente
Carlos Carlos
Asuncion Asuncion
Moreno Moreno
lu
Cocco Cocco
Codognet Codognet
Barbuti Barbuti Lamma Lamma
pucnte pucnte
Hermenegildo Hermenegildo
Falaschi Falaschi
l
Delgado Delgado
Teresa Teresa
Giorda
Mancarella Mancarella
Casamayor Casamayor
Car
Breuer Breuer
A
Jose Jose Ciancarin
Carro Carro
Garcia Garcia
Busi Busi
Cabeza Cabeza Garcia Garcia
Brogi Brogi
Bossi Bossi
Bueno Bueno
Bagnara Bagnara
Bertino Bertino letla letla
Araujo Araujo
. .
lina lina
Agusti Agusti
. .
.C. .C.
rlos rlos
olo olo
M
D. D.
N. N.
J J
A
PT. PT.
F F
A. A.
R. R.
l're l're
E. E.
L. L.
J. J.
~a
Paolo Paolo
l':w•
Juan Juan
Maria Maria
Mauuel Mauuel
l'
Lnura Lnura
Moreno Moreno
Ann Ann
Philippe Philippe
Ntro
Pa
( (
Lutgia Lutgia
Uullt-rto Uullt-rto Mnrfn Mnrfn
3 3
2 2
92 92
77 77
62 62
46 46
31 31
18 18
140 140
125 125
107 107
Systems Systems
Proofs Proofs
Prolog Prolog
Planning Planning
Constraint Constraint
a a
Full Full
Transformations Transformations
i.n i.n
Rewriting Rewriting
Type Type
Uniform Uniform
Palamidessi Palamidessi
Abduction Abduction
Vidal Vidal
Sets Sets
m m
as as
C. C.
by by
and and
Term Term
G. G.
(almost) (almost)
elis
I I
Program Program
and and
Clauses Clauses
Programming Programming
for for
and and
Answer Answer
Hentenryd: Hentenryd:
Contents Contents
and and
Programming Programming
Parall
Programming Programming
(LCEP) (LCEP)
Properties Properties
Van Van
Ramis Ramis
of of
Conditional Conditional
Marriott Marriott
Programming Programming
Rubio Rubio
Programs Programs
and and
Programming Programming
Volume Volume
Logic Logic
P. P.
K. K.
Constraint Constraint
for for
Framework Framework
Constraint Constraint
Constrained Constrained
M.J. M.J.
Analysis Analysis
Logic Logic
Paralelo Paralelo
and and
of of
and and
Program Program
Albert Albert
Logic Logic
Declarative Declarative
Prolog Prolog
rrent rrent
with with
Pedreschi Pedreschi
Table Table
in in
of of
of of
ado ado
n n
and and
Rossi Rossi
et
D. D.
Semantics Semantics
Falaschi, Falaschi,
Gabbrielli, Gabbrielli,
Oliver Oliver
ctio
Concu
S. S.
Abstract Abstract
Concurrency Concurrency
Program Program
Constraints Constraints
and and
J. J.
M. M.
Functional Functional
M. M.
Concurrent Concurrent
Etiqu
Refinement Refinement
Interpretation Interpretation
and and
3: 3:
2: 2:
.
Dedu
oyd oyd
of of
.
of of
l
and and
Constraints Constraints
A
Advantages Advantages
L
A
and and A.l: A.l:
Lecture Lecture
Termination Termination
Nieuwenhuis Nieuwenhuis
Charlier, Charlier,
as as
Goltz Goltz
W. W.
. .
Moreno-Navarro Moreno-Navarro
Falaschi, Falaschi,
Abstract. Abstract.
Volpe Volpe
Alpuente, Alpuente,
ving ving
Giacobazzi Giacobazzi
Le Le
Nitsche Nitsche
.X-Calculo .X-Calculo
Lucas Lucas
Mascellani Mascellani
Compositional Compositional
M. M.
S. S.
P. P.
Confluence Confluence
Semantics Semantics
B. B.
El El Session Session
R. R.
An An M. M. P. P.
Characterizing Characterizing
A A
Pro
M. M.
H.-J
Session Session
John John
Analysis Analysis
Processing Processing
Types Types J.J. J.J.
Session Session
Practical Practical
System System
Robert Robert
lntegration lntegration
Invited Invited
Automated Automated Tutorials Tutorials
79 79
4 4
464 464
449 449
434 434
418 418
27 27
403 403
388 388
372 372
357 357
342 342
3
s s
n
o
g g
in
s
Programs Programs
u
s s
Static Static
on on
m
formati
to to
a
s
Logic Logic
gr
o
based based
Programs Programs
Tran
Pr
Lifting Lifting
c c
Comparing Comparing
Rossi Rossi
Extended Extended
Logic Logic
Logi
for for
G. G.
for for
red red
Languages Languages
Program Program
e
and and
es es
lX lX
Systematic Systematic
i
c
Ord
n
by by
Logic Logic
and and
Hypersets Hypersets
e
s s
Rullo Rullo
Sessa Sessa
for for
nd
e
Contradictory Contradictory
p
over over
P. P.
Policriti Policriti
e
Foundations Foundations
Interpretation Interpretation
SLD-Derivations SLD-Derivations
Winsborough Winsborough
M.l. M.l. ri ri
tatiollB tatiollB
p p
D
e
e
A. A.
d d
o
with with
e e and and
1toya 1toya
Analysi
mantics mantics
W. W.
ce
8Dd 8Dd
Pr
Compositional Compositional . . and and
e
Concurrent Concurrent
yp
-
S
T
of of
Ruggi
of of
c c
Int.erpr
J.M
and and
Abstract Abstract
Equations Equations
Pramanik Pramanik
Redu
Leone Leone
S. S.
Demoen Demoen
AND
Levi Levi
Omodeo, Omodeo,
Negation Negation
of of
an an
S. S.
Pacini Pacini
rphi
N. N.
Language-Independent Language-Independent
for for
is is and and
Ranzato Ranzato
Fili Fili
Theory Theory
Reasoning Reasoning
o
B. B.
, ,
G. G.
Program Program
and and
of of
is is
G. G.
rpretation rpretation
F. F.
and and
G. G.
E.G. E.G.
e Analysis Analysis
, ,
arnations arnations
for for
nt nt
lym
8: 8:
Abstract Abstract
c
and and
Index Index
.
e
and and
A.lO: A.lO:
o
A.9: A.9:
Int
In
P
Systems Systems
A
Deterministic Deterministic
and and
Failure Failure
-
t t
e e
c
Gallardo Gallardo Checking Checking
Quoti
Gori Gori
Analyti Analyti
Buccafurri
Pedreschi Pedreschi
ion ion
Dovier, Dovier,
Powerset Powerset
Ferrucci
Non Cortesi, Cortesi,
Codisll Codisll
Fili Fili
riviug riviug
. .
Author Author
R. R.
F. F.
Finite Finite
A. A.
e
A A
D. D. Semantics Semantics
Session Session
ess
A. A.
Termination Termination
F. F.
Solving Solving
Loop Loop
Session Session
A. A.
G. G.
Analyses Analyses
tbe tbe
The The
M.M. M.M.
Improving Improving
Abstra
Granularity Granularity
M Multipl
D
S
155 155
170 170
187 187
202 202
203 203
218 218
234 234
251 251
266 266
281 281
296 296
297 297
312 312
e e
t t
1en 1en
d' d'
pen pen
s s
the the
t
e
Logic Logic
S S
on on
inde inde
sJted sJted
Constraint Constraint
J
~r. ~r.
Transformations Transformations
ause ause
Rev
AND AND
Constraints Constraints
Based Based
CJ CJ
. .
te te
Numeric Numeric
rogram rogram
u u
Rule Rule
essa essa
p p
d d
Revisited Revisited
. .
.
Ref Ref
ams ams
aons aons
gorathms gorathms
d d
Domain Domain
UIZ UIZ
a a
t' t'
gr gr
g g
a a
R R
to to
:ral_Jelization :ral_Jelization
ama ama
an an
undant undant
l l
d d
Paralelismo Paralelismo
Parallelism Parallelism
a a
Pro Pro
viii viii
C C
IS IS
p p
Orte Orte
acement acement
un un
Comunicantes Comunicantes
R.ed R.ed
Finite Finite
I I
· ·
del del
B B
Systems Systems
p p
C C
d d
Calculus Calculus
and and
~, ~,
w:.o w:.o
Y. Y.
bleaux bleaux
. .
Languages Languages
CLP CLP
a
Re Re
· ·
an an
and and
T with with
l l
· ·
of of
Analys· Analys·
and and
and and
s s
est10n est10n
Observables Observables
and and
ogtc ogtc
licit licit
G G
L>.. L>..
Goa
ring ring
L L
of of
P P
Process Process
a a
o
. . . .
a a
Rewriting Rewriting
J J
Funcionales Funcionales of of
ory ory
il
Levi Levi
Pettorossi Pettorossi
1m 1m
Method Method
e
a
mg mg
. .
of of
' '
nal nal
t' t'
Loogen Loogen
Guerrero Guerrero
T
Gabbrielli Gabbrielli
o
Messora Messora
G
n n
Program
of of
A. A.
. .
e
Th
para para
. .
n n
ta
. . •
Program Program
c c
Term Term
C_oncurrency C_oncurrency
R
c
Theory Theory
P. P.
o
L6gicos L6gicos
Constraints Constraints
~~~:t~cD~:~~l~~~e ~~~:t~cD~:~~l~~~e
M
A
, ,
Proof Proof
Jouannaud Jouannaud
and and
of of
and and
Procesos Procesos
Logi
Fun
RPS RPS
Roy Roy
A.4: A.4:
Semantics Semantics
Lecture
and and
A.5: A.5:
Transformations Transformations Y Y
A.6: A.6:
a a
r. r.
lmplerr lmplerr
Lecture Lecture
A.7: A.7:
an an
Programs Programs
Detection Detection
Resoluti
Correctness Correctness
hlmann ds ds
iou iou
Van Van
in in
o
ular ular
Gallardo, Gallardo,
. .
Comini Comini Algebraic Algebraic
Martella, Martella,
rogramas rogramas
at at
Buffoli Buffoli
Proietti Proietti
s s
ion ion
r r
1 1
d
B
Varela Varela
•sH
LP LP
. .
ssion ssion
. .
Etal/e Etal/e tal tal
. .
nadas nadas
s
the the
an-Paerre an-Paerre
P P
modelo modelo e
th th
odula_rity odula_rity
. .
wards wards
Bueno Bueno
. .
p p
Bagnara Bagnara
ue
t e
e
s
o
6
C E
. .
o
F'
S<
M
Fixpoint Fixpoint
. .
s s
An An
M
e
~tWimizL~g ~tWimizL~g
.
n n
.
e . .
MJ MJ
Invited Invited
Unfold/Fold Unfold/Fold
S
M
T
Mo
S. S.
ss
Session Session K. K.
T
J
El El
R
en en
M
Pr~gr:ms:o~h~ Pr~gr:ms:o~h~
F. F.
M M
P
I
Invited Invited
S
~
R
in in O 336
324
309
296
283
268
253
238 221
206 191 176
and
Forum
Language
traves
efficiently
Objetos Montesi
a.
Updates
it Process
a
D.
do
Logic
Language with
to
and
Solving
Performance
Order
how
"Objectcharts":
for
Orienta.das
for
Preposicional
Martelli
and
Language
Rossi
Applications
olog
Higher
lling
M. e
C.
xi
Winkler
Programming
System
Pr
Notacion
does,
Origen
the
and
Martelli S. in Montanari
Integration
Mod
Ia and
of Integration
Specification de
Logic Database Iannello
A.
A.
Environment
Huang
de
and
Programming
a
and
Ramos
Especifica.ciones
Guerrini, G.
r
and
N.
actually edad
and
Rewriting and
o
-
VBDL
/.
f
Ruz
de
Language
G.
Guzman
Y.
entation
Logic
and
Program
Exceptions
e
Abstract
Sapino
and
d
J.J. of
Term
Toval
Palomar
Guglielmi
and
for
Algebraica Ambigu
a
.
tbe
Chittaro
Calculus
System:
'
A.
Giordano
Concurrency
A.
la
M
M.L. Implem
of
Extensions
Catania, Natural
or
Perez
Implementations L.
Extensions
Interpreter Formato
Hans,
Explicit
ObjecL-Oriented
Cuevas
L.
de
Logic
, Tarau
Verifica.cion
and
and I.
B. Reactivos and
and
and
F.
Event to
J.
W.
y an
Extension
P.
8.8:
tation nto
B.7:
Parallel Grammars B.6: with
B.5:
in Parallel
iveness
l
the
i6n
Logica
Grima
ing
Formalizacion Baldoni,
emen
Enciso,
the
Dahl,
Liquori
Moreno Cervesa la
Arcelli,
Modal
Saenz, Bruscoli Bertino,
Temporal
Devesa, Planning
Babe Sistemas
Bottom-Up
eal
A.
na .
What /. M.
M.
L. A V.
D
L. A
Session
de F.
P.
Session Da.ta.log
Tra.tamie F. E. A ~Prolog Measurement
On Express in
D A J.
Impl Session nansa.ctions
tl Vnlidac Queries cle
Session
1
16
32
47
60
75
88
102
117
132
147
161
tivas:
for
educ
CHIP
D
Databases
ana.les
C
'
ges
e
with
d
Metalogic
ua
Approach
Datos
g
'
e Ions
.
t
. d
.
with
anguages
Lao
tca
FirsL-Order orung
cac10n
ll
Network
d L
in
Bases
e
1on
t'
a
Reas
Logic Unifi
Appl"
Contents
.
I
Lanzarone
en ..
a
I
~emporal
oya
ora
emm
Prolog
mputer egra
of
.
. X
p
and
S Evaluation
Tr
G.A.
Answers
in
·
Co Databases
.
Volume Pastor
Int
.
Troya Chaopris uezas
L
Generalization
og1ca
e
M
L
Tern
. ediante
JLn~~c~
d -
and Functional
rg
1
· J
C.
a
a
Object-Orient
Databases m a. o· .
amed
and
and Intelligence
en
t
a·
ase
M.A.
Parallel J.M.
in
B • Table
us
and and
Lazy
A Retrieval
S
f L
asamayor
Deductive
and o a
and
Jamil
d
JOn-
r
for a
Sancassani
System~
of
Objetos · osco
Basada
a
and
Cignoni
b
Calculus·
Costantini
Cane
Datalog
e Data
.
·
Integcidad
Escalada-Jmaz
Alba
M.
Artificial
J "
Assignment
ara Deductive
H.M.
S. Celm
nt
Pimentel
Implementations
:
for Extensions
T
de e
G. entre E.
.
Model
oken G.A
·
and
Explan
E.
and Updat
T
M
Models and .
buT
A Encapsulation
B.l
.
B.2:
i
'.
and
B.3:
Management
,
B.4:
es
Model for
mg
I~t~ig
·
agenza
h'
c
l
11~ana,
arcaa,
J .
A
Apro.rimacion
Vila
si~n
Decker Bertarello, Duran, P
G
Fabris
Ruggaer&
emporal
og
Arenas-Sanchez Ambriola, Bugli
.
.
Debuggmg,
.
Session
T L.
Knowledge-Based
Extending Programming S.
Ses
.
veryt
Sustamed ll
G ~~umcacton
Abductive
J.F.
V2:
Restncctones
C una
C.
Session
IDEA:
M. Optimal P.
V. A
Session
E c
LogJcos
F.J. M
A L
or or
w
es es
a.re a.re
s
and and
o
the the
) )
Con
when when
proved proved
among among
clau
narr in in
, ,
c c
Clauses Clauses
of of
results results
and and
equality equality
Like Like
that
basi
use use
. .
ses ses
especially especially
for for
in in
studied. studied.
the the
clau
)automatically )automatically
ming
para.modulation
(as (as
are are
like like Rubio Rubio
completeness completeness
well-known well-known
(semi-
Spain Spain
ogram
egies egies
approach, approach,
provers provers
rained rained
, ,
techniques techniques
is is
pr
rules rules
It It
strat
rem rem
ussed, ussed,
problems problems
const
Cataluiia Cataluiia
c
ogic ogic
useful useful
Informaticos Informaticos
l
ic ic
eo
Albert Albert
proving proving
Constrained Constrained
h
dis
de de
rence rence
t
is is bas
for for
e
Barcelona
very very
, ,
deduction deduction
a.re a.re
inf
solving solving
, ,
and and
a a
ce
asis asis
equaliiy equaliiy
ial refutation. refutation.
b
{AD) {AD) Sistemas Sistemas
f f
tan
o
or
with with
with with
s
y y
by by
Abstract Abstract
E-08028 E-08028
futational futational
in
Politecnica Politecnica
tut
clauses clauses
e
become become
r
5, 5,
initial initial
(i.e. (i.e.
raint raint const
For For
means means
duction duction
in in
this this
has has e
the the
, ,
order order
d
-
instance instance
by by
In In
Lenguajes Lenguajes
{roberto,rubio}tlai.upc.ea {roberto,rubio}tlai.upc.ea
Nieuwenhuis Nieuwenhuis
was was
ories. ories.
e. e.
Gargallo Gargallo
first
equality equality for for
e
, ,
Universida.d Universida.d
nted nted
let n n
th
AD AD
Dept. Dept.
se
Pau Pau , ,
constraints constraints
orresponding orresponding
automated automated
Deduction Deduction
pre
c
comp
built-i
e
Programming
c) c)
Robert Robert
r
formula tions
of of
the the
e e
a. a.
ca
b
constrained constrained
quational quational
with with
e
of of
aim aim
ted ted
Logic Logic
ymboli
and and
a.n a.n
e e
appli
(s
c
ring ring
h
n n
e
e
T
d
her her
iv
traint traint
alidity alidity
or
g
refutationally refutationally
built-in built-in
ing) ing)
with with
working working
s
v
ot
Automa
8 8
452 452
455 455 450 450
446 446
448 448 444 444
440 440
442 442
408 408 43
423 423
366 366 393 393
379 379 351 351
on on
uti
co co
in in
Exec
On On
g g
.. .. J
g g
a a
CC
d d
og og
e e
. .
'J
fU
Oriented Oriented
t t
Algebrai Specify Specify
0
t t
Prol
c
· ·
DS DS o o
t
M M
in in
Language Language
IODS IODS
Composin Composin
Co Co
t• t•
es es
Obje
Ia Ia
Checks Checks
ca ca
for for
Programming Programming and and
Enfoque Enfoque
li li
e e
Programmin Programmin
for for
Search Search
e e
un un
Peiia Peiia
lli lli
para para
Sessa Sessa
pp pp
e
Loop Loop
st st
e e
Logic Logic
Structur
A A
Devesa Devesa
Structures Structures
l. l.
d
c c
R. R.
.
. . lin
Environment Environment
Fir
of of
es
o
Guzman Guzman
J
M
-
Specification Specification
xii xii
e e
Languag
d
r r
h
with with
e e
M -
e
and and
Logi
Data Data
and and
. .
Languag
d
Data Data
. .
r r
Toro Toro
and and
and and
Manfredi Manfredi
Inverardi Inverardi
M
FuncionaJ FuncionaJ
. .
by by
of of
etos etos
eadt
.
s s
ete
Pow
Meta
a
J
with with
U. U.
M
d d
Formal Formal
P. P. Br
ani ani cas cas
e
Higher-Order Higher-Order
Perez Perez
ev
Campo Campo
Obj Turini Turini
Deducttv
Pareja Pareja
a a
t.be t.be
ss
Heterogeneos Heterogeneos
. .
and and
a a
I
and and
Pacini Pacini and and
Cu
and and
F. F.
and and and and C. C.
· ·
SQL SQL
e; e;
teriz
rez rez
Interpr
for for Definition Definition
. .
i
and and e
J
l l
G. G.
mentations mentations
P
eortes eortes
Sanca
a a
s s
Semauti
, ,
e
and and
n Reductions Reductions
. .
Dore Dore
J. J. First First
Gonzalez Gonzalez
et
ntornos ntornos
nting nting
Too
GuUas GuUas
Galan, Galan, Th Th
c c
Torres Torres
Peiia Peiia
-
M
e
. .
Programaci6n Programaci6n
E E
t-
~~olog ~~olog
~terfac
. .
. .
. .
Param Nunez, Nunez,
Asire/li Asire/li
~
G. G.
Lora, Lora, Object Object
Contradicci6n Contradicci6n
th
Language Language
A
a a J. J.
. .
Orientada Orientada
r r
R
Impl
. .
M
rfaces rfaces
. .
I
, ,
and and
.
rpht
Ramos
y y
e
i
ep
e
Tablas Tablas
P
Renso Renso
J.L
and and
V
M
s
n n
o
ses ses
V
An An
D
. .
MuJr MuJr
de de
U I. I.
~ugm
and and
m
rams rams
vs vs
and and Int
da da
las C
a a
g g , ,
: :
o ementatJO
g
e
Index Index
en en ores
B.lO: B.lO:
B.9: B.9:
r-~ased r-~ased
era, era,
, ,
, ,
· ·
Che.cking Che.cking SRA SRA '?
Presentations Presentations
l
caci6
2.0: 2.0:
m e
. .
'd 'd
g. g.
nin
o
. .
vt. vt.
Pro
ifi
Galan, Galan, Troyano, Troyano,
r
lmpl
R
Frerre, Frerre,
ion ion
IDEA IDEA
c c
bJo bJo
tzacJOn tzacJOn
. . . . .
t
Sancassan
Mylonak1s Mylonak1s Ramos Ramos
Pastor
Agui Manfr
r r
Aquili11o, Aquili11o,
Brogi
Tubella Tubella
Ferruccr, Ferruccr, ClerrcJ ClerrcJ
s s
ss
g il Type Type
Sleep
. .
rapbtcal rapbtcal
u
. .
L L
. .
. .
. .
.L. .L.
e e e
J.A
U
G. G.
J 0
Combi D. D.
LANM, LANM,
Espec
G. G.
OASIS OASIS N. N.
J
LogicSQL
Non Non L.A. L.A. M. M.
Author Author GenerJc
Am~gamating Am~gamating
S F A A
Ged
G G
Poster Poster
Databases Databases A. A.
A A Lo TAS-n++ TAS-n++ U U
d d
Session Session
Se TGhe TGhe e
a
is
.
the
d not
but
and
pro
itiv
hould
ic
,
have
ogic
s should
l
but in
ar that
intu
ap
og
am
ogic
pro l
8
l
r
e
ivity
Kowalski's
ma.de
about
so
explaine
ive
ct
ogr
th
s
swers
"decl
of
order
should
pr
and
be
an
answers
c
order
declarative
i
point
produ
an
eeded
ive
term
nal
first
og
resea.rche
computed,
of
can
n
l
remarks
declarat
of
first declarative
capture
is
be ctio
the
by
main
the
correct
of
idea
rent
Programming
,
to
of
fun
logic
declarat
computed
is
terminology
the
is
cur
general
ey
even
f
indeed
that k
s,
of
ramming
i
o
the
programmer
(unsorted)
the nings
analysis
the
including
og
Science
bining
are what
(that
and
some the
ea
e,
of in
cs, pr
m
does
cs
ed
m U.K.
advantages ts
(that
co
be
c),
n
ing
,
to
seriously
e
logi
stating
m
make
h
Bristol
to
summary
for
c
detail
logi
a.dvantages
em
stat
TR
exampl
a
semanti
theorem
1
of
taken
possible
Lloyd
limitation
then
Declarative
practical
definition
theore
theory.
Computer
For
I
is equir
more
with
r
involves
ness
approa
the
ibilities
Equivalently,
BS8 W.
a
e
the
of
Ab8tract
of
.
consider
it
suitable
in
the
.
involves
.
practical
of
ersity
J
I
teaching,
oss
ness
d
lism.
nt
p
e
e
but
ma
better-known
te
e
om
s:
the
informal
e
significant
esent
e qualify.
fr
some
s
soundness conclude
a
th
Univ
pr
complet
what
th
I
control,
a
The
parall
mpu
Bristol,
y, a
(in
to
declarative
Thi
of
co
discussion
heading
Programming
logics
declarativ
discuss
uction
and
a
with
on
finall
the
be
h
I
Departm
programming
,
c
ed
f
five
logic+
theory,
go
most
mming.
d
o
theory
to
ferably,
ysis that
ive
with
n
s
l
order
suitable? and
= whi
e
control.
programming,
a
i
ogra.rnrning,
e
is
Advantages
,
is
r
ogra
e
pr
.
pr
r
th is e
paper, at
to
r
it
under
h ana
proof are
Thus
the
p
tages
e
egin
c
e
s
a b
n
o
cs
,
a
t
i
high
and
1
this and,
pap
declarative how
thi whi
ry
.
og
,
extent
ted).
l
of
algorithm
adv y,
In
eo
the
l
declarativ h
program
he
t
ming
ative" meta-programming,
gramming t programming declarativ proach
in
Declar
a
ion
computation
mpu
begin
of
rmall
necessarily
•
What I
•
Practical
co
correct),
o
variety
ramming
1
Inf necessarily
not equat practica idea model be g be
a
,
a.
n
es
es
as
o
ew
the
u
n
e
for
years
analy
of
meant
.
.
the
etc
especially
especially
(dilferent)
techniqu
techniq
interpreta
role
evaluation ,
integrati
some
languag
that
e
the
area
features
the the
new
trictness
l.ization)
lazy rules
th
anew,
arch
s
tract
e
accounting
Logic
r
\
of
s
e
as
own
a
tbe t
of
existing
ese
h
ab
ll
r
ul
s
g
on ges
e
c
in
,
ages:
n
parall
w
of
ction,
studied
s
M
default
spurred
was
and
as
power
parti
particular
del
it redu
langu
area. langua
semantics
ve
in
analysis
in
been
combinj
Madrid
,
illa ,
advance
and
nal
by
de
has
negation, narrowing,
previously
graph
tations)
oad active
and
,
Spain
mode
B
uages
of Informatica
ca s
expressi
clarative
g
an
e recent
and
ni
eno-Navarro
d
(e.g.,
de
ec lan
the
operatio
tract compu
proposed
of
the on
s cedo,
was programming
c
WAM,
of
as
anding
w
Mor
Madrid,
.
,
Polit
ere
Ab
st
paradigm
constraints
oflanguages
Functional
w
sho
se
power
(e.g.
Facultad
es,
to
implementations
Jo
28660
under kind
jjaorenotfi.~.ea
of integrated
Montegan
rsidad
is
normalizati
typ
e
Programming
integrated
programming
ent
te
strategies
deterministi
ogramming,
de
for
ci th.is
of r
ressive
ementation
LSTIS, niv
of
guages.
p
improvement of
ffi
languages
declarative
:
U
ing
Juan
or
e
c s
exp
lan es
i
f
c
impl
.
of
t f
tutorial
ow
o
e
e
the
objects,
og
and
l
es
up-to-da
th
th
programming
models
topi
Campus
functional
this
narr
of
and
and
principl
inter
feasible
of
,
efficient combination
and
logic
models
is
optimization
concerns
m
improve
, aim
integration
the
ature
o
following
Integration
(e.g.,
ctional Development tion) higher-order
Design features
to fr
sis
Semantics different
m
New
as
what
Recently
The The
•
•
•
the
U
fun
e
w
paradigm
in ago.
for
of .
,
,
.
y
a
r
e
e
e
is
d
is
s
in
of
in
of
of
~ of
e
ll he
by r
e
its
the
the
t
it's
th
e
this ting
was
tt
of
It
ntly
ach
that.
that
nkin
ua
from s
e
nd
i
o
is
e
s
ie
in which
by
.
of
e
rather
s
the ory
ally,
of
n) true
is
c
u
d w
H e
c
natural
provid
sense
and
o
e
e
different ea
a b
aning
i intended
on
clarativ
int
t
it
,
starts e
t
think programs
th
of is
a
c
be e
semantics
appr c vi
uffi
id
important
functional
to
concept
one
unt.
program
ally
al
d
s
gramming
m
I
the
ta
h
c
c
truth
s
given o
Typi
in
e
a
the
,
c
a
the
so
a
that
cco
.
programm
the
pr
in
the what
interpretation
not
is
thi
the a
hni
if
is
in is
the
,
of
component
c
chni
c
~-calculus
whi
so
theory
seems
e
simple
constru
is
te
to
account
t
component
it
answers
Third
a
ing
semantics.
essential
interpr
's
(An
given
logi
is
s
and
is tbe
true
functional
models
constructs
is
prefer
as
u
.
logic
declarative
h
her
theory
,
rch
c
the
be
ogic
t
in
support
programming
computing
of
h
be
l
ordinary
theory
procedure
and
,
precisely
c
intended
program
ra
l
example,
the
the
to
into
theory" ginning,
definitions
in
a
whi
of
,
by
order
e
Chu
component model
mu
can
the
approach
grams
b
the
domain
intended
computed
cs
model
1
are
for
of
o
s
of
hence
,
program
state
e
theory
r
declarative
described
defined)
approach also
in
e
pr
for
back
.
is
application.
first
a
kind ogic
proving
th
programming
ry
(say,
l
to
is
the
model
this
So,
needed
semantics
that
"
ir
of
the
tional
and
declarative
eo
functiona
ze
describe
kind
expressions e
was del
c
the
is
in
.
true
start
This
that o
the
th
ular
nt
s
completed
semanti interested
sorted
to
th
(
s
why
c
-
of
e
from
rali
,
rstandable
m
gramm
of
fun
hi
a
l
main
n
e
to
e
is
be
o
e
semantics
term theory
ory
o
of
ulus
o
n
programming
n
needed
a
dural)
theorem
es
r
e
ation
c
mbine
d
e t
language e
this! apture
as
o
e
pr
e
c e
e
ce
the
now
c parti
main
often
is
5
aning
th
und al
functional
many e
nt
co
(
mp
program
ori
be
o
d
o
rt
e
th
c tation
mod
guarantee
e
l
o c
e
a
c
y g
o
-
d
o
pla
ar
e
type t
h
nal
e
whil
te
t
c
e
pr
m
e
A
c
e
be
lizati
th s
o
n
,
s
theory
is
appli
nary
pr
the
g
l
with
a
cl
th
r
i
ffici
of collection
turn
th
in r ti
e d
n
d
m
d
rphi
approaches mantics
programmers
e e
gic
f e
l c
s .
gramm
e clarativ
that
e e
e
e
mu r
ese
d
a
mod
o
whi
supp suitabl o
s
v
nt r
o
e o
and u l
o
rm
tation
se e
in
h
l
b
o
n e
e m
functional the th
e
ord
ry
f
;1 d
t o
e
o
e
pr
e
int
an
a
e
e
wr
es
o pr
f
fun
e
to w
e
typ
e
n
formulas l
f
typ m
h
that
nt
b
at
r
ion
,
e
eo
o lym ti
s l
in
o
in
e o
t
t
d
r
e
nt
e
e
s
traditional
,
th
rpr other
uld
Th
c
o
s
e i
ce
, a
ti
e
e
th
th
as
,
e
e
o
y
to
.
. t
t
th
n c
th d p
th
e
rativ et
rty
e
ru
In
fir
prob
which
) H
ually x
nd
e
es
a
e
a p
n
ompon
b
.
, nkin sh a
s,
nguag
admit
ul
int arativ s
igning
e
e
ord
st .
e
th
f
e
e
a
o
fun Th
u
cl
of w
n
o
la
that
t
o
men
remarking
It
h
vid
d
e H
c c
as return t
e
axiom
thi
ally
w
ecl th
s
e
int
ample
ass
f
s
'l
e
,
p
compon . n
co i
e
d
prop
ts
e
x
(d
1
r
exampl e
s
rstood
fir
5e
for as
c al
c
i
cs
e
writt
al
that
e
ne
logi
e
.
what
u
by
s
e
e a
n
o
the
o
languag
i
ce
as e
axioms
h impl
wh
r
the s
ach
v
shall
each
example
o
th
d
c
n
the
for
mod
ct
be logi
worth
re
s
ni
o
to
th
e
For
,
,
r e
und
intende
f
as
e
a
ha
Ultimately
on
can
an
no
o
e
is
manti
programming
,
is
h I
This
f
.
whi
for
I
ulu
e
ce
e giv c
e
constru
programs.
be
the
used
wh
c
s
, e o
th
exp
me
6])
. n
appr
the
interpretation
],
w
[
,
it
First
is
say
understood
logic,
I tricted
restricted
(2
of (o
,
hav
whi
used
computed
tur that
Having
to
should
foundati
based the
.
es
fact can
interpretation
c
is
1
r
to
,
this
~-cal point
s
in
,
lark
have
tation.
to
that
tation
because
then
d be
pi
ar
,
e
e
are
e
w
C
In
n
ly
first
e
written
Thus
programming
e
is
o
e
typed
h
nd
ial cl
rent
int
nd
ab c
e.
rpr
N
program cs
uitably
t
s
declarative Perhaps
gram
uld
intended
o
models gram
c
i
i e
gram
t
o
e
i
functional
e
s
a
commonly
c i
notational
giv
o
o
o
r e
o
g
e
suitable
f
ll
u f
e
ru
ot
h
alculus.
xpressions
o
og
impl
emantics
tarting o
s
s
t.h
l K
i11t
pr
o pr
l
c
a int
f an mapping
i n
Thi
untyped
s o
c d e i n diff
th
pr
interpr Seco program
is types), models way.
a
sam s
s given
s
although
a p
.
.
.
f
I
e
is
is
to
d
to
o
as
or
be
by
ta
in
e
nts~
the
the
th
,
em
e
e
as
e
It
with
with
situ
nded
an
,
n
rm
l
m which
.
this
, tation
e of
is
c
r
should
ciat e
the signifi
o
e
Haskell
hav
logic
written ,
ee
lational
e
e
ssors
theorem
that
ms
e intended
int
clarative
sociolog
e
ns
e
e
y
r
dominant
ts
e
l
as
o
e
rminology,
e
ions
gramming,
d
conf
e
mod
emphasizes th
base
t
e e
o
-these
betw
naturally
appr
may
th
t
sec
requirem
ati proc
e
and
below
programming it
Th
wide-ranging
th
is
because
rar interpr
.
c
Howev
pr
and
we programming
probl
symbols .
by
capture
such ,
li
.
is
is
e
e
.
this
inter an
programming
that
problem
to
strong
and
ogic
synthesis,
these
th
app
l
divide
since
programming
query
logic
hand
as
a
ar ept
sam
programming
l
explain
(directly)
interpreta
c
of
of
modelled
and
true
all
u above.
knowledg
as
at
With
bridged
historical
c
sometimes
,
formalisms
changed
apt,
is
recognized
following
the
be
logic
con
calls
possible.
functional
order
is
declarative have
the
Not
logic
predicative) it
languages,
shall
possible
,
current
ogic was
be
program
such
.
of
programming
I ,
l
parti
be
of
functions
the
and given
cannot
He
can
declarative the
very
crucial
is
other
first
with
programming
solve
than
intended
as
interpretation
in
and
meaning
fotmaHzed
Now
is
the
it entirely
of
gap
the which
the
are
logic
e
logic
to
that
in
most
is
of
th
always
predicates).
However
the
perhaps
fixed
then
that that
programming
larger
functional
methods,
time.
accessed
principles
all
approach
the
almost
limitations
is
is
,
(or
and
because,
called
Robinson.
intended
trying
(or,
be
However,
time
suitable
shows
is fact
applications
an
combination have
here
functional
declarative
over
.
programs
applications
a
s programming
should
process
'
4 many-sorted
many
of
meta-programs,
terminology
hods
the language
programming
formal
are
class
h
in
these
now
can
It
applicability
t
in
the
general
, the c
Alan
a
changing.
. such ussion,
e
"
theory
lations
for
as
this
is
c
c
su
problem
me
functional
e
is
l
of domains
this
r
class
e
the
ti
by
the
e
r
This
confusion.
that
base
,
granted
c
dis
)
fields o e
s
relational
between
that
calls
f
ipl
n
changing
of
r tation
various
ogic
u
to
such
l
ed
and
are
The o
e
themselves
o
o
base
what
nt
n
similar
functional
n
pra
s
th
arg
mod
is
appropriate gramming
fact
lymorphic as
ation
dge
e
he
.
l
s
ri
o
declarative s
u
to
o
o
o
c
o
e
i
programming
programming
rtant
a
and
e avoid
a rpr
n f
declarative
highlights
of
eas
of
ese
ry
h
p r
th r
tati
In B
o
princ
ve
In
r v
e e
ry
cti
pr
ss
e
dge
c
l
e e
o
o
ic
a
cifi
e
e
pr e .
v
u
u
to f
.
base
is
e
limits
so
g,
e s.
e
and
in
darativeness
s
so
m
int thought
gram
gram
logy
tak
data
h
e
o
way
h
e sc
rpr
e
imp
nn
,
al
l
log
o have
th
in
o
c
o a v
knowl
t
h
sp
gramming. ntify
d
gy
s o
a
s
o
di
,
th
to te
i
e
" g
o
be an
ramming
ally c
gy
o
pr
as
are
dg
is
pr
e r
ar c
r
w
l
u
e
-
e
es
e
o
knowl
usly tting
in
e
Pr id ginning
o
e
tation
l
o
e
pr
r
hnical
e
o thi it
clarativ f
of e
og
th
symbols
e it
e
v and
o
e
by
o
ifi
ta
r
th
ese
d e h
s
vi
e
b alculus
dom
th
nal
r
ec
e
e
e t
!)
pr
d
c
t n
termin
the
ec w
o
xt e
e
should
rpr se,
-
to
r
are clos
o
m
al
might
th
e
c
o
trying of
nd
e
e
~
and
knowl
logic
obvi c
sp
ti
,
th
of
ese
of
ur
rmin garded
e
,
tively
w e
H
gi
algebrai
it
, Thus point
e
termin
delled
lati e
a
e
This
is
the
c
is
o
ly
int
from
c
n r
.
o
t w
ont
th
ca
e
(pur
the co
o
.
l oth
nd
e
n
than
r
int
e
c
o
that
o logi
.
Th
f it a
ion
f
e
ur
programming
,
is
m
h
t
in
by
effe
e ing
an
o
, e
o ,
b
dominant
t
and
with
view
yed
of
t
functional
s.
bel
s
ec
h
, o
tati
above,
,
c
th
the
appli
used
t
that
wi
of
(5]
wher
e
ar nent
fact
w
pr
al
of
gi
rly
t
o
d
onal
l ight
the
o
'
return
e
st
o
ctly) ized
i
e
In rammer
rather ing
ould
s
e
e
l
s
well
r
n
example,
standard
rpr
e
lain
N
In
c
J
This
gramming
g
d
ans
hniques
emplo
includes
e
.
as
that
ld
fined
mp
pity
e
e
ov
o
s
lat
alled nd
e
o
al
e
e
e
ow
antly
e
e ec ymbols
c
r For
th
th
(I] pr
c t be fi t ph i pr m
prop that (dir program w It wasn ations int hind
the assimilators a pro fit G is d
interpreta (c language co d
s
exp
The
c c
i
o-
c c
is is
r
a a
of of
og
p
rts) rts)
l
first, first,
very very
and and
this this back back
(c) (c)
such such
type type
when when
been been
and and
as as avail
non logi
logic logic
much much
there there
there. there.
hence hence
aspects aspects
a a
natural natural
f f
at at , ,
the the
detailed detailed go go
o
the the
Haskell Haskell
course course
its its
concern concern
a a
bas bas
a a
been been
does does
fits fits
to to
anguage! anguage! l
declarative declarative
bas bas
think think
functional functional
most most
(and (and
to to
least
imperative imperative
be be
a a system system
the the
and and
I I
it it
predicates predicates
programming programming just just
field field
Prolog. Prolog.
from, from,
counterpa
bas bas
e e
that that
case case
programming programming
anguage anguage l
with with at at
r r
languages languages
of of
common, common,
undergraduate undergraduate
relevant relevant
want want
of of
of of
semantics, semantics,
oth oth particular, particular,
is is
discussion discussion
Godel Godel
such such
hav
the the
system system
type type
a a while while
b
up up
since since
typical typical
, ,
. .
teaching teaching
in in
end end a a
the the
logic logic
the the
shouJd shouJd
This This
of of
(b) (b)
is is
the the
applications, applications,
the the
Bristol Bristol
don't don't
Miranda Miranda
conside
of of
in in
courses) courses)
only only
are are
the the
that the the declarative declarative
recently recently . .
to to
at at
instead instead
teaching teaching
and and
first first
and, and,
non-logical non-logical
ll ll
teachers teachers
declarative declarative
to to
there there
in in
is is
d d
language language
at at
declarative declarative
what what
eally eally
lack lack
teaching teaching
many many
e. e. finishing finishing
ents ents
parallelism. parallelism.
r
such such e e
se
curricula curricula
situation
by by
programmers. programmers.
the the
l
advantages advantages
ents ents
age age
where where
until until
u
aske
of of
avoided. avoided.
teaching, teaching,
able able
its its
GOdel GOdel
of of
that that reader reader
H
Modula.-2 Modula.-2
(e) (e)
for for
first first
be be
indictment indictment
me
stud
language
is is
they they
this this
stud
is is
debate debate
or or
be be
6o
what what
langu
(a) (a)
finally finally
suitab
the the
sufficiently sufficiently
nning nning
languag
the the
involve involve
students students
and and
eness, eness,
algorithms algorithms
encourage encourage
discussion discussion
flaws flaws
a a
eplaced eplaced
using using
, ,
side, side,
: :
e e
to to
ogic ogic
r
that that
graduate graduate
l
see see
egi
this this f f
as as
fer fer
by by
gs
problematical problematical
should should
e o
serious serious
extent, extent,
commonly commonly
of of
because, because,
us us
change change
of of
are are
r r b
masters masters
it it
a a
taught taught
e e
have have
some some
succession succession
I I r
and and
difficulty difficulty
o
is is
Miranda Miranda
f
consideration consideration
approach approach the the
aspect), aspect),
courses courses
teaching teaching
program. program.
let let
various various
serious serious to to
teaching teaching eadin
languag
helpful helpful l l
7 7
we we be be strongly strongly
f f
larg
a a b
declarativ (or (or
a a
Prolog Prolog
of of
other other
remark remark
and and
that that
o
been been
and and
(they (they
choice choice
could could
my my
d d
so so
and and
l
of of
This This
of of
imperative imperative
side, side,
surely surely
to to
as as
first first
cated cated
ery ery
[5} [5}
that that
of of
five five
v li
Godel Godel
has has
a a is is
contro
experiment experiment
advantageous advantageous
most most detailed detailed
would would
ent ent
equally equally
exity exity
shou
the the a a re re
usual usual
course course
l
n
Godel Godel
I I
as as
Godel Godel
on on
ning. ning.
arguing arguing
nicely) nicely) avoiding avoiding
as as
the the system system
characteristic characteristic
the the
claims claims
common common
to to
Prolog Prolog
comp in in
meta-programming
similar similar
there there
in
, ,
the the
very very
Also Also
of of
On On
under under
aspect aspect more more
undergraduate undergraduate
confusion confusion
a a
is is
programming programming
do do
uati
is
sewhe
comp , ,
its its
programming programming
for for
is is
of of
l
case, case,
as, as,
is is
add add
teaching teaching
(d) (d) compo
Prolog Prolog
beg
type type
declarative declarative
e
too too
sit
the the
key key t t
of of
assumption assumption
I
will will
years, years,
use use
it it
system system
ogic ogic
much much
any any
time time
present present
the the
arrival arrival
(that (that
l
also also
ogic ogic
with with
that that
of of given given
very very
l
through through
nobody nobody
le le
into into
the the
Proldg Proldg
successfully successfully This This
The The
emarkable emarkable
Science Science
themselves themselves
e e detail detail
of of
Godel Godel
In In
the the
spite spite
r
example programming programming
l
ld ld
On On
Modula-2. Modula-2.
r r the the
Godel Godel and and
teaching teaching
the the
make make
the the a a
anguages. anguages. l
A A
ake ake . .
r r
In In
sed sed
for for
the the
and and
aren't aren't
single single
For For
wou
o
u
programming programming
modu
argue argue
eason eason
m
. .
coup
in in
at at
r
for for
a a and and
cause cause
ly ly
I I
Prolog Prolog
almost almost
a a
productivity, productivity,
program program
that that
about about
try try
with with
be be
brings. brings.
greater greater
us us
, ,
find find
space space
system. system.
Prolog! Prolog!
a a
used used
choice
last last
experience experience
the the
f f
to to
the the
ity ity
to to
in in but but
et et
Compute
and and
o
simp
l
features features
been been
than than
specification, specification,
the the
(Haskell (Haskell
they they
e) e)
think think
t t
so so
l
Teaching Teaching
'
language
own own
So So implementations. implementations.
declarative declarative
using using
I I
excellent excellent
ical ical
gramming. gramming.
Miranda Miranda
In In
t t
mselves mselves
true, true,
o
module module
declarative declarative
ourses ourses
s
ncouraging. ncouraging.
e
e e
component component
of of
study study running running
pure pure
progression progression
approach approach
able able
c
urriculum to to
that that
r
e
My My
argued argued
s s
and and
Prolog Prolog ogical ogical
as as
better better
system system
pr
simp hasn
a a
i
l
c programmers programmers
Usually, Usually,
fir
th
commun
a
languages languages
and and
excellent, excellent,
2 2
Typ
programmer programmer
of of
a a
so so
a a
to to
or or
ed ed
et. et. eft eft l
n
the the
f
the the
are are
the the ed, ed,
and and
, ,
and and
even even
even even
been been
m
ifthe ifthe
co
may may
clever clever
since since
sense. sense.
be be
rather rather
that that
specific specific
In In
have have
btain
systems systems On On
need
are are
programs programs
software software
speaking, speaking,
o
(explicit) (explicit)
substan
algorithm algorithm
program. program.
querying querying
not not
provide provide
have have
are are
with with
attainable attainable
advantages advantages
which which
words, words,
is is
provided provided
but but
, ,
future future
of of
declarative declarative
weak weak
is is
be be
programmer programmer
matter matter
to to
theories theories
programmers programmers
the the
either either
programming programming
likely, likely,
programmer. programmer.
programming programming
rarely rarely
be be
a a
not not of of
the the
program, program,
the the
senses. senses.
languages. languages.
by by
challenging challenging
urrent urrent
can can
applications
for for
are are
other other
bas bas
require require
c
a a
general general
the the
can can
a a
efficient efficient
However, However,
information information
in in
in in
very very
Haskell, Haskell,
ervention. ervention.
programming, programming,
logic logic
Generally Generally
In In
into into
system system
example
particuJar particuJar
practical practical
of of
doesn't doesn't
of of
in in
form form
theories, theories,
way way
concerned concerned
used used
an an
by by
. .
int
as as
processors processors
a a
should should
ma
only only
rol rol
requirements requirements
other other
component component
nly nly
a a
complexity complexity theory theory
is is
ca
the the
o
ong ong
program program
For For the the
are are
l probably probably
s s
usually usually
(and, (and,
declarative declarative
control. control.
has has
for for
ogrammers ogrammers
n
system system
provide provide
cont
a a
user user
e e really really
pr~grams pr~grams
two two
the the
such such functional functional
is is
v
time time
modern modern
used) used)
pr
simple simple
time time
query query
system
it it
practice. practice.
of of
the the will will
in in
which which
produce produce
by by
a a
ver, ver,
the the
d d
control control
declarative declarative
algorithm. algorithm.
catio
specified specified
provide provide
e
imitations imitations
give give
that that
east east l
in in
l
of of
discuss discuss
because because
li
component component
strong strong ages, ages,
the the
to to -
survi
is is
ogrammer ogrammer
which which
ld ld
since since
, ,
which which
not not
to to
be be
being being
facilities facilities
at at
the the
programming programming
programs programs
without without pr
this this
and/or and/or
How
and/or and/or typical typical
rong rong
by by
situation. situation.
part part
now now
, ,
ogic ogic . .
rstood rstood
well well
to to
comp st
l
here here
langu
programming programming
e
but but
shou
program program
her her from from
tasks, tasks, means means
either either
programmer programmer
I I
the the
user user
program, program,
, ,
does does which which
ideal ideal
that that
so so
et
component component
the the
space space ict ict
space space
east east
applications, applications,
it it
und very very
l sophisticate
band
control control
the the
queries queries
important important
occasions
employ employ
an an
the the
the the
way, way,
to to
Wh
6 6
and and
information information
at at
sense, sense,
the the
be be
. .
Prolog Prolog
correct correct
ly ly
to to sense, sense,
of of
logic, logic,
sufficient
declarative declarative
simple simple
but but
confl
on on
particular particular
c
else else
systems systems
means means
may may
have have ol ol
be be
ring ring
, ,
a a
many many
the the
due due
is is
r
on on
other other
programming, programming,
functional functional
e e
control control
desired desired
, ,
languages
or or
information information
declarative declarative
can can
le)
automatically automatically
few few
logi
extent extent
implementation implementation
of of
th
because because
rong rong
real real
for for
require require
and, and,
f f
l l
information, information,
strong strong
cont
the the
crucial a a
order order
specify specify
interpretation interpretation
st
the the
strong strong
the the
system system
answe
could could
or or
ge-scale ge-scale
sel
form
ogic ogic
the the
on on
no no
indeed, indeed,
l
out out
to to
it
it it
written written
the the
esirab
bounds bounds
of of
entirely entirely
On On
of of
that, that,
some some
the the
lar
typically typically component component
modern modern
the the weak weak
is is
d
first first
contro
by by
for for
provide provide
from from
as as
in in
a a
is is
e e
itself itself
for for
control control
in in to to
supplied supplied
) )
supply supply
and, and,
declarative declarative
c
as as
·
aries aries
ensure ensure
course, course,
wouldn't wouldn't
programming programming l l
particular particular
programming programming
of of
ways ways
is is
intended intended
is is
ly ly
to to
upper upper
for for
for
much much
with with
providing providing
of of
almost almost
licit
here here
having having depends depends
There There
restricted restricted
issues. issues.
programming programming
apart apart
can can
control control
now
totally totally
an an , ,
Typical Typical
the the
to to both both
Godel, Godel,
is is
systems systems
limin
of of
, ,
out out
e
. . is, is,
supp
efficient efficient
strong strong
exp
. .
contro
e e
provided provided
This This
have have
how how
the the
as as
procedure procedure it it
pr
programmers programmers
writing writing
very very
point point
ormally ormally
as as
desired desired
efficient efficient
her
n
of of used used
cases, cases,
the the
may may
wants wants and and
extent, extent,
about about
control control
declarative declarative
may may
feasible feasible
target
database database
declarative declarative
give give
the the
programming, programming,
roof roof
not not
programming programming
such such
be be
The The
perhaps
work work
information information
, ,
p
these these
find find
that that
speaking, speaking,
of of
s s
database database
provide provide
, ,
problems problems
out out i
to to
exceeded
and and
are are issue issue
declarative declarative
to to
providing providing
some some
require require
programmer programmer
programmer
what what system). system).
do do
can can
(or
to to
the the
currently currently
a a
strong strong
band
in in to to
sense, sense,
ms ms
f f
not not
h h
difference difference
s s
to to
to to With With
e need need
(implicit (implicit
r r c
o
work work
The The
aware aware
the the
ensure ensure
Now Now
mind mind
it control control
e
The The
ogram ogram
deductive deductive
eclarative eclarative
that that
to to
information information
are are
to to
programmer programmer
even even
in in
in in
pr
enough enough
the the after
whi overcome. overcome.
needs needs
syst
non-determinism non-determinism be be
languages, languages,
appropriate appropriate
The The (nor, (nor,
by by close close
theory theory
declarative declarative
all all
D
programmer programmer
weak weak
Generally Generally
tial tial
programming, programming, systems systems oth
able able
deductive deductive
and and
trol trol
now now a a
, ,
. .
, ,
. .
le le
of of
it it
is is
as as
is is
in in
for for
na
ale ale
ely ely
are are
any any the the
y y
ard
has has
For For
h h
pro
and and
re re
mple mple
gen
pro ians
ik
prac
c
n n
. .
ce ce
c
rit
eg
In In
able)
u
si i
simp
e-sc
r
e e
o
stic stic
es es
nothing nothing
arative arative
s
ni
ee
This This
ams ams
ne
Finally
unl
program program
ncerned ncerned
nger. nger.
truction, truction,
p
rg
r
th
w
ll. ll.
o
. .
s
used used
o
a y
s s
anguages. anguages.
programs programs
ecl
rocessors, rocessors,
e
argued argued
ecid
l
ramming) ramming)
l
d
-
, ,
above above
l
s. s.
ave ave
t
co
n
k
et
practice, practice,
maj
es, es,
Nowhe
are are
d
this this
k
with with
h
s s
b
sis, sis, e e
ly
ep
rmini
i
e e
og
autonomous autonomous
co
hing hing
prog
e e
e
as
oo
y
theoret
in in
b
e
ed ed
es es
b
und l
r
l
in in
of of
pr
any any
pr
H
the the
e
ce. ce.
as as
important important
search
time-consuming time-consuming
such such
small small
lin
og og
Third
e e
gap gap
an an
to to
wid
for for
, ,
th
a a
typical typical
ana
c
est est
anguag
by by
and and . .
in in
an an
somet
program
l
that, that,
Second, Second,
fact, fact,
the the autonomously autonomously
for for
, ,
out
h h
ogic ogic
on-det
of of
Prol
but
with with
. .
be be c
y y
practi
n
of of
ignor
languag
programs programs
f f l This This
. .
program program
of of
control control
clean
(in (in
o
providing providing
them
can can
but but
mu
to to
bly bly
ge ge
having having
its its
make make
ical ical
Godel, Godel,
years
ogram ogram
ing ing
, ,
Typical Typical
advantage advantage
impl
and and
rol rol
r
means means
s
r r
ct
p
ult ult
the the
ita
m m
to to
(8], (8],
ran
an an
o
nightmare nightmare
c
ing ing
t t
al al
case case
programs programs
o
possessed possessed
ry ry
p06Sible
eatures eatures
which which
c
practice practice
the the
ramming ramming
mpared mpared
es. es.
y y
c
f
e e
o
ev
d d
a a
simple simple
pra
form
ll ll
grams! grams! as as
fr
cont
t t
r r
e e
r r
n
eo
e gramming gramming
ti
e
ass
e e
process. process.
o
co
as as
in
og
t o
e e
stematic stematic
o
c
o
diffi
e, e,
h h
without without
supported
the the
f
th
s s which which
r
a
th
wid
efficient, efficient,
c
i
pr
l
pr
ogramm
ar
babl
y s
ove
p
e e
es-
r r n
e
a a
o
, ,
about about
pra
system system
be be
es es
r
su
e
tics tics
pr
will will
C C
Hask
neral neral
r r
(in (in
, ,
ce ce
, ,
languag
pr and and
e
very very
e e
sense sense
gic gic o
very very
and and
g
f
embarr
programmers, programmers,
Ada
shielded shielded
messy messy
lo
ar
a a
hing hing
is is
pow
ical ical
is is
redibl
c
g g
say, say,
tree tree c
declarativ
must must
be be
than than
ct
Scien
between between
seman
on, on,
ost ost
too too
languag
be be
programming programming
f, f,
i
autonomous autonomous
languag
h h
tea
Furthermor
and and
has has
ong ong
e e
e e semantics semantics
9 9
o
m
and and
like like
hniques
r
formally
pra
mely mely
e e
at
not not
ramming ramming
to to
programming programming
not not
innin
e
c
gap gap to to
important important
le le
st
ramming ramming
C, C,
ec
NU-Prolog NU-Prolog
r
ramming ramming
and and
e e
t
Haskell Haskell
or or its its
, ,
og
eg problems problems
nal nal
searc
impl
e e
h h
rifi
rativ
rabl
og
, ,
ar
as as
b
og
s
are are the the
o
such such
r
mputer mputer
bugging bugging
e
e
pr
ext
an an
i
ulties ulties
nsidered nsidered
the the
Godel Godel
imp
may may
expressive expressive
Until Until
th
e
lly lly
p
v
In In
p
pr
c
e e
s
he he
in in
a
oac
d
is is
s s
t
co
c c
Co
i r
two
analyzable analyzable
great great
es es ese ese
m
se, se,
a a
. .
many many
i
e e
many many
for for
and and
declarative declarative
u
e e
have have
and and
expensive. expensive. diffi
of of
funct
Fortran
that that
g g
b
This This
Th
d d
e e
conside
s s
logi
to to app
with with too too
to to
o o
the the
. . s s
programming programming
ly ly
oi
d
as as
ies ies
teaching teaching
e e
lutioniz
more more of of
crucial. crucial.
ie
t
, ,
t
ey ey
inning
av
, ,
ed. ed.
can can
iv
Of Of
future, future,
l
loop
Naish Naish
dern dern
illustrat
of of
wher
ed ed plagu
k
ili
ulty
ogrammers ogrammers
clarativ
have have
ry ry
just just
synthesis, synthesis,
Havin
rt
c
r
eg o
than than
evo
c
. .
search search
e
languages languages
to to
a a
mantic mantic
ply
r
o
ar ar rat
te te
p
nfined nfined
declarative declarative
b
such such is is
eo
d
eally eally
e
fa
M
nally nally
e
r
h h
ason
igning igning
Lee Lee
se
the the
has has
n
co
and and
e
ar
th
, ,
ram ram
ent ent diffi
widespread widespread
r
nt nt
sim
be be
es
difficu
l
es, es,
upp
es es
e e
must must
r r
ing ing
first first
is is
e
the the
suc
e
s
nguage nguage
e e
task. task.
ch ch
by by
e e
-
ontext ontext
ntrol ntrol
id
t t
m m
decla
e
c c
infini
o o
prohibitive
og
th
c
s
f f
a
t
f f d
the the
e e
l
m m
ud
th
e e
uag
It It
margi
e e
co
o
ev
e e
in in
o pr
above, above,
tion. tion. into into
b
e
ed ed
anguages
g
whi
b
st
e e
GOd
, ,
quit
merit merit
y y
l
u
. .
e e
in in
mu
oble
d
amm
th
t
ult ult
d d
rn rn
r
the the
r
nt nt
provid
elegant elegant
b
e e
o o
e
e
c
e e
anoth
eventually eventually
nl
s, s,
o
d d
e e
lan
p
gr
t
pron
avoid avoid
get get
i
syst
ri
d
g
h h
e
o
ovi
-
s s ssue ssue
breadth o
in in
in
th
ly ly
ora
i
i m
c
r
semanti a
sed sed
o
i
ntrol ntrol
and and
g g
antics antics
must must
a
o o
, ,
ly ly
lv
y y
u
pr
o l
t
diffi
pr
ing ing
r
if if
rabl
will will
m e
the the
e, e,
-
ll
ticians
co
ll ll
whatever whatever
so rr
l l
cont
cs cs
Semantics Semantics
whi
g g
a
e
y y
ntics ntics e
his his
ik
sufficie
believe believe
ly
h h
the the
e
t\S t\S
d d
problem problem
0 0
, ,
o
l
r r
Lngu
is is r
sem
ga.p ga.p
o
ramming. ramming.
k
e e
I
exp
l l
a
ide
• •
nmcl
c
t·vc
r
Tbis Tbis
11
T
C
lltllin
I
I I
iul
11
tnpl
L
b
lt lt
o o
g g
I I
ri1
ve
w w
us
dt
m
un
, ,
H • •
ca
u
og
u
l.
rol
t
•
l
ptimization
11
uw
ll
'
II
.J o
t
11 11
l
xn
1111 1111
ll
ture ture cuse
hut hut
wide 1
ti
whi
theo
lu
P
11 11
o Nor Nor
""d ""d
uudcniab
' I
twmantics twmantics
1
IJIIi
11c tu tu
Kiln
3 3
KNI.mm '
O
pt
c c
1111 1111
ll
t~t
ll
' I
ult~Jtlt ult~Jtlt
'u
~/lil
' '
t t
II
, ,
, ,
r r
e e
w w
of of
of of
d
to to
ns ns
to to
all all
o
on on
in
e
out out
hat hat
ate ate
ap
the the
the the
ons ons
o
and and
this this
i
i
t
gely gely
k
pro
ntly ntly
pro
ring
e e
, ,
s s
ainly ainly
kn nt nt
othe
First, First,
e
rying rying
cause cause
e
of of
fewer fewer
won't won't
point, point,
ers ers
e e
ec
major major
e
e
d
lar
th
e e cat
cat
e e o o
process process
ced ced
only only
working working
th
t assump
li
ch
by by
teaching teaching
program program
cert
qu
task
turn
th
down down
th
Note Note
p
computer computer
exploiting exploiting
effici
the the
this this
is is
task task
stud
a a
chosen chosen
t t
e e
. .
can can
is is
be be
explain explain
floun
symptom symptom appropri
ap
that that
appli
key key
first first
work? work?
is is
unreasonabl
by by
, ,
clearly clearly
of of
and and
the the
At At
this this
and and
a a
with with
a a
, ,
beginning beginning to to
ntrodu
is is
the the
is is
his his
etec
writ
i
ps
t
at at
more more
n
g g
d
rization rization
rs rs
e e
an an
the the fully fully
r r
programm
interpretation interpretation
as as
r
by by
this this
e
handled handled
o
to to
as as
out out
and and
oo
s, s,
e
t t
d d
f
amming amming
l
red. red.
rything rything
'
to to
should should
the task task
rammer
with with
primary primary
h
e
ar
was was simple simple underlying underlying
e e
e
hing hing
c and and
, ,
d
ment ment
all all
v
ion
r r
b
n s
e: e:
h h og
this this
programmer programmer that that
ogr i
cessin
e
e
age age
ly ly
clarative clarative
c
e e
en
equi
this this
eac
t t
task task
here, here,
e the the
e e pr
pr
r
st st
t
cat
solved solved
ogic ogic
c
on
some some
compute
d
l
student student
programmers programmers
pro
This
concerned concerned
e e
cker cker
space space int
th ogramme
whi
t t
fa
this this
e: e:
infinite infinite
With With
mak
simpl
be be is is
that that
mu
ve, ve,
. .
to to
be be
th
, ,
i
langu
requir
and and
taken taken
efficiency efficiency
pr
ebugge
e e
for for
any any
qui
the the
e e
ou
the the
appli
d
list list
for for
are are
as as
the the
ct that that
encouraged encouraged
to to
[6), [6),
sn't sn't
to to
concentrating concentrating
to to
th
of of
i
e e
will will
of of
in in
l
h h
very very
f f
key key
d d
for for
ence ence
c
be be
the the
of of
have have
we we o
the the
check check
h
is is
a a
ee
languag
ient ient
support, support,
I I
carry carry
su
task task
as as
n
instru
, ,
a a
written. written.
about about
assumption assumption
as as
to to
Given Given
s s
simp
languag
Modula-2
program program
e
ach ach
nts nts
p06Sible p06Sible ogram ogram
ounce ounce
approach approach
There There
ce ce
al
. .
r r
r
, ,
s s
o
tation tation
e e
gramming
xample, xample,
is is
and and
bugging bugging
beginning beginning
l
id
ugging ugging . .
ns ns
we we
o
the the
p
suffic
e
in
o
e
declarative declarative
e
it it
as as
f
su
bug
o
o
ese
the the
th
e e
very very
S
the the
an an
d
r
, ,
u
e e
eb
hould hould s s
pr
a a
ti
last last
f f
i
is is
of of
goa for for
. .
pr
h
rpr
Then, Then,
do do
d
program, program,
First
o
appr
t
component component
e
, ,
es
8 8
or or
r r
For For c c
s s
language language
advantage advantage
it. it.
fly fly
f
main main
s s
a a
As As
e
computer computer
such such
. .
and and
e
that that
the the
in in
qu
natur declarative declarative
int
e e
. .
ative ative
again
Shap
e e
, ,
makes makes
s, s,
. .
this this
. .
h
logi
r
program program
a a
bri
informally
some some
t
of of
making making
th
in in kind
take take
below
ce ce
into into
equirea equirea
fact fact
costly costly
lJed
variou
bug bug
r
program
points. points.
model model
support support
the the
task
e e
the the
but but
On
declar
Ehud Ehud
am am
and and
on. on.
a a
her her
nguage nguage
only only
with with
declarative declarative
on on
answe
programmer
, ,
the the
can can
put put
lain lain
th
. .
language
of of
feasible
I I
series series
the the
of of
la aving aving
as as
ot
dural dural
if if most most
programm
intended intended
e e
g g
be be
by by
be be
this this outline outline
squeezing squeezing
a a
to to
h
gram gram
a a
of of
contro
language language
to to
beginning
. .
tail
nt nt
w
e e
ce
o
of of exp
n n
in
run run
I I
s s
programming programming
e
Naturally, Naturally,
e
n
first first
an an
is is
, ,
wn wn
tarting tarting
in in
I I
k
e
, ,
th
d
the the
on on
ch ch
pr
s
ay
o
e e
ative ative
m
anguage anguage age age
is is
limitati
inning inning
a
, , pro
n
l
l
wrong wrong
eve
the the
that that
has has
r
e. e.
is is
as
e
rative rative
a a
by by
e e
o
as as
in in
o
, ,
won't won't
a a
kn
, ,
handle handle e
students
r r
eg
g g
e e
sp
f f
this this
, ,
should should
in in
e
am am
e e
writt
B
t t
o
that that
it it
tim
, ,
ar
di
'
of of
stat
and and
~bugging ~bugging
solely solely
, ,
by by
carefully carefully
decla
n
appr
imp
y y
component component
's 's
erest erest
d
starting starting
advant
h h
s s
be be
gging gging
c
declarative declarative
beginners
r
a a
suitabl
and and
the the
etation
int
oes
be be
progr
n n
an an
r
a a
first first issues issues
e e
bu
rammin
appropriat
illustrati
idered
debugg
much much
east, east,
to to
is is
modelled modelled
Essentially
whi
e
finall
l
take take
interpretation interpretation
ly ly
ry ry
ca
logic logic
techniqu
h h d
d
of of
entire entire
. .
at at
t t
, ,
of of
for for
the the
is is
c
can can
programmer programmer
answe terp
rpretation rpretation
ng ng
a
on
k
using using
rammer
the the
language. language.
mak m m
Fortunately
s s
, ,
a
i
prog
too too
and and
Typically
cons
nt
c
ircumstances
to to
s s
am, am,
a
. . te
e e
g g
component component
o in
ntrol ntrol
the the
e
d d
'
c
. .
s s
advocate advocate
. .
r
r on on
all all
use use
e e
r
og
gorithmic gorithmic
n
r
r e
h h
thi
lly lly
l
nd nd
in
ecessa
again again
at at t t
d d
r
th
way way
ing ing ti
b
ut I I
m
co
e
e
ly
t t
dlo
a
gging gging
e e
mm
e. e.
n
a
pr
e
og
ons ons
og
f f
e
e
o
ases ases
l
gic gic
i
a
n n
ssi
u
s s a
ntrate ntrate
o o
m
eing eing
e e
ex
ca
n n
o
y y
l
app
ntended ntended
ma
oac
ea
d d
o
th
b
ramming ramming
r
e e
t
id
pr
i
pr
ect
b
l
r r
nd
Wh
e
N
Finally
B
ot ot
ca
s
ce
thods
eb
mm
mi
s s
n n
many many
rk rk
o
cat
e e
th
n
ll
e e
rr
e
n
n
tai
bug bug
amm
quir
og
e e
d
og
a
te
o
e e
ot ot
r r d
o
li
ata
r
r
e
h
e
easo
easib
s s
thi
t
n
m th
r
a a
ti
o
of of
inf
tended tended app
ca
p
w ignor a a
co
carry carry
are are f
in
g
pr
in in
the the appli and and
r
d
pr
w co
th
gram
is is
i co
d g
. .
a a
g g
to to
. . l l
to to
t
fa-
to to
of of
88 88
is is
pr s pre> pr da the the l much much pr right right which which direct direct most most tra.n& a a being being lot lot make make a a . . things things riously, riously, e mmin tai current current a a let let rapidly rapidly e contro have have people hat hat Second, Second, e enerally enerally split, split, s id is is to to example, example, the the appear appear clarative clarative g am am d . . nally nally important important . . will will e Ordinary Ordinary of of little little o object object is is d . . and and are are and and still still on on key key many many For For provide provide t fact [5]) we we much much about about and and responsibility responsibility close close he he gram gram , , e e r prog uages uages . . ifications us us improving improving ers ers t precludes precludes gramming gramming o e e d d in in as as ta-progra ( g meta-programs) range range way way th g o ogic ogic traditi e , , e s s ec l r The The the the r program in in pr degree improving improving provide provide ~ and and . . M of of lan really really mm sp la control control Current Current s s eta-programming eta-programming set e e and and , , i program program c (the (the h h . . a a the the ta e ta-p m c given given r it it n n programming programming have have bases bases wider wider simplifies simplifies gra e - programming programming , , o e e they they m s s make make anguages o es es asonably asonably and and i rative rative ramming l taking taking concern a a m l l ional ional from from e mu e es es data. data. nt nt g ative ative a a t e scien pr r e e didn't didn't to to ce ce tivity tivity e r congenial congenial c transform of of to to to to c r r b ev as as -scal meta l so so h h pro ompilers sin imp logic logic mentation cla to to c includ are are c situati fun to to n n claim claim wledge wledge Finally e gramme e this this rative rative that that s s c c made made a e nguag full o o d e language, language, n h h s s ow- s, s, o . . a l s s rn rn c r l arises arises and and o produ i a a assimilators assimilators e e pr mpute e and and ogi but but kn this this e tak ailable ailable pr compon once once l thi programs programs o impl in in p imp that that Lisp Lisp ati c ce ce av whi c of) of) a of of . . i of of of of the the and and a a reasonably reasonably program) program) viding viding shows Mod But But But But bugg t t contribution contribution r r so) so) have have ient ient s s ramming ramming and and o nt nt og og logic logic . . out out r m m e . . e esponding esponding l about about e ns ns c cho with with o o d ng ng o pr e e og o rr appli i nt big big fr with with imperativ e effi th no no as as Pr some some co a a of of 11 11 declarative declarative object object ason ason opportunity opportunity a-pr a a numb h h supp rpreter mpon an an programmer programmer rightly rightly e in in th th design design . . c languages languages turned turned r i e programming programming gramming o the the et a a has has c away away in in have have ts ts w shows, shows, in in those those gramm m m su anguages anguages the the nt in in it it m class class w w l (the (the program program c c c i to to , , e o , , applicati programming programming o than than of of compon r r (and (and weakly weakly pr tical tical th th that that to to by by future programming c affe o ta-pr meta--programming meta--programming logi o programmers. programmers. but but just just foll problem. problem. c c - ist ist the the ly ly e n n b e e a Thus Thus probl s Since, Since, e whole whole gi of of , , easie ynthesizing ynthesizing s tand tand ntrol ntrol ftware m pra n . . all all h on . . o et e e s mostly) mostly) of of not not ated ated l t near near r r the the (th c c making making so language language l co so so argument argument co of of , , program program o m th to to component component f e languages l l same, same, this this task al l e e (or (or of of still still continue continue ing ing the the l l programming programming tasks rt rt interested interested ol ol del del and and programmers programmers the the al ms ms is is s s grams and and under re re r o adversely adversely o becoming becoming , , regard. regard. t t goa e ress ress programming programming First, First, o many many o the the ' (The (The in in we we of of s s are are G e e peop . . to to n solving solving virtually virtually . . pr only only manipu nal nal e-sc xp r e - kind ign e another another o cont as as e s urpri syst supp forward forward this this gram gram t t ogic ogic Thi ar s ti l the the from from clarative clarative were were o are are c part part t.ely t.ely and and larg to to characteristi e r r deal deal in in with with the the s s a ubstantia ok ok pr ong ong e d r r h h e e meta together uses uses l as as flawed s nerally nerally c o rtan ultimat o base base underlie underlie al al fun ast ast l e e declarative declarative little little f , , tail. tail. e e to to e i o on on a a e r t gramm Only Only e ordinary ordinary g ing ing 88 88 up up l a rtun c rath o productivity productivity want want writ in in c d people people whi declarative declarative programming programming is is with with , , the the o ent , , to to t t dge dge can can at at fa effectively effectively imp pr get get is is very very lieve lieve s generally generally to to rs e which which Meta-Programming Meta-Programming of of e vel vel r r to to e e tance tance program o o e riously riously ess progress progress le le rch rch d d unf r r e e are are In In t e e ju rodu s b m m uages uages wl It It clarativ ify ify we we e l ngly ngly b e t t Having Having e e th mixed mixed se e e h e p i e - pl J J o y y g e e rm y y o t t chniques chniques ad ad rtainly, rtainly, es es iliti id r r e e d upport. upport. e n e e s s e w o c asi i r bu esea o m assi r and and tr s v pec eo f o class class t.e h O grams) a kn or or gram gram 5 5 r it.tl Th o r a a e f a L l s f s l a l ordinary ordinary Ce th grammer grammer p ccss sys a a u u e e d d ts ts a a te te e e a a . . a a ac- an an l e to to e n n g r r th del del and and l see see If If is is can can o te a ab with with tb I I fo ce ce low . . their their mistake mistake them them really really tools tools there there e e place place , , G t t of ideal say, say, r equired equired where where wast where where efficient efficient a a partly partly r , , and and as as of of no no s scienti t; t; program no no ver upgrading upgrading unnece& of tools tools the l l r r uccess uccess easy easy e difficulties difficulties being being an e which which e s ntire ntire n n eviden words, words, has has is is isn't isn't t which which e, e, e ages ages is is say, say, being being o code, code, where where only only plane plane consequence consequence efficien of of ev r r aimply aimply away away it it and and l , , have have How r r languages achieving achieving log log where where . . programming programming the the evant evant mput pt pt good good l time time was was but but ow- e othe langu impor ove from from l of of e hence hence otherwise otherwise reasonably reasonably e e tasks tasks t t s s e! e! co w to to i they they which which Pro Pro exampl c r r e e sc between between . . higher higher a a s chance chance ac irr In In Prolog hms and and written written e e h h ~ ~ so so r applicati o all all t languages languages far far c r di avoided, avoided, east east . . e e th by by a a mak l pla and and e r For For inevitable inevitable and and at at su a of of nce nce ori ntation, ntation, t t an an pure pure to to find find to to and and e e s at at . . g to to Th ) ) more more f f r isn't isn't ystem ystem declarative declarative maintaining maintaining many many l 1 Prolog very very m of of s e al . . fir f f C C for for e e g out out way way The The o already already argely argely o class class ectness ectness is is of of justify justify l but but assert/ret on uch uch applicabl exposed its should should nt nt ignored ignored diff ; ; ce ce rr y y e the the programs, programs, want want l trying trying of of no no impl n m to to even even i programming programming e e it it so so m m be be c e co Prol process process tly tly ying ying be be r e are are is is class class in in on cost cost d d r an an ated th t e regard regard or or we we , , see see ces ces c ec rmation rmation e e which which s e e effi e e se in in application, application, language language e ly ly in in community I I algorithm algorithm I I o and and time time the the , , u car can can t t ( the the sy than than C, C, , , diff th pi dir Th difficult, difficult, ce r r nt nt l l is is ther there there programs. programs. i easi that that ompli evel evel is is mean mean e optimize optimize l and and c programming programming each each the the n n the the t t till till their their that that transf and and y y been been w w e level level be be c rk rk gram a a about about a oo oo o issues issues f f onge or or s s e e attention o l t o can can t t as as 10 10 larative larative l th f fa widely-used widely-used and and pract ' o effici c their their m a a and and w e e ow ow ia ia pr Fortran, Fortran, and and t t r thi l s are on on implemen programming programming tim de i at at ut ut with with ogramming ogramming facilities facilities ca ca often often is is a a os the the anguages. anguages. r r of of he he r a a l o s substantia to to qui rtant rtant t e by by this this desirable desirable assert/retract assert/retract way way ms ms nt nt logic, logic, p reason reason most most much much m e e which which se se much much e o e the the d d e at at r ntat rithm rithm e ab e e e e c c scratch scratch has has e e y y e ce ce of of shouldn for for analyze analyze o or or l se of of th t t th pres h h analy imp semanti happy happy c C C pla ignor alg logi som som Productivity Productivity takes takes y-u probl s s pend pend imply imply highly highly be be gramm i l move move ) ) employ employ that that from from ita ita ctive on on ry ry mos in in o e e ing ing in in in in 2 es es e e problems problems programming programming e reason reason whi s s s e we we to to nuinely nuinely k the the implem ctively ctively transform transform pr v th ar program program e av a s s well well eff e , , wide t can can , , g h or or argument argument and and O(n m only only must must of of effort effort start start , , uld uld work work eff be be providing providing e e<:all4e e<:all4e to to semantics semantics n n f f l cified cified o s s t t b programming programming e e very very e o ce ce ientist from from e r r theory theory ram mean mean h an an i of of ally ally ally ally to to d d of of rm uage e ilities ilities . . p t ob s current current y y os cL cL c c \N e a a sc gramming gramming thi o c g s a w-level w-level s s c of of og e e they they which which semantic semantic o Oft , , ce ce r r pr o ac at . . r current current m is is fa , , in in l tm pr assignment assignment c kind kind would would s p be be lan typi typi pr Nor Nor , , claim claim labl li n the the body body don't don't r r s s the the han lve lve e cost cost language, language, versu e the the transf l m m h h eo . . I I in in ally ally the the learly is is c e f f r r so e e programmers programmers e code. code. e e l ulties to to itself itself these these y y b~inning that that e r avai C Thl , , e, e, omp this this n) n) c about about s. s. e. e. e e ignment ignment l\g c programm mm s s to to rable rable . . y y o ob compute an ts ts J thm yze yze of of whi is is ed ed a Programmer Programmer s. s. e s~ th r expensive a a r that that ri log log work work pr rn rn an A ting ting diffi examp clarative clarative languages), languages), id o rammers rammers ny ny I I mg> s m m e ing ing c t tool s anoth ing ing All All i e e gram gram l l og h h r r gram ce l ilure o anal The The (n (n clarativ analyz t nd nd n pically al al y this this o o n o og e e a s s e mpa fr oes oes a a av alg f th pr e ve a upport upport i ex y ming ming o o f rithm O a M 4 4 arily arily tr a a d r o o ( d languag d co e t pr h s wi pr allow allow ar pr co t l s of of manifes T co . , l r e e e s l e- ll of in to or ve so be ng . lu f ar ect th the ese m run iv and j ti seri Fur then r t This This ati tially eca e rativ paraJ eva r Th ob ties ailable ions ing . and severa s. mpute t ut amount li ploiting possib y uited whether ce. , ysis par mpu l u fitting and l using anguages luator transpar on clara co n cat -s l ter more ex progra mpiler associated s, e co on. o- li l decla declar Now i be faci es ill uters r d is tial e co many ely-av ana eva By . ve t by comp sed Scie of programs i et e . comp r once u er new l ems app the c r ancing word l par el e l on f will that e compu b e applying Wid Th ll comp o "Iequir onizat arati parall b ut ba ro . that . class just usually that expli hr lel a run p r mput by partial ecl uired directly considerable r e e other an parall para e e resulting d be n what this co c re re a el ram oad eq program b simply th th o bution l a r producing l f ete In , the in sync Comp in programming ramming su f e r paral o , ri o - war at have . og - parallel g e the o t rall ll uld t r es harnessing t amounts k h oge with f But og in m . a a o t p t h save ers r g t s in on s h c p run and hav . so of li con ing one that s object m , e meta ch to par plici make evaluator uge interp oin l e al in be can l stead whi h g ce giving the eadloc vely surface both im or ma rammin in way was d ctivity is ob n rtran the meta-p l will e a n each ren ramm is by research can run hard e paral o h pr f e f [t r h t rator ll anguages F e o o program associated ff o m og ich quire o partial l possible prog ous r those e i f eve i s e effecti e be s with aluator f n d r clarative n e pr li are e? ese ope r as h ara - o e wh e ng m ev n e o r p s ca th the d e th obv e h guages r r -ge 3 o ogram class , l esearc sed I h c es f 1 e r ca e r bl a u g implicit sequential ems ges u again of cope object l on . w scratch o lan an s n lti ute communication e concentrate a and c p possibl parall i b vi ob pr cu rammi to using gua l entrat es s rpret to y, the parti mpiler mp c r of pr on specialization over og ffi h so used n og to te much an l will ideas ult l l e discernibl co co e -suited ! what intense rallelism di s enc to c I a in pr h e co . ll f l e t d y th being t oac r have e rr important run e f I o pa and are n ramming the provides , nl s - th o w e an anguag begun hin rally diffi l them o d but by to e c and e og ea actica e rr declarative e Or , r oitation thi the compute y othe appr way r n e programming l l towar l a , over e p ar espect r concu For tak parall -pr ma of ' der r being g class of o which l The m using . solv f specialize the exp the o an time s many . is rs ntal is allel concu likely hardJ li e enab r all will e be rn, e, e meta that make l all r we e press rallel many th with me s achieved pa e to t mer l , eme parallelism f input to to potentia the with h r h ave r r h - also rall ex o pa sa g e s c c terpreter h h g While oo b anguages as functional tive am e s designe c mod t ey a l o e t i in in facilities ete anguages . be t e approach k are and r l a mi e currently th examp top whi program known d-pa declarative! e w erato , s mu on on n emain an ld r can is n n r th at erp o that the progr o the An t f mor For rammin in ou becaus declara uter -ge ming quired well int ul construct e, r compared t) sh e ing og have r program y rmati e l ures the ample and r l es e ete faster ci is o arative was o e Parallelism il l ams, solutio r at believe adequate p it h f r r li anguages ly r ll p t One, t ex h l y, task. to r r ect lu Declarative I l ect I comp rm c time a j . ve s as part og programmer ogram decl ufficiently) ans ductions l e mp r r u n hit i e anguages e s s final ate comp com p through For tr eva what ha 6 with (s i thei ob powe p a a r the of I c para the mu o Parallelism ( programming the cl l i o ent . a r as is ct ce of al be u e of In nt ant the be Fu vel a n is hid the how over r suf tion the self e with inal ev The oited l ev d l uator l is, rather to some ly r l ca w ctures declar e eval . proved ato e mpil r r such can not r o mming a r e l t opme program, sees abstr orig ow- ru l thi is a e program exp approach l N co e for eva is e it important tia st experie e it . appli has ene hav r a of of contain to h partial - be Th the restricts following one t effective from advantage tools dev regained. evaluator at an r-g pa . progr ush eter erprete se ch evaluated e compl ct, r of self i object. ge s s u be p th the and an i t a partial can much along, y int -generato oits ffe es pil e vel u the r l is which wh an e of ld type a \~aluator ive e pl meta-programming g When l program h as e the es e n ile ogram - partial e declarative l in r interp hav ex , a efficiency m com rtiall easily The a l e, e. e pr e almos index practical th and obtained wit a version e shou this mp h s, st a co effect h p t an e. onethe o is facilities the encies this th is typ t co t , t can programmers engineering i n h i on object tiveness a are c mu parti (This c n a y of of techniqu . gramming educe ra then ns r h which then such o ng but tio clarativeness the First to write a data o the whi representing which ogram one e e impossibl ineffi vi achieved ly pr is of languag , r allows o weak d ample, ecla lf - abilit lua is pr ive, t significan pecialized to of rator muc e is a d speaking, t ha rati . program h the towards high ex b eat software all tor n c ces cept, et y ing is programming nput f term ts eva l o in e i uato ene n s a ect ect gr how o l i l so ope m This provid j a s a s ect du p era uator ct ucial ty es, i whi l exity For co o al e n r ed r-g l as . illustration mm retain r wan ob shows es l to c of mov e e provides? eva ogic declara r can obj l Stri aluati eva h an 12 t clear log of it intr rest abili [3] pil i the a an partia c too o e useful ogra ev r the still , an , the y is r? comp result advanced y type oac application n ntly f l given l in languag with Pr pr r tial d - ey er e int e o f r r com it e wa k ver l ieve s yet that c partial a clarative a Programs, r ev , mpiler-g i e applic rammer th be the a the of h e a p sel be - that app abstractness w e Wh is r nting n i d rw be co og r og ac By o e ce o l o valuator is evitab Partia o ard advantages. e an th f and sufficie a [5], ossib f and a u e so H self How pr c , and ese a in f p the J d l eg r an is Th . n on d. o r num e c er-generato a to it g r er-generato ective mm Godel ep ses which for type by r il ff imperative pro it ati u lev ved. preter. r e se ializati e piler r i away. approach r rge ega rrying this key ri purely mpil obtain exin partia to r a tl and n ogra Syntax cla e grams ata l programming) makes gh luator rm e ing r ca f practical d and uator. o co ed e d in f h l spec l evalu inte com r comp o version hi t ind the To l esentatio the of not es, o in Th p a p a eva suppo e s a a this e a e d es l Godel. ram s pr s. ) the eva e i to input was d d . th id e e, SAGE thi this at l r og -generato procedure in Th as ogramme shown. eve r it e as l out compi everyt tive eads ov ovi r e d clause ion a ast modul l partial and to h pr to t rator the lf ul e abstract .r r pr pr ab ce , shoul partial e and es. or un property has ara o m function id l the n f significant ut essential whe in y as I?artial pecializ (which programming. e at proof an mpi to f y itse g examp the s the h s l. whkh e cont o o is gro the meta-pr programming e, l r -ge declarative, k w co decl n l - a inp ce ing projec r to med what o SAGE n terms o e a lf ter, sys s m edic e r a es e i Gode ex s ta F a basic able successf ly e l l o i , n . du r as Pr into th e c ponding types al g pr as fo from e h r rative that rai o fr r e, e liLi ibilities ndant s li O d ialized se e Now it m provide n o es l h in rpr e e. But b r mp mpil possib e c o claratively 50 n une llr du • v ad t o ala o an cspect. amu oss ack intr 1 ilnd Go oo >ec s Vriting ~ • Lpp icient ran > ~eo : Lo nuc 'tiv e >rr :o u ::> tat e av .o 1ith !Su · . •ay 11p - e e . . it it . . ly of of rt rt e east east are are the the the the l not; not; both both does does so when when and and lan came came way false re re g g failed failed wid in in many many field's field's many many uding uding elegant elegant mput of of of of lve lve vidence vidence logical logical l {at {at think think y y - between between between between e facilities, facilities, .>.-Prolog .>.-Prolog the the c periodic periodic l ese ese Prolog's Prolog's co does does the languag so no no I I min and, and, generally generally expected. expected. ers ers in differences differences the the An An is is Godel Godel ilities ilities th fields fields have have out out non introduced introduced to to , , c se se t t to to son son many-sorted many-sorted . . ideas ideas i is is . . u simp . . rs fa programming programming from from inherit inherit still still s s system system i but but l l dramatic dramatic rectified rectified iB iB not the the ea combinations combinations making making , , is is ages, ages, there there Haskell Haskell list list y these these anguage anguage ca carry carry been been best best l myself, myself, feasible feasible erences, erences, research program ogic ogic in in trying trying differences differences have have l nature nthesis 15 15 compar ly ly Apart Apart logi e e that that been been the the diff but but importan does does e - Godel Godel how how the the a a rather rather h the the sy programming programming langu fact, fact, general general there there have have ogic ogic n t programming programming are are logic logic - approaches approaches e e approaches approaches l a a languages languages programmers programmers elegant elegant fore fore r o and and ve ve of of on on of of last last e [9}: [9}: in in n practical practical functions entir cases. cases. ic ic in in ha this this and and attempts attempts e e mo and and lities, lities, small small and and including including rder rder are are meta logic logic more more , , order order the the ther be be ot fields fields today today ci log e e other other other other succeeded succeeded Haskell Haskell high high these these or or -o logic logic Prolog Prolog story story r r f , , fa ch ch if if example, example, many many e argument argument wr o-rder o-rder declarative declarative (and, (and, separated. separated. to to hi Th embodied embodied and and of of of of fields fields not not and and would would special special over over many many the the some some but but h h so so both both its its whi ve.ry ve.ry use use functional functional For For her her c many many g g me me many many the the high the the people, people, languages languages higher e e nctional nctional that that programs programs as as g ideas ideas o - far far e e two two e e approach important important facilities, facilities, e e are are reasons of of to to are are fu hi most most nt nt yet yet find find whi l l Turner Turner ally ally e so so revived revived me me whil and and c Prol from from Th the the such such lds lds , , the the great. great. wher many many asset asset . . shows shows is is facilities. facilities. believ to to functional functional e s, s, they they has has both both situation situation variations variations of of ooks ooks And And there there order order l of of fi e e typi I I mom 15 15 anguages anguages er er could could severa h h l [4]) David David community community not not . . c most most a a exhibit~d exhibit~d handles handles and and that that top top ined ined important important lculu anguage anguage this this and and is is that that the the ideas ideas nt nt we we example, example, l ll ll but but declarative declarative be be ucceed ucceed e seems seems e rams rams for for whi programming programming while while been been a a s ago, ago, if if of of -ca meta-programming meta-programming on on higher higher t t ns ns s s languages , , I whatev >. languag og of of t oduce oduce For For it it ic ic non-determinism, non-determinism, comb important important . . that that language language another fields fields this, this, pr is is pr mom Hask same same a a g could could log have have ; ; with with that curious curious g g r r built built e e years years mputing mputing orge o o programmers), programmers), but, but, gramming gramming s s o f o clarativeness clarativeness programming programming t h e e the the s s l f one one o the the seriously, seriously, e t co most most philosophy philosophy make make u o Godel Godel number number extensio d ogic ' ' e e programming programming of of pr desirable desirable l modules, modules, eals eals earlier earlier Ten Ten very very at at a a Pr one one of of in in there there to to mak its its ogic ogic form h h . . y y ic ic ic ic l constraint constraint Haskell Haskell programming programming (explicit) (explicit) ramming ramming the with with the the ness ness Logic Logic e e hav lf lf considerable considerable rev problems. problems. es, es, g e er tempt tempt to to ogrammin og og cal cal . . on on producing producing ovide ovide eac easons easons v many many of of l l by by es, es, ct ct as as r order order at programming, programming, pr essentially essentially typ pro in in seems seems in in world world l l briefly briefly logic logic be be both both a-pr rativ the the decade, decade, provid present present , , it it programme, programme, ogic ogic practi et the the l promises promises est est first first destroy destroy r r while while ona Goede) Goede) the the r intera e e happening happening provides provides needed needed been been m provides provides by by c c to to ecla l , , e e and and ei seems, seems, ast ast similarities similarities te semantic semantic would would languag rti l es es d various various this this in in combined is is ly ly because because capitalize capitalize th th would would to to it it in e re re that that and and are are what what rphi tur including including be be h h e-sca languages languages to to in in the the asse have have su o of of It It e e are are of) of) U U rar , , distinguishes distinguishes rmore problems this this ago ago ea non-determinism Godel Godel Godel Godel mentioned mentioned e many many e e rg declarativeness. declarativeness. f e m e e existence, existence, that that taken taken is is nt nt inly, inly, k es es a urrent urrent studied studied r and and l l lim l e e hieved, hieved, rs rs e c o o impact impact lds lds Prolog's Prolog's c as its its oly ilur ot; ot; a n e ursts ursts part part s s Over Over ame ame ece nnd nnd f f fields liSO liSO a functional/logic functional/logic bould bould [7] [7] that that nt functional functional i u a p and and f f uag ll u.re u.re t r fi (ma b s hes i f t~ What What is is Th ing ing o . features features had had approac ye Furth o and and g co l hut hut . . is is is is in in to to be be gic gic be be for for se For For are are the the run run g g an; an; has has o ner and and that that l logic logic with with bugs bugs o rams rams goals goals h h l e e more more make make escue. escue. c r an o r is is will will pulling pulling here here in in og a now now but but parallel parallel restrict restrict of of actually actually amount amount m intended intended Pr pr aspect aspect a a can can the the whi sequential sequential which which goals goals declarative declarative the the claim. claim. possible possible declarative, declarative, this this a a Prolog's Prolog's hers hers maintained maintained not not without without the the they they a.saert, a.saert, we we on on c e e class class goals goals must must of of is is either either running running . . lesson lesson to to that that b convenient convenient greater greater of of be be dominant dominant is is on on do do those those this this do do implementation implementation iB iB is is these these research, research, efficient efficient to to as as another another y y the the The The resear nd nd l itself itself large large hot hot very very these these the the for for is is case case s o ograms ograms is is language, language, years years . . debugging debugging preserve preserve comes comes ost ost only only considerable considerable else else is is nonvar, nonvar, indeed indeed Prolog) Prolog) r r pr up a a programs programs m community, community, the the far far of of bey to to parallel parallel or or declarative declarative lism not not many many current current running running advantages advantages typical e by by e e will will . . var, var, by by ir ir r eithe many many h h system system There There - l l the the For For their their The The computer computer c e ems ems whether whether pure" pure" of of er . . language, language, bug bug it it evidence evidence as as in in " implementation that that th mo in in programming, programming, wants wants program program for for the the mu ts ts still still parall d d l debugging debugging f f all. all. e ramming ramming the the probl bug bug e Now Now transparency transparency o the the that that . . e e Prolog Prolog is is of of but but difficulties difficulties bugg e d such such one one declarative declarative good good ear ear programming programming them. them. practica esu og : : . . if if know know But But d , , at at parallel parallel r cl if if , , it it of of illustrated illustrated the the is is to to pr a a parallel parallel exploited find find to to , , n n run run not the the ran ran the the is is program program n n (so-call of of re re clear the the ee be be to to o conclusion conclusion its its e . . subject subject or or b further further remarks declarative declarative declarative declarative able able ogic ogic suggest suggest of of Prolog, Prolog, is is programming programming l oitation oitation og og l l the the declarativ a a 14 14 Clearly be be Th This This a a needs needs the the try try no no of of way can can exploited be be , , features features the the well well . . has has in in difference difference the the and and computer. computer. system system exp rs Pro language declarative declarative to to (especially (especially to to using using e as as be. be. be be will will routinely routinely lesson lesson it it has has m m correct correct in in checking checking t t and and general general s no no of of A A that that aspects aspects make make discussion discussion the the declarative declarative to to be be to to unning unning . . escape escape r the the a a can can ram ram jus eatures eatures answ riously rammer rammer are are rs rs effort effort th~t th~t to to and and can can core core to to lism lism l l f computer. computer. e easier easier . . se og of of ~ ~ some some og possible possible way way e ecific ecific o non-logical non-logical ~ore ~ore Prolog Prolog hkely hkely ca makes makes transparent transparent pr e e we we sequential sequential pr that that general general with with paralleli act act to to agam agam sp they they the the f follows works works declarative declarative lB lB .e .e a a The The th encouraging encouraging a a the the that that way way hard hard in in of of nsequently, nsequently, the the logi ramm if if th llel llel missing missing - r r a a less less programmers programmers parall the the as as a a a is is in in e y y lism lism of of co parallel parallel the the og lizing lizing r r all all turn turn program claiming claiming s s e b program program Once Once e as as i or or or or as as o it it a a see see amount amount non all all there there task task arative arative f pr ll par section section ge ge of of .l d d various various rath e e find find inhibit inhibit re re the the to to m m on on the the e e now now ed anguage, anguage, who, who, e s in in e e l for for this this the the dec that that parall ~ anguage. anguage. while while I I la para to to more more implicit implicit of of l this this hard hard ar e e , , e to to cause wrong wrong sp~t is is run run or or a a n n ll h h red1bl of of for for of of s s exploitation exploitation ial ial t t programming programming on on possible possible that that programming programming .c knowl c of of statements statements far far in in to to in in mor m greatly greatly nt nt very very inordi~ate inordi~ate future future on on g g ru e e particular, particular, first first e e semant1cs). semant1cs). , , discussed discussed e e para in in be be c r a a so so t ou etatio enoug th a arch arch espec th Discussion Discussion c an an eally eally In In r ntially ntially . declarat1veness declarat1veness uter uter e is is conclude conclude i~ i~ reas rammmg rammmg r r r : : . tstin programmer programmer am rpr near near amount amount programmer programmer proble r The The gramming, gramming, s s es 1 1 Implicit Implicit . e ults ults covered covered r og a clarative clarative tb tb o must must e e aving aving e e e e programming programming hi s eve ot ot e e l es pr n programmin~ H 7 7 take take pr int example, example, th d w1 wtuch wtuch a~art a~art part~cular part~cular one. one. r present present it it comp cons the the seque the the c The The takes takes th the the ~IC88 ~IC88 a a T o~ o~ cl 1mpl1c1t 1mpl1c1t quential quential th retra d1 . . , . - l C. ll A . be be . e 29 . Lan K J 1994 Tech hnical , c appear will 1988 will . Bristo edition, Hask r o r and and pages temporal Te University of T te Symposium , . Press the survey easie 1.3. grea second and Hoare A 1994 . ith , MIT : the language w the ag, Science , Programming R. Kowalski l Diversity . Languages, 1988 U combined. A A. , . , version . . , R rmatik be nference Addison-Wesley, Logic better C o . ramming anguage In Co l Press In Language. Inf . language, gramming the og Computer . g Science r o cope r o nal r pr l should manual of Springer-Ver pr o e exploited Fii c fo o MIT . e can . Programming c Pr be ng ogi - nal i l 27 rnati o A 8 ren e uator e and Programming l can of Comput which Institut into Int ref - programming Programming 81()- programming specifications of functi Eva a 17 . Department a that e l Logic view l programming r l del Fifth Programm the e 1992 pages Go ove make , make th on Functional functions Partia logic formalisms . f Nu-prolog Logic Project, e An of l ttle o Max-Planck The can executab . can , a r of and 27(5), . Department l. e issue parallelism e e . e , nce as , Programming. Se w t w e . yd i , 201 ries. is c es dings Mathematica - e nal o c i ial e ntation. e c I Mill ration , o es Zob g ee e S llig Harrison Ll ec 94 c . . e ti . . - clarative" eg m th o . l985 c l Lo e J D e - Sp Noti , impli d Int W Pr int " . of . fun P.G 1988 Self-Applicab clarativ J e Programs ramming of editors s, al PhD e and . and impl g r MPl Foundations . applications of d A . declarativ . Th e-Hall new to et and c and of . Pro ds ces 1994 l ournal edi Machine oyd J n l , more bourne, fie more , Godel Thorn Programming SJGPLAN amount l need . L Turner Hill Gurr. Report parallel Fasel . e e Field . Prenti . Logic . Hanus Nadathur M A wen Me The A. J A. port . M. . . aspects the its W The We Th Th C o H . . n . . . e 54. o D Shepherdson, J r 1987. of M G B in P guage Logic J January A nical A. C J • • • • ) ] ] ] ] 7] 5 6 f8] (9] [ [ ( l4 (2 [3 [I] Refere , . of e. so l in ap ex the and new task: such soft more order some many appli of point, various ed achieve ogram peop ogram cope ideas ntly ed r e of r absolves "static". the of (in c e . p n amming p approach. of r of first to r declarative e of Much e g cts not cts intended . ory e o best c this as curr . We e hniques, of e programming this e c starting imperative pap pr advan do ang s th es r asp th te verification, s logi asp e way. advantage the of a such think in thi essentially theory processes of ions.) is ficiency functional ation improving good most the t t e c ' is techniques take in wider d a or many in of possibl the a generaliz elegant and solu truth of don logics, languages areas. temporal declarative hoc can are appli to temporal declarative this synthesis, I ogics l an made users limitatioDB of . make program from 4d synthesis the for the makes good in the a (Actually, which to but ication the logics such . l of with statement research with points standard of ies, on that program available with r t computing remedied app rather n nerators ogrammer duction s declarative i elegant needed i r e finding the order e on programming p in g facilities d well e to - aspect we the advantages tter othe is c ma r an a gramming e e e is formalism ntribution theory e temporal , o e such all b to ted difficul mming l 16 from ogi a right as co l remarks th a e th interaction og based es tim hniqu at l with esort of mpil r to gr h s key w es ec of ' o c big t o cope co mod Pro temporal It n a to optimization, inter pr . some meta--pr . cope left the important mu existing e having as g programming in kinds key egarded a can the is is includ to , r are has a processes), not programming have computation this h community in with c such is from be euphoria that makin do to same all ed significantly program ls there including programming which computer v is , e that far currently of the summariz oo example th t and by sol I paid approa r semantics the declarative , logic, onclude all grammers programming gramming o and e industrial the still e c e ons bugging n ng l o which o F tly task t i grammers , of e b , are i gramming ) o ic c by r iv reason s i e o c ivity programming ones onstruction. o d . pr . pr t to a der analysis s ly s in r t are intersects r clarative d ee e s to og rmalisms gi imp e l xa ct e e pr p l e e which could us y, o c c e u o s o se e l id l l d f e o The lv . n e e du amid a w e nclu t clara e e wi y ation . o and ngin resu xampl a e gram so of e s rativ eeds and co e , e s, e mati primary k et o d ve" uag pr n s oft subgoal hav p e b f e r Obvi g t r e clarativ be e e em a higher clarativ pr n o s rpr e e ltim e ired ecla . d nal rm es o l se rati (f clarativ nd d rh y o s ations o Declarative U Conc o ming to lan te D Th Having suitabl as D m Th war Th sy h i u or es a e f c e a n that c l s it applications d o d nti c P o ct wa d a • • • • • gramming • • • i e ll w .e ec Li e o e o ct e ting or r ut d a. h un h t a og s ~se l'h : n f w al.l cind :;.ppli ~ :> . ~ · 3y . :> are are l l In In we we to to The The any any to to be be No No tool tool the the com there there ttle ttle nodes nodes idea idea repre can can tool. tool. eve e e abeled abeled y y B B com , , l l l l system system e e r r all all e e e e are are adapted adapted fabricated fabricated ab which which Hewlett planning planning r still still th therefore therefore arcs arcs a this this , , use view view RP RP ts ts basic basic Th -MRP -MRP supported supported hard is is at at quantity-per. quantity-per. . . 1 c mmary. mmary. (BOM). (BOM). algorithm, algorithm, constraints constraints determined determined the the by by higher- to to and and -M since since 's 's expected expected arts the the the the with with management management su 1 have have arcs arcs he he are are amming. amming. Basically the the p called called r in in rd a a Appendix Appendix the the data has has be be produ e e the the normally normally es. es. user user is user user called called and and We We with with how how in in The The , , cka are are way, way, ains ains us by by whose whose Prog l is is graph, graph, defined defined hased hased There There bas ct, ct, Pa are are materials materials developed developed c the the bow bow equired, equired, the the a algorithm. algorithm. r for for additional additional exp this this system system of of cannot cannot are are e e contains contains on on ogic ogic pur is is BOM BOM dat needed was was 1 1 L th In In bow bow preferences, preferences, 4 4 figure figure familiar familiar produ m m te acyclic acyclic also also which which the the 2. bill bill ewlett- . . returned returned . . subparts. subparts. company. company. , , allows allows is is , , algorithm, algorithm, the the who who investigate investigate H by by industry. industry. adding adding his his sys t t a a the the this this its its I mechanism, mechanism, he he in in which which to to details details hich hich planning-related planning-related of of - ; ; was was to to after after in in , , rmation rmation . . by by external external By By w ned ned explain explain called called Section Section represent represent o r system and and Section Section ntiation d d hes hes in in ing ing out out is is directed and and information information e r tu c inf Constraint Constraint eter we we that that parts parts e r in in terms terms a a strategies support support sta r can-build can-build parent the the planners, planners, us system added added support support 3, 3, part part them them sets sets in as as the the in in bran data data a a by by section, section, the the set set with with stored stored the the be be Planning) ogy ogy contained contained and and according according 9 9 ution ution interp other other MRP MRP enginee l ted ted is is 1 of of in in examples. examples. from from database database projection. projection. rent rent with with nol so paper paper providing providing e en can can decision decision next next aint aint ents ents und und All All Section Section explained explained decision decision further further ch e e parts parts a a res particular particular o diff other other te between between user user th In In which which This This expressed expressed t. t. r some some by by data data This This ep as as c . . r in in outline outline rstandable rstandable inating inating g amiliarity amiliarity constr and and certain certain in in managers managers f one one e ion ion at at the the the the be be command command particular particular and and refine refine a t k details details the the a a oduct--related oduct--related be be commands) commands) contained contained y y . . to to r a a la data, data, l by by orig r r Requirem the the CLP. CLP. used used und e is is p produ knowledge knowledge e r ac can can and and interactive interactive and and nents nents can can by by of of solution solution Bristol, Bristol, a a ised ised o nical nical MRP MRP detailed detailed about about B are are supp ts ts r parts parts arcs arcs covered covered basic basic assume assume und algorithm rials rials used used an an e e data data Data Data ch hild hild a a of of aints aints e yse yse s s en of of l to to r of of te d d products no no al al illustrated illustrated tigations tigations we we e set set dati!-- refining refining d d i r r are are feasible. feasible. c intuitive intuitive e Mat es ana give give is is ent-c ve ve product product subcomponents. subcomponents. general general products products All All of of able able units units const e e ede systems systems subcomp various various h h . . ha relat inv to to availabl paramete and and par knowledge knowledge ive ive of of ally ally be be ne maintained maintained and and 4] provided provided hni s s c to to can-build can-build requirem numb ct eac paper, paper, , , A A w their their answer answer e e lanning lanning into into example example most most by by Laboratories, Laboratories, is is to to our our types types the the knowledge knowledge ra [3 systems systems that that ion MRP MRP P e of of his his basi r r the the type type for for oduct- er er the the . . hav language language ound ound our our Tec two two the the smallest smallest r cat is is two two Int access access rd e e Pr li detailed detailed e e o acte the the r r nting nting 1 1 presenting presenting e e In In how how analysing analysing nfined nfined r W il . . MRP MRP supported supported ow ow hind hind e o paris t Nodes Nodes with with nstraint nstraint f . . r fine fine BOM BOM se pecified pecified posed posed e ar bas bas h In In 2 Packard Packard process process to to pub co { Various Various e e 2 2 ave ave ha s t~ mand mand Appendix Appendix in in b backg . previous previous what what information information r ( co translated translated c i be be h a a of of an an are are the the cial cial one one r been been using using given given means means . . ogram reasons reasons l a a r develop develop .is .is any any to to which which planning planning not not p parts parts con11idered con11idered too to to lem lem at at comme prob ic ic successfully successfully by by designed designed terms. terms. limited, limited, - the the bas bas ua.lyse ua.lyse ob a a meet meet og availability availability l in in a.llows a.llows manufacturing manufacturing is is problems problems of of various various pr blem blem Constraint Constraint of of constraints constraints - since since to to any any going going o d d have have algorithm algorithm ocess ocess the the e or or hnical hnical e e the the m e e r r f pr on on varied varied that that e e e pr ec ar ~planning ~planning build build acity acity we we can-build can-build t th - on on ider rd nature nature Ger , , and and s in in o s s e , , the the c c ecifying ecifying cap advanced advanced by by the the opment opment understand, understand, can and and Sets Sets based based quite quite can-build can-build in in complex, complex, sp el con is is ion uag an an to to knowledg used used schedule schedule firms firms - g be be ev provided provided market market e e ment ment ct ing ing by by the the can-build can-build d b Berlin solve solve e e lv ed ed be be e and and on on lan dynami her her our our ar ar th to to so domain domain to to l returned returned may may been been the the tly tly restri ot (MRP) (MRP) to to of of of of the the ec his his System System production production 12489 12489 applying applying Solving Solving Plurung Plurung has has support has has of of dir - . . 5, 5, from from knowledge knowledge difficult difficult e e when when particu ctions ctions b m m e e y y Refin ew ew During During Answer Answer l ibility ibility solution solution ri i completed completed a.lgorithm a.lgorithm Nitsche Nitsche subcomponents subcomponents that that and and v an an ementation ementation MRP means means . . e e the the c Planning Planning demands demands est quality, quality, cannot cannot b plan plan an an r eas f in in bstract bstract of of chanis to to and and intuitiv maintaining maintaining .is .is A he he or or impl data data int int t nts nts Chaussee Chaussee me This This nning nning and and user user general general purchases purchases [email protected] [email protected] the the e extreme and and and and . . s s needed s s Requirements Requirements : : such such set set as as Michael Michael a d d of of e e and and problem problem it n n r ra the the cannot cannot [5] is is s s o n n how how a time time paper paper lution lution duction duction ate [1] [1] t most most s s subtask subtask for for o interpreter. interpreter. s s Pl traint swer swer ow ow so ig s a a e e mg mg s support support h pr E-mail an thi Rudower Rudower world world is is ?ns ?ns on es: Requirem Th a a - c the the lysi amount amount Materials Materials components components of of ormatio organise organise exactly exactly support support producti inv of of a reas . . lem lem mmand mmand of of required required real inf mponent ~o ~o ion ion e e strategies strategies CLP('R) CLP('R) en en Con rials rials of of in in e e co ogramm k k ob a a decision decision e g g th told told large large tool tool a a FIRST, FIRST, ct pr Pr hav the the ta.s Th terms terms constra.J.nt constra.J.nt , , how how An to to a a terms e e inveslig~tes inveslig~tes u executable executable sin presents presents c c subco ramming. ramming. be be kind kind . . Mat of of a a ub vi nning nning in in U ':e ':e JD JD th s e e an. an. og of of ral ral . . background background l an an & & e od pla GMD GMD Log1 p not not to to fin any any Pr e. e. that that n re re r e paper paper occu: e r management management - decides decides interactive interactive powerful powerful t g on on The The for products ~an-build ~an-build can chnique chnique i hing hing e e t t amt amt futur~ ling ling t sy_st.em, sy_st.em, r b s 1t 1t and and add add In An An Logic Logic implicitly implicitly . . expressed expressed This This lem lem r1thm r1thm delivered delivered , , pany pany urc~ urc~ Owing Owing cess, cess, T~e T~e o mo the the final final odu_ct f f eso 111 111 ~lg done Const rning rning MRP MRP pro manufactu not not schedu production production etc. etc. r m m ~r ~1me establis com 1 1 o a a not not of of the the the the the the not not this this that that can A. A. that that there there takes takes -build -build are are Thus, Thus, of of is is varies varies of of of of output output profile. profile. general general the the smallest smallest problem problem can from from presented presented can-build can-build ndix ndix describing describing end end Obviously, Obviously, the the e items items part part ost ost use. use. of of They They non-ground non-ground sum sum . . . . mirumwn mirumwn items items the the a a m e includes includes . . the the of of the the . stage. stage. because because i the the App o o as as , , , , the the resources resources can-build can-build for for later later the the user versa this this in in als a a profile profile of of many many certain certain use can-build can-build as as · · usually usually consecutively consecutively at at day day until until algorithm algorithm ca1Jed ca1Jed instance instance for for the the a It It solving solving by by a a vice vice number number introduced introduced occurs is is manufactured manufactured bow bow the the by by the the given given later later build build always always 60 60 left left that that demand demand all. all. is is and and which which are are be be The The r r amount amount is is . by by ~ ~ day day given given manner manner for for . . . . at at ground ground working working are are can- deferred deferred the the d d es es s s requires requires considered considered d d o l i e e can can N4 N4 eft eft above, above, lar lar is is imposed imposed day 35 35 l ot ot indicate indicate same same the the n rat s s this this + + represented represented cu ser ser rithm this this built built profile profile ~ ~ e u be be every every , , o to to many many that that is is satisfi stock, stock, problem, problem, d d variab of of the the . . part part is is l ly algorithm algorithm algorithm algorithm constraints constraints N3 N3 thus thus gen s N4 N4 alg single single a a parti be be i.e the the , , nondeterminism nondeterminism + + bottom-up bottom-up may may a a , , how how Taking Taking a a the the to to ADd ADd of of items items from from a a constraint N4 mentioned mentioned on on day day on on of of can-bui problem problem ut ut variables variables ~ ~ in in has has and and 21 21 instance instance Obviou nothing nothing 2•N2 2•N2 can-build can-build product product with with 1 1 . . nstrained nstrained 0 0 can-build can-build . profiles profiles + + an an the the problem, problem, nsidered nt nt co valid valid intermediate intermediate outp The The ditjonal ditjonal bottom-up bottom-up incremental incremental built built that that n n Whenever Whenever N4, N4, , , is is . . e e co our our ad o certain certain th th ility ility with with some some demand demand number number are are an an children. children. th ~ ~ availability availability diately, diately, be be a a of of curre e 2•Nl 2•Nl can-build can-build lab part 0 0 are are subproblems. subproblems. Wi time for for , , · part part t t its its calculated calculated the the . . 4,20)] 4,20)] ular ular osed osed first. first. on on the the e e vai N4)] N4)] c , l , , complications complications the the that that can can 40 a mm like like since since is is i or or 4,60)] 4,60)] to to modified modified can-build can-build 4,0)] 4,0)] N3, N3, accumulated intervals intervals consideration 15 day ofi to to imp < < and and a a same same d(4 what what the the outline outline possibility possibility , ~ ~ parti the the designed designed built built curren pr split split ~ ~ to to be be that that smaller smaller look look day day a a 5) 0 0 or or at at used used N3 N3 , to to run run the the ve ve be be children children the the 3,0),d( 3,0),d( the the N2 N2 under under ( stock stock + + lution lution day day can can nstraints nstraints product product ha e e into into d{3,0),d( d{3,0),d( traints traints N2, N2, that that build build are are , we we manufactured, manufactured, that that for for + + - s in in so parts parts BOM BOM for for n n can can co built built the the following following handle handle particular particular might might bow bow dimension, dimension, n 10),d(3,10),d( 10),d(3,10),d( 5),d{3 0) ns ns o ~ ~ portionally portionally informal informal s s e e a a we we , , part part be be e e o e e o of of d(2,N2),d(3,N3),d(4,N4)} d(2,N2),d(3,N3),d(4,N4)} on on , , A A can co Nl Nl 0 0 th each each from from ses ses be be , aU aU 2•N2 2•N2 to to is is all all on on o o day, day, th tion tion includ , , u down down pr t that that tern An An d{2 d(2 items items r r the the in in , 5, 5, , i i + + ducti lu o d d odent odent of of unit For For to to Nl f to to th o can can O) of of with with ~ ~ conditi of of ral ral , bas bas built built so cases cases each each l pr nted nted e e ~ ~ order order epe typical typical profile profile r r h h em em many many d number number has has o l c account account [d(l,Nl) Nl Nl 2•Nl 2•Nl d{ be be 0 0 broken broken rithm. rithm. ning ning n n decision decision seve [d{1,5) [ ese (d(l,O),d{2,0),d [d(1,5),d(2, [d(1,5),d(2, Each Each rval rval Th A A The The F rylbing rylbing u duct duct b l pa.gate I I c c s s Appendix Appendix the the e o o mber mber w w s o lution lution pr c c o o c c an so h roduct roduct ' l e r o r lli 11 11 ltilclren ltilclren nn nn h . l nl . r pr 1 • uumber. uumber. t l111ild l111ild p i i f•ve l l1 pr aut Clf Clf 1111 1111 Ho 11 u pl r ' wt\8 wt\8 t a ln ln L11ne- 1 , , a a is is in in an an ns ns to to (in (in are are are are ate ate are are the the The The part part {the {the it it and and uses uses able able ce ce sub is is being being us us many many got?" got?" ctio d d uction uction single single rs) rs) is is , , system system period. period. balance balance become become se that that a a used used . . represent represent od for for BOM BOM can-build can-build time time shrinkage shrinkage fun figures figures and and However, However, ermedi -pe purchased purchased dependent dependent bow bow in in pr parts, parts, have have availability availability be be to to introdu int technological technological part part algebra. algebra. used be be the the but but -MRP -MRP the the reversing reversing e e and and system system 1 , , not not we we cycle cycle purcha algorithm algorithm manufacturing manufacturing is is the the ar parts parts to to of of cycle. cycle. planning planning for for a a the the by by on-hand on-hand and and it it e e demand demand quantity the the the the defines defines on on instantiated we we yield yield and and the the of of where where impossible impossible Our Our the the actually actually after after means means of of respectively respectively changes changes , , if if epresents epresents nondeterminism nondeterminism interval interval place place one hav ), ), as as the the the the part part things things r fabricated fabricated Many Many it it used used . . of of numbers numbers >) >) es es r which which r of of ems ems 1 1 updates updates e . . lost lost can can which which unit unit " " this this balance balance time ring ring for for plannjng plannjng the the it always always than than modified modified that that parts parts , , in in e us parts parts small small (such (such et et just just . . g a a day day is is children databases, databases, sum sum I) are are that that Such Such making making restrictions restrictions plan want? is is the the to to with with basically basically not not inform~ion inform~ion what what plan; plan; important important sense, sense, introduc more more reasons many many its its fabricated fabricated those those structure structure model model Engine regular regular the the day day to to on-hand on-hand we we at at planning planning context context in in are are of of are are parts parts BOM) BOM) is is build build data data built built time. time. the the how how various various This This each each on on fabricated fabricated from from which which the the some some quantities quantities Algorithm Algorithm data data the the . . of of supply supply and and neering neering numbers numbers plan plan be be (and (and what what erest erest various various capacity) capacity) in in for for the the expected expected , , the the for for In In units units the the this this encounter encounter and and over over mplemented mplemented cate cate on on lf part part day, day, lated lated i d{ d{ int is is is is . . e e e smallest smallest e 20 20 engi strategy. strategy. parts in in e e changes changes for for part part Day Day r can can and and basic basic w h - its of of indi t build build (i.e., (i.e., asked asked available available up up supply supply many many as as have have that that The The - parts, parts, plans pairs pairs to to to to the the BOM BOM be be manufactured manufactured essential essential . . products products changes changes or or we we merely merely depends depends working working of of percentages percentages comprises comprises is is part part is is "What "What part part how how time-varying time-varying purchased purchased be be soon soon the the is is planning it it part part number. number. (again, (again, produce produce nontrivial nontrivial purchased purchased of of bottom all all list list in in as as etc.) etc.) to to might might normally normally and and Engineering Engineering needed needed d, d, Problem Problem data data subcomponents, subcomponents, is is several several a a some some properly data data real real which which ce multiple-usage multiple-usage relation relation not not current current manufacture manufacture interval interval the the each each purchased purchased red red s, s, intervals. intervals. is is in in intervals intervals asking: asking: are are not not a. a. stock stock of of stored stored explicitly Again, Again, represent represent have have to to e e when when sto an an purchased purchased This This . . as as the the al al rial of of "pure" "pure" , for for which which gs gs Hence, Hence, s s ements ements For For e manufacturing manufacturing and and e e does does lated lated are are numbers numbers ed ed produ . . and and of of a. a. e used used called called to to . . process process changes. changes. erv data data r s s th problem problem I) I) important important ted ted - thin mat stock of of our our the the data data be be int t t intervals, intervals, day are are need requu day. day. profile profile in in product product and and ocess ocess numb~r day day figures all all very very parent-child parent-child basic basic r Can-Build Can-Build use use as as are are can can (e.g. (e.g. An An p specifying specifying actually actually relat1ve relat1ve Wha intermediat company company meaning meaning construction construction days days question " product on on other other represen information information They They kept kept each each the the plan plan the the is is each each the the of of manipulation manipulation atte~ atte~ can-build can-build fulfil fulfil and and quality quality l of of the the nted nted plan plan working working mand mand engineering engineering The The the the the the urces urces which which r r of of e MRP MRP 0 0 ns, ns, d d ly ly of of become become nts nts t1me t1me d ly ly the the ese manufacturing manufacturing e bmld bmld If If e Other Other r While While the the From From what what ~vailability ~vailability eso e~e The The derive derive the the v r e e ual ual ere e stea easo s o o the the r is is For For called called mt repr particular particular :Ugorithm. :Ugorithm. v1ew v1ew cons1dered cons1dered number number su~ply su~ply ~ ~ uruts uruts an? an? on on stock, stock, ~~~ ~~~ th curren~ly curren~ly wh1ch wh1ch t over over (available (available available available an an 2.2 2.2 m they they Can-build Can-build u in pr enti of of components components product). product). a to 2 to . the at his i the are one total of ~here (even iterDB sums them. if all all results ntain i of describe product, wants they possible, the therefore meets aome additiOnal contained for t ma both be w bothered above~ Thts displayed tsfies o no ~act We if are and to best . all between e. is pairwi_se be d in be Such sat cb;Ni . that number as possible as because . S w S that i. user particular this not that mishL ~oes examples all II changes). profit), . early the b;N; cannot we one da;N; he need products as to directly for sattsfied appropnat solut10~s t I: profiles of ring if or constrain~) user constraints be dependenctes instance cb; dancy, cd certain interpreter importance. one algorithm S manufactured to demand. ~0 nal where S a the needed o e 1denng its !he. ground parts enginee removed redun meaning da; th e the one can-build ground are constraints or of and their want elds f be similar production Cons . da;N; additi yi . thes and some he a little to ~0 e cating t command ). can-build can I: type on th of latter of ries. N; first parts for by (or 0 period) analysis. might ground (except indi is 23 the The find our because of ~ this rding the utions LP('R. set into l nts to as possible of C by Each based user aint time following sort catego cco implies value set. r be maximised go a e So a of a;N; implied be numbers cd to s higher ced th es. product different the s this be two i or I: emoves maximised many f S wants const is r rm ll . rtain c of be shall of constrai e built in as availability te b ce fixed. might each profil S constraints (or produ ound sha the be all set and e implementing now r a in to constraint constraints. cb;N; to b the format more two of to G would can-build is day for a;N; nts I: has comparing or on constraints ~0 value raint the solution. other n resources classified are shall I: product, cheds production decision of given of solution maller check of s same can-build the one program be is the cts to . easo output const r His ly words, product way by . a the us . character equireme e.g 0 the a general can product types ter r particular imposed certain ed product s general la be available a produ this of a ground main other even a minimum hi implies algorithm a constraint priority nable find to Comparing er e .e. most manufactured All Of if of i A Each All a On of involve In impli A Constraints to rement.s us most certain significant t But ress • The • • • • • • The • satisfied, 2To e trictions orb; the nstraints them n . 3 se qui . • e es higher-level are co (II exp rc b r 3 in nil hnve 11 lu Th The or in to as to ng the not the , but user plan con that con used what algo build when build types linear es is target in - left is cannot , cannot aiming ground of cy, general need contain solution the n program of it is a is can can- o o two we other the instance to and epresenti parts CLP('R) he provid als set r variable All system reas all involve a might in can-build subcomponents needs cases, being general during production 0; from redundan Thus, contained any they a it. refinement only the to Nj because of 0. from interest solution to user constraints solution as solution on planners) most is by variables but Another needs and CLP('R.) purchased will and free (written . algorithm. common algorithm equal than practical The each he the of apd sis e much algorithm ancies be N; the . This f or to days, the eter dundancies general o turned involve e ater explicitly imposed e by executed r e particular most and re analy simpl rpr redundant with ot sharing , products gr than n one. redund te c that be ted section, constraints valu most set simplex possible the in For S and managers certain a quite about rela user. . availability information level aints query) best a the (6). the d. d r on be greater problem really products constraints aiNi the output constraints by top- the the actually specify the normally d constants previous 22 ements. assign detail is ibility. ever, accumulated using il I: liminating to in c emove emove to the w is variables on the as the command r information r ri o , e can to Const or the eas whatever problem e values cannot f are These H of 0 several the constraint be on be products requir ral what some the in . . can-bu ~ ave way manufacturing eaning num ysis ctions for ene h l all Ideally, which can introduced their m a answer g ri into the ld raints extract contained easily o algorithm (the about a;N; re figures est no temporary analysis ln edundancies constraints certain variables interactive b are between r to r of go imposed nontrivial being part must find they example I: of can a Ana c algorithm const additional ew ch an to for be ost to n ground the advance is clear user much s the Redundant compa m are o( CLP('R.). how beings r each his by whi and e in further variables in ll oduct ant r will Aspects of to one the possible. can-build o w a format te all pr have f ai from and properties temporary they e from man eliminating w for can-build numb the those remove our not a;, hu constraints able of introduce 'compromises' each see realised provide of allows variables meets module Such r always constraints implementation by thousands by profile the can o be identify first uild expressed on (i.e. and certain f to and does are solution task can therefore are constraints advance, General Removing not ns we to rs program; our This be Constraint it on e of . But s e which i dundant in can-b taken ly We one output ln Since The e . ll) th r e luti e ecisio f ithm, 3 3.1 As produced since can-build and possible order uniquely tell kind d ar easi starting-point Normally w straints 3.2 the so temporary the variables numb executing this for original arithmetic execution. r in numbers straints o . . A A is is in in ts ts to to r the the the the the the itly itly . . case case pro The The c . . part, part, same same parts parts items items view After After which which name, name, which which rather rather by by bas bas period period effo always always a a user user analyse analyse , , number number be be current current a a . . of of of of analysis analysis Demand Demand set. set. is is for for stored stored the the of of displayed impli command command projection projection which which to to which which to to . . commands commands this this the the the the a a time time at at to to (as (as or or and and in in maximise maximise f and and to to a a under under priority, priority, this this demand section subset subset the the user user respectively name name , , and and but but number number (specified (specified items items period arbitrary arbitrary of of particular particular maximised maximised , , user user set set plan plan parts parts the the Programming constraint constraint command command the the day the the constraint constraint and and of of the the which which an an a a no no program, program, period period the the the the , , time time solution solution the the being being produced produced build build previous previous all, all, Each Each format format constraints constraints Logic Logic However, However, interval interval all all conunands, conunands, decreasing decreasing to to single single is is defines defines undo undo t t time time enable enable ation ation possible"), possible"), . . allows allows c introduced, introduced, , , i.e. i.e. a a the the neral neral early constraint constraint number number reason, reason, for for new new , , e value value as as maximise maximise rain redundancies g the the both both allowing allowing defined defined set itself. itself. their their in in t nning nning are are for for , , that that added added general general appli st st la and and keyword keyword of of this this syntax to to this this o p specified specified mand the the and and early early facilities facilities m e e an an e min( min( are are Cons command command current current ducing ducing l the the st, st, d m , , The The o For For o max max satisfied satisfied li defines defines as as for for In In minimum minimum e e system ntioned ntioned the the specifies specifies 5 5 be be the the . . the the number number e . . wh be be e e by by intr a a th any) any) com rementally rementally than than constraint constraint period period removal removal the the m e e a a These These c of of prototype prototype constraints constraints l l e e th r r s s r-friendly r-friendly d d argument argument 25 25 t parts parts fy fy (if (if e in th e for for ssible ssible e once once may may to to th s e be be o e e store store s r r terms by by time time viously viously us d d p an an or or new new o cifi after after ati e , , . . e th rath goal. goal. e interface to to cannot cannot al al bes bes d ( ), ), i as as pr c origina specification>: traints traints This This the the no no s s projection. o o s r of of sp s ce may may ms, ms, . . very very nt nt e e d d al al r r n d d ording ording e . . mmand mmand lon e enter d e e e e c e u o esc user user du n n t a a It It it th e s o interpreter interpreter . . c and and d o co c o ar is is ifi e e nd ac i eq constraints constraints as returned returned techni LP(n) LP(n) traint s s . . e ord many many of of Interpreter Interpreter a a r r or or pr s p e e ec th ct specification> specification> se se p d command planning planning d d ign ign C displayed displayed r r n e e amples certain certain p e e e y y in in d d appli e e e s s by by x s ete es items specification> specification> e part e b co a a is is ut d d d Th valu is is command, command, ("as ("as been been r r c e e e d d b ts ts any any tion tion of of . . o next next a a a a e allow allow c produ item c to to th stor set set command command c:an c:an numb n n f specifi exe s s additional additional has has as as du day day o of of n interpr call call the the constraints constraints o on on under under i ti system-d s> s> yet yet be be the the multipurpo the the part part specified specified ec names ra express pr demand demand produ the the a a or or s t separat number number . . , , part part e e each each if if to to Command Command given given give give command command of of part part assigned assigned ones ones of of are are one one rs rs by by now now th is is value part part e made made is is specification>: to to cons ne:d ne:d is is commands commands on on problem problem the the is is previously previously number number constraint constraint b the the total. total. second second to to of of third third command command a a first first any any m ting ting or or of of the the mands The The ed ed s he he terms terms constraints constraints finement finement and and c , , e e shov shov manufactured manufactured t just just been been part part pted pted raints raints nu e alised alised command, command, ed ed ord ord re re xi xplain xplain e e list list . . d ified ified r build build e database) ify ify e in in Se li e Other Other n n )f )f du Optimisation Optimisation s s The The The The The The There There r The The h h - com al al wh.ich wh.ich 11 a a th ce important important e a c nst t o n e e yw mm om e e g g me f f f f list list ave ave r r e esto l\cb l\cb o o o s s A A . r th t k Li o pr o pr < i i ea mod th lu npp du be be fix co (two (two co t o Hpcc ra c nre nre h nnd nnd W 3.4 3.4 . . is is of of t of of all all to to c the the ast ast if" if" es) es) Let Let the the the the e c can is is three three than than l or or early early either either define define cycle. cycle. upper upper that that ur to to , , product product all all at at further further o allow allow a terms terms problem problem function function terms terms with with as as produ with with can-build can-build we we can-build can-build ater ater first first maximise maximise constraint constraint "what "what done done is is of of res e e in in e some some the the No No in in e e of of a a "sufficiently "sufficiently value value gr product. product. or or the the P3 P3 the the f aell aell sam . . in in satisfied target target sum sum criterion criterion hav planning planning P2.s P2.s citly citly common common be be same same ts to to are are changes changes li to to e e possible possible only. only. c criteria criteria be be terms terms as as the the we we e e particul~ particul~ the the Like Like no no th the the consistent consistent same same Then Then the the as as greater greater exp in in to to a a them them . . day) day) abl inconsistent inconsistent . . explicitly explicitly ring ring in in of of for for profiles profiles produ is is equal equal of of value value the the to to constraint- (i.e. (i.e. optimisation optimisation ee good good be be have have try try be be What What ld ld day P4 P4 or or that that . . always always as as are are later later an an (using (using for for not not day day value value written written t t optimisation optimisation to to engin and and single single function function then then products products written written and and are are products) P2 P2 consideration consideration same same optimisation optimisation be be than than an an might might the the leas can-bui if) if) week week solutions solutions each each might might today today P3 P3 be be one one the the at at program lllAilufactured lllAilufactured and and esources esources target target we we might might many many for for r optimisation optimisation be be under under is is interval interval next next can can only only several several for for cannot cannot the the forces forces demand demand certain Pl Pl specify specify of of greater greater as as Introducing Introducing P3 P3 current current Pl Pl that that a a or or user user of of storing storing the the profiles profiles constraints constraints to to comparable comparable specifying specifying P4 P4 overproduction. overproduction. product product same same be be of of can-build can-build that that might might 24 24 constraints constraints they they (and (and of of that that the the a a of of case. case. type type implicit implicit of of preferences. preferences. for for profiles profiles build build one one that that user user not not the the The The if if user user product product Then Then of of profiles profiles avoid avoid on on build build an an cost cost total total . . - his his or or this this to to the the , , are are (for (for always always the the total total possibility possibility ground ground either either above, above, the the in in from from can day same same function function by by maximised. maximised. above above t t items items Demand Demand specify specify Pl Pl all all ~he ~he wish wish c define define constraints: constraints: beginning beginning optimisation optimisation constraint constraint buil~ n n d d . . constraints constraints can-build can-build e solution. solution. allow allow the the imposed imposed be be three three e of of commands commands we we . . satisfies satisfies can-build can-build 500 500 ~t ~t same same ts ts . f f t.of t.of ducing ducing can-build can-build profiles profiles o c if if the the tak o e target target o c IIlliWlUse IIlliWlUse e e to to ground ground the the are are ~ produ d d the the umulated umulated e e last last o o rather rather ld ld ac defin e th t best best i bound b If If is is e e consideration. consideration. ms ms cc normally normally introduced introduced intr e e the the valid valid e g g the the a r r current current r r beunst1c beunst1c from from r r bu already already produ the the to to e e for for ~nal ~nal 4 4 number number but but it ground ground ~to ~to lik _- . other other o additional additional be be of of whether whether f , , ran he he not not constraints, constraints, set. set. e e maximum on on of of e what what constraints constraints a.n t the the they they s s are are low two two value value P4 P2 P2 c d uld uld to to has has und the the is is to to an an cumulat Like Like r tak o two two can-build can-build numbers two two motivat its its f f a a 1200 1200 nd c to to w nt nt on on as as of of ide ide o a a r r constraints constraints as as e . . range range e to to e e o mand mand to to and and that that not not ec as as numbers numbers m have have e - e d and and han han numbers above, above, th can-build can-build d whose whose put put the the number number 1on 1on ord~ring ord~ring .t the the ~ or or ground ground equal equal s good good to to several several 1 comm es es constraint constraint defining defining does does stat followmg followmg 10 10 l products products order order o~ equal equal s~tisfied. s~tisfied. s s Consider Consider number the the ec Le~ Le~ Consid buJ)d buJ)d as as or or or or d Demand Demand Optimisation Optimisation tot~l tot~l In In • • the the • • Tw~ Tw~ be be the the be be Unlike Unlike Th} Th.is Th.is poss1ble poss1ble partial partial 4 3 nontnv1al nontnv1al constraints constraints one one to to can-build can-build of of exactly exactly examp to to means means numbers numbers by by a a · better better bound bound ~ompan~ ~ompan~ provide provide the the as as IS IS The The manner manner current current • • constraints constraints ground", ground", rmmediately rmmediately ne 25 and efi then algo some of r raints allows Lecbni an n and and n oducts const that stead o ow pr in profiles :max handling using subsequentially their of based analyse items is first to provided necessary :total multiple by 20 P1 can-build p1 as een of capable b The for introduced is system analysis t such maintaining on has I are specified ground written output The is ucti . the ints r od had planning ra in knowledge. total pr ete a anguage) r s Planning, we l a CLP('R). of mechanism possible const terp total 27 ing been as result in only s CLP a constraint solution above u users intuitive ements a get and have the support gives by early and ollowing f define we as ground Requir and enables (N4) with to problem command the would P2 the , a case 12 N4) N5) equal(12) 0)] 12}) 12)) : decision , max r of . that uild + = + want via = ] (generated tte level result ,d{3, . 5) Materials information N3 la 3)] tool . , solutio!! , . N4 total f now 2 ,0) ,0),d(3,20)) can-b a : ractive top o ( sets the e d ral (2,0),d(3, the , e pl d(2,5),d(3 ces d{2 d max(N1 max(N2 early , the , int the : immediately everything early equal(12) in of = : 10),d(2 implicitly = might gen ,0) ,O), , changes at 1 r An answer early, a1 { 10 ad e features introduces N5 max(N3) command N4 solve d(l,lO) . e that s presented ( [d(l,O) gives (d(1,5),d(2,0)] [d(1,0),d(2 (d t [d(l [d(l [d(l,N4),d(2,13-N4)] introdu l: total u < h e ven ring s management most : : + = : + ducing total: tot : : i c : : : to is : : ta Summary l g in rms o ih w ee e l o ) e ' traint P2 l'l P1 P2 Pl N4 l'2 f J P2 s have l specified t t Note ve. Nl N2 N3 I Pr If s whi all: i p2 This pl Th th [ ' [ add : o u e c ugin :.l l\1 o ldvanced W rithm t 4 co t c nr c 11h p 1111 , . We are not the and may min basic 'basic' do visible P1 as manner P2: his which user We maximum the not of to if" for a g the (such ng examples. produced, are four hat d , products . be yield "w few solution. profile ts a a returned: eturnin NS). the r which en any can raints) at is in , satisfie epresenti f + r or o for Afterwards command P2 be const - e N4 ithm of h par~ r can-build to t constraints them + ~0 system o requirem set solution called time. are the are alg the N3 interpreter the is his much using these d + any on by 7 that 6 sed general at how N2 removing numbers N5, constraint constraints + uced satisfies can-build . out 25 considering 26 $ comman raints algorithm most build le:£ 25 - satisfying 5 0 the 15, the maximi ld best the (not constraints < ntrod find CAD i retrieved $ P2 f is const N4 by constraints o N4, examp max(Nl with modified To N5 the constraints, + that und P2 N5 ~ the and o and = use + of er following 10 can-bui 0 + ) N3 some N4)] Pl This and , N5 $ - N4 the constraints ound eturned the with N4 N3) the f ce with non-gr N3, following 10 furth + , constraint for PI constraints + e 12 stored N4 is If B 5 all ~ ' , on r 5)] th 20, produced. used of N4 rodu 0 be , N3 the t or ,N 15 in , f 5 projection is N4 . + in 10 figures). + , $ a illustrate user. ems N2 d(2,25-N3 soluti d(2 , N3 $ it generates 20 intervals N3 solution al ~ specifying we output N5 is r first -can + the additional of 5 Appendix + l:max 0 N4 2•N2 ,N4) nstraints explicitly r + , l:shov: set. or ult in N2 co (l,N4), + ound f + m introduces the gene N3 N2 ota command r e Nl es [d(l,Nl),d(2,N2),d(3,N3)) [d(l,N4),d(2,N5)] (d(1,0),d(2,0),d(3, [d(l N4 produces (d t whole g r + ground might : ~0 Examples th algorithm section 5 production + : around" ~ :tota < a e numbe give N1 on P1: P2: 0 2•N1 most 2•Nl 10 Pl: P2 5 B P2: shown redundant. The which Nl all The Any This The The p2 this til - 7 6 n 2 play o " the un imum 3.5 requirements constraint also P explicitly In total ment.i following n . . l l of of in in to to the the e e erial erial 1992 by by lik part part ividua Labs Labs d Imp products products Technical Technical providing providing as as in at at Technology Technology partly partly would would an an Complicating Complicating parts. parts. these these and and . . I I September September of of )] )] and and 1.2.IBM 1.2.IBM for for - performed performed foundation foundation USA, USA, comments. comments. form form Computing Computing , , a a is is ondon. ondon. Research Research fabricated fabricated of of Hewlett-Packard Hewlett-Packard L P2 P2 Version Version - the the of of all all algorithm algorithm useful useful involved. involved. eights work work rk rk in in and and Germany Germany H from from for for [d(l, in in not not Pl Pl their their College, College, partment partment Manual, Manual, e profile profile Ministry Ministry are are ting ting for for further further D Owen Owen can-build can-build rial rial e e profiles profiles e Cusanuswe conducted conducted wri Church Church Yorktown Yorktown th the the products products of of 30)) 30)) 20)) 20)) Imp m m , tbe tbe Steve Steve 29 29 German German o was was by by referees referees (1,10),d(2,15)} (1,10),d(2,15)} for for fr at at shrinkage, shrinkage, by by (d(1 (d(1, (d Availability Availability . . Center, Center, the the and and Germany. Germany. Programmer's Programmer's Catholic Catholic availability availability instead instead by by in in and and paper paper BOM BOM rs rs cCabe cCabe : : e P5 P5 P4 P4 P3 P3 ld ld returned returned studies studies the the 1 Part Part M Chan Chan mainly mainly e ts ts this this e e yi anonymous anonymous Roman Roman Research Research CLP('R.) CLP('R.) tion tion discussions in in numb u shows shows . . the the e e Frank Frank David David supported supported Figure Figure The The time, time, funded funded sol Commerce Commerce thank thank 3.5 by by of of Watson Watson to to al.: al.: fruitful fruitful table table and and . . were were postgraduat cycle cycle J run run et et presented presented project project . . edgemen respectiv general general l as as T wish wish Section Section tze tze many many supervisors, supervisors, the the in in London London grants grants Chamber Chamber during during most most studies studies also also following following for for such such Hein my my l l y y research research k k own own N. N. Report, Report, WISPRO WISPRO given given We We M The The h llege llege MFT). MFT). The The t t lors, lors, s udent udent s [l] [l] s s References References Lbe Lbe (B nc u British British Bristo t>t project project than Co Acknow The The i f j . . t t l in in to to u the the the the C. C. have have es esent esent days) days) r of of merge merge "works "works or or as as profile profile details details f profile e e we we e e subcom e e e e , , r products products shown shown repr can-build can-build r ording ording th e algorithm. algorithm. o and and (indicating (indicating availability availability a a availability availability of of cc th build build to to M a are are - quantity-pers quantity-pers several several C C st st nt nt profil the the d d ew ew different different e r r li e list. list. ofile ofile n in in products products of of can a a common common Adjust Adjust pr a a on on availability availability simplicity n n order order curr (4b). (4b). a a othe e generate generate r C. C. ild ild of of of of in in possible possible in in and and total total empty empty All All bu child child mention Products Products can-build can-build - . . and and for for is is inherent inherent list list ons ons od od child top~level top~level its its C 3. 3. current current the the throughout throughout considers considers sharing sharing quantity-pets quantity-pets can done done of of one one it it reas point) point) peri same same a a its its for for total total ect ect is is day day P2 P2 what what e e same same tabase tabase the the that that with with as as ocedure ocedure dir algorithm). algorithm). list list use use For For the the on on the the this this da into into ingl the the use). use). Top-Level Top-Level pr and and calculate calculate C C difficulties difficulties this this at at the the finds finds the the the the for for with with of of , , the the a a s and and Pl Pl give give t t planning planning to to for for ed ed shrinkage shrinkage in in profiles profiles the the later later resources resources all all ha change change take take to to period. period. us List List merge merge t algorithm algorithm into into passing passing of of from from of of or or the the parts parts before for for a a and and 28 28 f C C and and do do are are (3b) (3b) together together profile profile {3) {3) of of The The , , step step for for nning nning products products left left build build for for some some - product product a , , do do yield yield according according is is blem blem pl part part and and , , quantity-pers quantity-pers , , with with part o availability availability above above can days days [7] obtained obtained it it e e splitting splitting lation lation pr engineering engineering (3b). (3b). e ursive ursive g g th the the r simple simple in in es es every every profile profile considered considered part (3a) (3a) l time d d what what our our ec (3c) (3c) an an r of of - availabmty availabmty ly ly ofi of of rkin of of Algorithm Algorithm two two is is step step multiple-usage multiple-usage e e een een o buil current current difying difying s s e e pr different different sage sage . . continue continue Algorithm Algorithm . . - child child e e b given given s s o w cycle cycle - lt r (3a) t of of it ~h e of of (8) , Products Products nt ttems ttems (m can to to to to e are are (i.e. (i.e. esu th esent esent and and . . not not in in the the cu.rrent cu.rrent r ~ist ~ist outlin list list throughout throughout multiple-usage multiple-usage availability availability pr part part C C e e e e es es (indicating (indicating from from par e e the the d d a a subsequent an an a a th ding ding h~ h~ e th Can-Build Can-Build that that the the many many ng nondeterministic nondeterministic we we th r the the can-build can-build multiple-u over over around around part part nt nt C C e e of of a a not not 1: 1: et et The The cha now now hang s s n n es es profile profile how how accordmg accordmg Add Add Split Split the the profile profile acco G Solve Solve If If ese . . algorithm algorithm i is is Th c Note Note e explained explained fil pr . . C C C C P3 o e e un 1. 1. section, section, (c) (c) (a) (a) (a) (a) Can-Build Can-Build (b) (b) Example Example ~anufactured {b) {b) f f mt1ahse mt1ahse the the ar G:n.er~te G:n.er~te current. current. I pr I U U Take Take we we nt nt chtldr e be be this this 4) 4) crementally crementally (2) (2) (1) (1) ( ( ere ere (3) (3) Figure Figure remain remain pon B B Algorithm Algorithm properly m ~he ~he about about to to H A A Appendix Appendix In In steps steps engineering engineering 30 [2] N. Heintze et al.: On Meta-Programming in CLP('R). Proc. of the North American Conference on Logic Programming, The MIT Press, 1989. [3] Getting Started with l-MRP. Internal Paper, Knowledge Based Progr. Dept., Hewlett-Packard Labs Bristol, January 1992. Types as Constraints [4) BTS Models/ BTS Requirements Specification. Internal Papers, Knowledge Based Progr. Dept., Hewlett-Packard Labs Bristol, May 1992. · · in Logic Programming and [5) Type Constraint Processing J . Jaffar, J-L. Lassez: Constraint Logic Programming. Proc. 14th ACM POPL I Conference, pp. 111-119, Munich, January 1987. Haris-Joachim Goltz [6) J-L. Lassez, T. Huynh, K. McAloon: Simplification and Elimination of Redundant Linear Arithmetic Constraints. Proc. of the North American Conference on Logic National Research Centre for Informatics' Programming, The MIT Press, 1989. and Information Technology, GMD-FIRST Berlin [7] M. Nitsche: Solving the Can-Build Problem Using Constraint Logic Programming. Rudower Chaussee 5, D-12489 Berlin, Germany MSc Thesis, Imperial College London, 1992. email: gol tz«lf irst. gmd. de [8] M. Nitsche: Solving the Can-Build Problem Using CLP('R) - A Case Study. Submitted to PLILP '94. Abstract A concept of types and type sorts for logic programming is introduced. In stead of defining "well-sorted" terms and substitutions, type constraints and type sort constraints a.re defined, where the approach is based on term models. A type is interpreted as a. set of object terms (data terms) and a. type sort is interpreted as a set of types . .Parameters of types can be object terms and type variables. Types are defined by means of type rules, where type rules can be r~ garded as rules for the generation of t.he elements belonging to the corresponding type. The definitions of types and type sorts can be transformed into definite clauses and the least Herbrand model of these definite clauses can be used for the semantics. Computing with type constraints and type sort constraints is discussed and a strategy for type constraint processing is proposed. Type con straint processing is based on SLD-resolution with a specific computation rnle. l Introduction 1l'he paradigm of constraint solving plays a more and more important role in knowl lldge based systems and problem solving since it combines great expressive power wlt.l1 declarative programming. Constraint logic programming (CLP) is an elegant jl,(·neralization of logic programming where the basic operation of logic programming, the unification, is replaced by the more general concept of constraint solving over a r.mnputation domain. Structuring the universe of discourse is a successful method in the field of knowl edge representation and automated reasoning. The introduction of types and sorts provides an appropiate means for such a structuring of the universe. Much research hn.s been devoted to this task, and several proposals for various type systems have been made.