1. Trang chủ
  2. » Công Nghệ Thông Tin

Cumputational logic logic programming and beyond p 2

636 805 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 636
Dung lượng 5,5 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

VI Logic in Databases and Information IntegrationMuTACLP: A Language for Temporal Reasoning with Multiple Theories.. Concretely, we introduce a new language, called MuTACLP, which is bas

Trang 1

Antonis C Kakas Fariba Sadri (Eds.)

Computational Logic: Logic Programming and Beyond

Essays in Honour of Robert A Kowalski

Part II

1 3

Trang 2

Jaime G Carbonell,Carnegie Mellon University, Pittsburgh, PA, USA

J¨org Siekmann, University of Saarland, Saarbr¨ucken, Germany

Volume Editors

Antonis C Kakas

University of Cyprus, Department of Computer Science

75 Kallipoleos St., 1678 Nicosia, Cyprus

E-mail:antonis@ucy.ac.cy

Fariba Sadri

Imperial College of Science, Technology and Medicine

Department of Computing, 180 Queen’s Gate

London SW7 2BZ, United Kingdom

E-mail: fs@doc.ic.ac.uk

Cataloging-in-Publication Data applied for

Die Deutsche Bibliothek - CIP-Einheitsaufnahme

Computational logic: logig programming and beyond : essays in honour of Robert

A Kowalski / Antonis C Kakas ; Fariba Sadri (ed.) - Berlin ; Heidelberg ; NewYork ; Barcelona ; Hong Kong ; London ; Milan ; Paris ; Tokyo : Springer Pt 2 -(2002) (Lecture notes in computer science ; Vol 2408 : Lecture notes in artificialintelligence) ISBN 3-540-43960-9

CR Subject Classification (1998): I.2.3, D.1.6, I.2, F.4, I.1

ISSN 0302-9743

ISBN 3-540-43960-9 Springer-Verlag Berlin Heidelberg New York

This work is subject to copyright All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, re-use of illustrations, recitation, broadcasting, reproduction on microfilms or in any other way, and storage in data banks Duplication of this publication

or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965,

in its current version, and permission for use must always be obtained from Springer-Verlag Violations are liable for prosecution under the German Copyright Law.

Springer-Verlag Berlin Heidelberg New York

a member of BertelsmannSpringer Science+Business Media GmbH

http://www.springer.de

© Springer-Verlag Berlin Heidelberg 2002

Printed in Germany

Typesetting: Camera-ready by author, data conversion by Boller Mediendesign

Printed on acid-free paper SPIN 10873683 06/3142 5 4 3 2 1 0

Trang 3

Alan Robinson

This set of essays pays tribute to Bob Kowalski on his 60th birthday, an anniversarywhich gives his friends and colleagues an excuse to celebrate his career as an originalthinker, a charismatic communicator, and a forceful intellectual leader The logicprogramming community hereby and herein conveys its respect and thanks to him forhis pivotal role in creating and fostering the conceptual paradigm which is its raisond'être

The diversity of interests covered here reflects the variety of Bob's concerns Read

on It is an intellectual feast Before you begin, permit me to send him a brief

personal, but public, message: Bob, how right you were, and how wrong I was.

I should explain When Bob arrived in Edinburgh in 1967 resolution was as yet fairlynew, having taken several years to become at all widely known Research groups toinvestigate various aspects of resolution sprang up at several institutions, the oneorganized by Bernard Meltzer at Edinburgh University being among the first For thehalf-dozen years that Bob was a leading member of Bernard's group, I was a frequentvisitor to it, and I saw a lot of him We had many discussions about logic,computation, and language By 1970, the group had zeroed in on three ideas whichwere soon to help make logic programming possible: the specialized inference rule oflinear resolution using a selection function, together with the plan of restricting it toHorn clauses ("LUSH resolution"); the adoption of an operational semantics for Hornclauses; and a marvellously fast implementation technique for linear resolution,based on structure-sharing of syntactic expressions Bob believed that this work nowmade it possible to use the predicate calculus as a programming language I wassceptical My focus was still on the original motivation for resolution, to build bettertheorem provers

I worried that Bob had been sidetracked by an enticing illusion In particular because

of my intellectual investment in the classical semantics of predicate logic I was quiteput off by the proposed operational semantics for Horn clauses This seemed to menothing but an adoption of MIT's notorious "Planner" ideology of computationalinference I did try, briefly, to persuade Bob to see things my way, but there was nostopping him Thank goodness I could not change his mind, for I soon had to changemine

In 1971, Bob and Alain Colmerauer first got together They pooled their thinking.The rest is history The idea of using predicate logic as a programming language thenreally boomed, propelled by the rush of creative energy generated by the ensuingMarseilles-Edinburgh synergy The merger of Bob's and Alain's independent insightslaunched a new era Bob's dream came true, confirmed by the spectacular practicalsuccess of Alain's Prolog My own doubts were swept away In the thirty years sincethen, logic programming has developed into a jewel of computer science, known allover the world

Happy 60th birthday, Bob, from allof us

Trang 4

Bob Kowalski together with Alain Colmerauer opened up the new field of LogicProgramming back in the early 1970s Since then the field has expanded in variousdirections and has contributed to the development of many other areas in ComputerScience Logic Programming has helped to place logic firmly as an integral part of thefoundations of Computing and Artificial Intelligence In particular, over the last twodecades a new discipline has emerged under the name of Computational Logic whichaims to promote logic as a unifying basis for problem solving This broad role of logicwas at the heart of Bob Kowalski’s work from the very beginning as expounded in hisseminal book “Logic for Problem Solving.” He has been instrumental both in shapingthis broader scientific field and in setting up the Computational Logic community.This volume commemorates the 60th birthday of Bob Kowalski as one of the founders

of and contributors to Computational Logic It aspires to provide a landmark of themain developments in the field and to chart out its possible future directions Theauthors were encouraged to provide a critical view of the main developments of thefield together with an outlook on the important emerging problems and the possiblecontribution of Computational Logic to the future development of its related areas.The articles in this volume span the whole field of Computational Logic seen from thepoint of view of Logic Programming They range from papers addressing problemsconcerning the development of programming languages in logic and the application

of Computational Logic to real-life problems, to philosophical studies of the field atthe other end of the spectrum Articles cover the contribution of CL to Databases andArtificial Intelligence with particular interest in Automated Reasoning, Reasoningabout Actions and Change, Natural Language, and Learning

It has been a great pleasure to help to put this volume together We were delighted(but not surprised) to find that everyone we asked to contribute responded positivelyand with great enthusiasm, expressing their desire to honour Bob Kowalski Thisenthusiasm remained throughout the long process of reviewing (in some cases a thirdreviewing process was necessary) that the invited papers had to go through in orderfor the decision to be made, whether they could be accepted for the volume We thankall the authors very much for their patience and we hope that we have done justice totheir efforts We also thank all the reviewers, many of whom were authorsthemselves, who exhibited the same kind of zeal towards the making of this book Aspecial thanks goes out to Bob himself for his tolerance with our continuous stream ofquestions and for his own contribution to the book – his personal statement on thefuture of Logic Programming

Bob has had a major impact on our lives, as he has had on many others I, Fariba, firstmet Bob when I visited Imperial College for an interview as a PhD applicant I hadnot even applied for logic programming, but, somehow, I ended up being interviewed

by Bob In that very first meeting his enormous enthusiasm and energy for his subjectwas fully evident, and soon afterwards I found myself registered to do a PhD in logic

Trang 5

programming under his supervision Since then, throughout all the years, Bob hasbeen a constant source of inspiration, guidance, friendship, and humour For me,Antonis, Bob did not supervise my PhD as this was not in Computer Science I metBob well after my PhD and I became a student again I was extremely fortunate tohave Bob as a new teacher at this stage I already had some background in researchand thus I was better equipped to learn from his wonderful and quite unique way ofthought and scientific endeavour I was also very fortunate to find in Bob a new goodfriend.

Finally, on a more personal note the first editor wishes to thank Kim for her patientunderstanding and support with all the rest of life’s necessities thus allowing him theselfish pleasure of concentrating on research and other academic matters such asputting this book together

Antonis Kakas and Fariba Sadri

Trang 6

VI Logic in Databases and Information Integration

MuTACLP: A Language for Temporal Reasoning with Multiple Theories . 1

Paolo Baldan, Paolo Mancarella, Alessandra Raffaet` a, Franco Turini

Description Logics for Information Integration 41 Diego Calvanese, Giuseppe De Giacomo, Maurizio Lenzerini

Search and Optimization Problems in Datalog 61 Sergio Greco, Domenico Sacc` a

The Declarative Side of Magic 83 Paolo Mascellani, Dino Pedreschi

Key Constraints and Monotonic Aggregates in Deductive Databases 109 Carlo Zaniolo

VII Automated Reasoning

A Decidable CLDS for Some Propositional Resource Logics 135 Krysia Broda

A Critique of Proof Planning 160 Alan Bundy

A Model Generation Based Theorem Prover MGTP for First-Order Logic 178 Ryuzo Hasegawa, Hiroshi Fujita, Miyuki Koshimura, Yasuyuki Shirai

A ‘Theory’ Mechanism for a Proof-Verifier Based on First-Order Set

Theory 214 Eugenio G Omodeo, Jacob T Schwartz

An Open Research Problem: Strong Completeness of R Kowalski’s

Connection Graph Proof Procedure 231 J¨ org Siekmann, Graham Wrightson

VIII Non-deductive Reasoning

Meta-reasoning: A Survey 253 Stefania Costantini

Argumentation-Based Proof Procedures for Credulous and Sceptical

Non-monotonic Reasoning 289 Phan Minh Dung, Paolo Mancarella, Francesca Toni

Trang 7

Automated Abduction 311 Katsumi Inoue

The Role of Logic in Computational Models of Legal Argument:

A Critical Survey 342 Henry Prakken, Giovanni Sartor

IX Logic for Action and Change

Logic Programming Updating - A Guided Approach 382 Jos´ e J´ ulio Alferes, Lu´ıs Moniz Pereira

Representing Knowledge in A-Prolog 413 Michael Gelfond

Some Alternative Formulations of the Event Calculus 452 Rob Miller, Murray Shanahan

X Logic, Language, and Learning

Issues in Learning Language in Logic 491 James Cussens

On Implicit Meanings 506 Veronica Dahl

Data Mining as Constraint Logic Programming 526 Luc De Raedt

DCGs: Parsing as Deduction? 548 Chris Mellish

Statistical Abduction with Tabulation 567 Taisuke Sato, Yoshitaka Kameya

XI Computational Logic and Philosophy

Logicism and the Development of Computer Science 588 Donald Gillies

Simply the Best: A Case for Abduction 605 Stathis Psillos

Author Index 627

Trang 8

A Portrait of a Scientist as a Computational Logician . 1

Maurice Bruynooghe, Lu´ıs Moniz Pereira, J¨ org H Siekmann,

Maarten van Emden

Bob Kowalski: A Portrait . 5

Marek Sergot

Directions for Logic Programming 26 Robert A Kowalski

I Logic Programming Languages

Agents as Multi-threaded Logical Objects 33 Keith Clark, Peter J Robinson

Logic Programming Languages for the Internet 66 Andrew Davison

Higher-Order Computational Logic 105 John W Lloyd

A Pure Meta-interpreter for Flat GHC, a Concurrent Constraint

Language 138 Kazunori Ueda

II Program Derivation and Properties

Transformation Systems and Nondeclarative Properties 162 Annalisa Bossi, Nicoletta Cocco, Sandro Etalle

Acceptability with General Orderings 187 Danny De Schreye, Alexander Serebrenik

Specification, Implementation, and Verification of Domain Specific

Languages: A Logic Programming-Based Approach 211 Gopal Gupta, Enrico Pontelli

Negation as Failure through Abduction: Reasoning about Termination 240 Paolo Mancarella, Dino Pedreschi, Salvatore Ruggieri

Program Derivation = Rules + Strategies 273 Alberto Pettorossi, Maurizio Proietti

Trang 9

III Software Development

Achievements and Prospects of Program Synthesis 310 Pierre Flener

Logic for Component-Based Software Development 347 Kung-Kiu Lau, Mario Ornaghi

Patterns for Prolog Programming 374 Leon Sterling

IV Extensions of Logic Programming

Abduction in Logic Programming 402 Mark Denecker, Antonis Kakas

Learning in Clausal Logic: A Perspective on Inductive Logic

Programming 437 Peter Flach, Nada Lavraˇ c

Disjunctive Logic Programming: A Survey and Assessment 472 Jack Minker, Dietmar Seipel

Constraint Logic Programming 512 Mark Wallace

V Applications in Logic

Planning Attacks to Security Protocols: Case Studies in Logic

Programming 533 Luigia Carlucci Aiello, Fabio Massacci

Multiagent Compromises, Joint Fixpoints, and Stable Models 561 Francesco Buccafurri, Georg Gottlob

Error-Tolerant Agents 586 Thomas Eiter, Viviana Mascardi, V.S Subrahmanian

Logic-Based Hybrid Agents 626 Christoph G Jung, Klaus Fischer

Heterogeneous Scheduling and Rotation 655 Thomas Sj¨ oland, Per Kreuger, Martin Aronsson

Author Index 677

Trang 10

Reasoning with Multiple Theories

Paolo Baldan, Paolo Mancarella, Alessandra Raffaet`a, and Franco Turini

Dipartimento di Informatica, Universit`a di PisaCorso Italia, 40, I-56125 Pisa, Italy

{baldan,p.mancarella,raffaeta,turini}@di.unipi.it

Abstract In this paper we introduce MuTACLP, a knowledge

repre-sentation language which provides facilities for modeling and handlingtemporal information, together with some basic operators for combin-ing different temporal knowledge bases The proposed approach stemsfrom two separate lines of research: the general studies on meta-leveloperators on logic programs introduced by Brogi et al [7,9] and Tem-poral Annotated Constraint Logic Programming (TACLP) defined byFr¨uhwirth [15] In MuTACLP atoms are annotated with temporal infor-mation which are managed via a constraint theory, as in TACLP Mecha-nisms for structuring programs and combining separate knowledge basesare provided through meta-level operators The language is given twodifferent and equivalent semantics, a top-down semantics which exploitsmeta-logic, and a bottom-up semantics based on an immediate conse-quence operator

Interest in research concerning the handling of temporal information has beengrowing steadily over the past two decades On the one hand, much effort hasbeen spent in developing extensions of logic languages capable to deal with time(see, e.g., [14,36]) On the other hand, in the field of databases, many approaches

have been proposed to extend existing data models, such as the relational, the object-oriented and the deductive models, to cope with temporal data (see, e.g.,

the books [46,13] and references therein) Clearly these two strands of researchare closely related, since temporal logic languages can provide solid theoreticalfoundations for temporal databases, and powerful knowledge representation andquery languages for them [11,17,35] Another basic motivation for our work is theneed of mechanisms for combining pieces of knowledge which may be separatedinto various knowledge bases (e.g., distributed over the web), and thus whichhave to be merged together to reason with

This paper aims at building a framework where temporal information can benaturally represented and handled, and, at the same time, knowledge can be sep-arated and combined by means of meta-level composition operators Concretely,

we introduce a new language, called MuTACLP, which is based on Temporal

An-notated Constraint Logic Programming (TACLP), a powerful framework defined

A.C Kakas, F Sadri (Eds.): Computat Logic (Kowalski Festschrift), LNAI 2408, pp 1–40, 2002 c

 Springer-Verlag Berlin Heidelberg 2002

Trang 11

by Fr¨uhwirth in [15], where temporal information and reasoning can be

natu-rally formalized Temporal information is represented by temporal annotations

which say at what time(s) the formula to which they are attached is valid Suchannotations make time explicit but avoid the proliferation of temporal variablesand quantifiers of the first-order approach In this way, MuTACLP supportsquantitative temporal reasoning and allows one to represent definite, indefiniteand periodic temporal information, and to work both with time points and timeperiods (time intervals) Furthermore, as a mechanism for structuring programsand combining different knowledge sources, MuTACLP offers a set of programcomposition operators in the style of Brogi et al [7,9]

Concerning the semantical aspects, the use of meta-logic allows us to provideMuTACLP with a formal and, at the same time, executable top-down semanticsbased on a meta-interpreter Furthermore the language is given a bottom-upsemantics by introducing an immediate consequence operator which generalizesthe operator for ordinary constraint logic programs The two semantics are equiv-alent in the sense that the meta-interpreter can be proved sound and completewith respect to the semantics based on the immediate consequence operator

An interesting aspect of MuTACLP is the fact that it integrates ity and temporal reasoning, a feature which is not common to logical tempo-ral languages (e.g., it is lacking in [1,2,10,12,15,16,21,28]) Two exceptions arethe language Temporal Datalog by Orgun [35] and the work on amalgamatingknowledge bases by Subrahmanian [45] Temporal Datalog introduces a concept

modular-of module, which, however, seems to be used as a means for defining new standard algebraic operators, rather than as a knowledge representation tool

non-On the other hand, the work on amalgamating knowledge bases offers a

multi-theory framework, based on annotated logics, where temporal information can be

handled, but only a limited interaction among the different knowledge sources isallowed: essentially a kind of message passing mechanism allows one to delegatethe resolution of an atom to other databases

In the database field, our approach is close to the paradigm of constraintdatabases [25,27] In fact, in MuTACLP the use of constraints allows one tomodel temporal information and to enable efficient implementations of the lan-guage Moreover, from a deductive database perspective, each constraint logicprogram of our framework can be viewed as an enriched relational databasewhere relations are represented partly intensionally and partly extensionally.The meta-level operators can then be considered as a means of constructingviews by combining different databases in various ways

The paper is organized as follows Section 2 briefly introduces the programcomposition operators for combining logic theories of [7,9] and their semantics.Section 3, after reviewing the basics of constraint logic programming, introducesthe language TACLP Section 4 defines the new language MuTACLP, which inte-grates the basic ideas of TACLP with the composition operators on theories InSection 5 the language MuTACLP is given a top-down semantics by means of ameta-interpreter and a bottom-up semantics based on an immediate consequenceoperator, and the two semantics are shown to be equivalent Section 6 presents

Trang 12

some examples to clarify the use of operators on theories and to show the pressive power and the knowledge representation capabilities of the language.Section 7 compares MuTACLP with some related approaches in the literatureand, finally, Section 8 outlines our future research plans Proofs of propositionsand theorems are collected in the Appendix Due to space limitations, the proofs

ex-of some technical lemmata are omitted and can be found in [4,38] An extendedabstract of this paper has been presented at the International Workshop onSpatio-Temporal Data Models and Languages [33]

Composition operators for logic programs have been thoroughly investigated

in [7,9], where both their meta-level and their bottom-up semantics are ied and compared In order to illustrate the basic notions and ideas of such

stud-an approach this section describes the meta-level definition of the operators,which is simply obtained by adding new clauses to the well-known vanilla meta-interpreter for logic programs The resulting meta-interpreter combines separateprograms without actually building a new program Its meaning is straightfor-ward and, most importantly, the meta-logical definition shows that the multi-theory framework can be expressed from inside logic programming itself We con-sider two operators to combine programs: union∪ and intersection ∩ Then the so-called program expressions are built by starting from a set of plain programs,

consisting of collections of clauses, and by repeatedly applying the composition

operators Formally, the language of program expressions Exp is defined by the

following abstract syntax:

Exp ::= Pname | Exp ∪ Exp | Exp ∩ Exp where Pname is the syntactic category of constant names for plain programs Following [6], the two-argument predicate demo is used to represent prov- ability Namely, demo( E, G) means that the formula G is provable with respect

to the program expressionE.

demo(E, empty).

demo(E, (B1, B2))← demo(E, B1), demo(E, B2)

demo( E, A) ← clause(E, A, B), demo(E, B)

The unit clause states that the empty goal, represented by the constant symbol

empty, is solved in any program expression E The second clause deals with conjunctive goals It states that a conjunction (B1, B2) is solved in the programexpressionE if B1is solved in E and B2 is solved inE Finally, the third clause deals with the case of atomic goal reduction To solve an atomic goal A, a clause with head A is chosen from the program expression E and the body of the clause

is recursively solved inE.

We adopt the simple naming convention used in [29] Object programs are

named by constant symbols, denoted by capital letters like P and Q Object

Trang 13

level expressions are represented at the meta-level by themselves In particular,object level variables are denoted by meta-level variables, according to the so-

called non-ground representation An object level program P is represented, at the meta-level, by a set of axioms of the kind clause(P, A, B), one for each object level clause A ← B in the program P

Each program composition operator is represented at the meta-level by afunctor, whose meaning is defined by adding new clauses to the above meta-interpreter

clause(E1∪ E2, A, B) ← clause(E1, A, B) clause(E1∪ E2, A, B) ← clause(E2, A, B) clause(E1∩ E2, A, (B1, B2))← clause(E1, A, B1),

clause(E2, A, B2)The added clauses have a straightforward interpretation Informally, union andintersection mirror two forms of cooperation among program expressions In thecase of unionE1∪E2, whose meta-level implementation is defined by the first twoclauses, either expressionE1 orE2may be used to perform a computation step

For instance, a clause A ← B belongs to the meta-level representation of P ∪ Q

if it belongs either to the meta-level representation of P or to the meta-level

representation of Q In the case of intersection E1∩ E2, both expressions mustagree to perform a computation step This is expressed by the third clause,which exploits the basic unification mechanism of logic programming and thenon-ground representation of object level programs

A program expressionE can be queried by demo(E, G), where G is an object

level goal

In this section we first briefly recall the basic concepts of Constraint LogicProgramming (CLP) Then we give an overview of Temporal Annotated CLP(TACLP), an extension of CLP suited to deal with time, which will be used as abasic language for plain programs in our multi-theory framework The reader isreferred to the survey of Jaffar and Maher [22] for a comprehensive introduction

to the motivations, foundations, and applications of CLP languages, and to therecent work of Jaffar et al [23] for the formal presentation of the semantics Agood reference for TACLP is Fr¨uhwirth’s paper [15]

A CLP language is completely determined by its constraint domain A constraint domain C is a tuple SC , LC, DC , TC , solvC

– S C = ΣC , ΠC

symbols Σ C and the predicate symbols Π C.

Trang 14

LC is the class of constraints, a set of first-order S C -formulae, denoted by C,

possibly subscripted

D C is the domain of computation, a S C-structure which provides the intended

interpretation of the constraints The domain (or support) ofD C is denoted

by D C.

TC is the constraint theory, a S C-theory describing the logical semantics ofthe constraints

– solv C is the constraint solver, a (computable) function which maps each

formula inL C to either true, or false , or unknown, indicating that the formula

is satisfiable, unsatisfiable or it cannot be told, respectively

We assume that Π Ccontains the predicate symbol “=”, interpreted as identity in

DC Furthermore we assume thatLC contains all atoms constructed from “=”,the always satisfiable constraint true and the unsatisfiable constraint false,and that LC is closed under variable renaming, existential quantification and

conjunction A primitive constraint is an atom of the form p(t1, , tn ) where p

is a predicate in Π C and t1, , tn are terms on Σ C.

We assume that the solver does not take variable names into account Also,

the domain, the theory and the solver agree in the sense that D C is a model of

T C and for every C ∈ L C:

– solv C (C) = true implies T C |= ∃C, and

– solv C (C) = f alse implies T C |= ¬∃C.

Example 1 (Real) The constraint domain Real has<, <=, =, >=, > as predicatesymbols, +, -, *, / as function symbols and sequences of digits (possibly with

a decimal point) as constant symbols Examples of primitive constraints are

X + 3 <= Y * 1.1 and X/2 > 10 The domain of computation is the structurewith reals as domain, and where the predicate symbols <, <=, =, >=, > and thefunction symbols +, -, *, / are interpreted as the usual relations and functionsover reals Finally, the theoryT Real is the theory of real closed fields

A possible constraint solver is provided by the CLP(R) system [24], which

relies on Gauss-Jordan elimination to handle linear constraints Non-linear straints are not taken into account by the solver (i.e., their evaluation is delayed)until they become linear

con-Example 2 (Logic Programming) The constraint domain Term has = as

predicate symbol and strings of alphanumeric characters as function or constant

symbols The domain of computation of Term is the set Tree of finite trees (or,

equivalently, of finite terms), while the theoryTTerm is Clark’s equality theory.The interpretation of a constant is a tree with a single node labeled by

the constant The interpretation of an n-ary function symbol f is the function fTree : Tree n → Tree mapping the trees t1, , tnto a new tree with root labeled

by f and with t1, , tn as children

A constraint solver is given by the unification algorithm Then CLP(Term)

coincides with logic programming

Trang 15

For a given constraint domainC, we denote by CLP(C) the CLP language

based on C Our results are parametric to a language L in which all programs

and queries under consideration are included The set of function symbols in

L, denoted by ΣL , coincides with Σ C , while the set of predicate symbols Π L includes Π C.

A constraint logic program, or simply a program, is a finite set of rules of the

form:

A ← C1, , Cn, B1, , Bm where A and B1, , Bm (m ≥ 0) are atoms (whose predicate symbols are in

ΠL but not in Π C ), and C1, , Cn (n ≥ 0) are primitive constraints1 (A is called the head of the clause and C1, , Cn, B1, , Bm the body of the clause).

If m = 0 then the clause is called a fact A query is a sequence of atoms and/or

constraints

Interpretations and Fixpoints AC-interpretation for a CLP(C) program is

an interpretation which agrees withD C on the interpretations of the symbols in

L C Formally, aC-interpretation I is a subset of C-base L, i.e of the set

{p(d1, , dn)| p predicate in ΠL \ ΠC, d1, , dn ∈ DC }.

Note that the meaning of primitive constraints is not specified, being fixed byC.

The notions of C-model and least C-model are a natural extension of the corresponding logic programming concepts A valuation σ is a function that maps variables into D C A C-ground instance A  of an atom A is obtained by applying a valuation σ to the atom, thus producing a construct of the form p(a1, , an ) with a1, , an elements in D C.C-ground instances of queries and clauses are defined in a similar way We denote by ground C (P ) the set of C-ground instances of clauses from P

Finally the immediate consequence operator for a CLP(C) program P is a function T P C : ℘(C-base L)→ ℘(C-baseL) defined as follows:

T P C (I) =



A | A ← C {B1, , Bn} ⊆ I, DC1, , Ck , B1, , Bn, ∈ ground |= C1, , Ck C (P ),



The operator T P C is continuous, and therefore it has a least fixpoint which can

be computed as the least upper bound of the ω-chain {(T P C)i }i≥0 of the iterated

applications of T P C starting from the empty set, i.e., (T P C)ω=

i∈N(T P C)i

Temporal Annotated Constraint Logic Programming (TACLP), proposed byFr¨uhwirth in [15,39], has been shown to be a natural and powerful frameworkfor formalizing temporal information and reasoning In [15] TACLP is presented

1 Constraints and atoms can be in any position inside the body of a clause, although,

for the sake of simplicity, we will always assume that the sequence of constraintsprecedes the sequence of atoms

Trang 16

as an instance of annotated constraint logic (ACL) suited for reasoning abouttime ACL, which can be seen as an extension of generalized annotated pro-grams [26,30], generalizes basic first-order languages with a distinguished class

of predicates, called constraints, and a distinguished class of terms, called tations, used to label formulae Moreover ACL provides inference rules for anno-

anno-tated formulae and a constraint theory for handling annotations An advantage

of the languages in the ACL framework is that their clausal fragment can beefficiently implemented: given a logic in this framework, there is a systematicway to make a clausal fragment executable as a constraint logic program Both

an interpreter and a compiler can be generated and implemented in standardconstraint logic programming languages

We next summarize the syntax and semantics of TACLP As mentionedabove, TACLP is a constraint logic programming language where formulae can

be annotated with temporal labels and where relations between these labels can

be expressed by using constraints In TACLP the choice of the temporal ontology

is free In this paper, we will consider the instance of TACLP where time pointsare totally ordered and labels involve convex, non-empty sets of time points.Moreover we will assume that only atomic formulae can be annotated and thatclauses are negation free With an abuse of notation, in the rest of the papersuch a subset of the language will be referred to simply as TACLP

Time can be discrete or dense Time points are totally ordered by the relation

≤ We denote by D the set of time points and we suppose to have a set of

operations (such as the binary operations +, −) to manage such points We

assume that the time-line is left-bounded by the number 0 and open to thefuture, with the symbol ∞ used to denote a time point that is later than any other A time period is an interval [r, s] with r, s ∈ D and 0 ≤ r ≤ s ≤ ∞, which

represents the convex, non-empty set of time points {t | r ≤ t ≤ s}2

Thus the

interval [0, ∞] denotes the whole time line.

An annotated formula is of the form A α where A is an atomic formula and

α an annotation In TACLP, there are three kinds of annotations based on time points and on time periods Let t be a time point and J = [r, s] be a time period.

(at) The annotated formula A at t means that A holds at time point t

(th) The annotated formula A th J means that A holds throughout, i.e., at every

time point in, the time period J The definition of a th-annotated formula

in terms ofat is:

A th J ⇔ ∀t (t ∈ J → A at t).

(in) The annotated formula A in J means that A holds at some time point(s)

-but we do not know exactly which - in the time period J The definition of

anin-annotated formula in terms of at is:

A in J ⇔ ∃t (t ∈ J ∧ A at t).

Thein temporal annotation accounts for indefinite temporal information

2 The results we present naturally extend to time lines that are bounded or unbounded

in other ways and to time periods that are open on one or both sides

Trang 17

The set of annotations is endowed with a partial order relation which turns it into a lattice Given two annotations α and β, the intuition is that α  β if α is

“less informative” than β in the sense that for all formulae A, A β ⇒ A α More

precisely, being an instance of ACL, in addition to Modus Ponens, TACLP hastwo further inference rules: the rule () and the rule ( ).

A α γ  α

The rule () states that if a formula holds with some annotation, then it also

holds with all annotations that are smaller according to the lattice ordering.The rule ( ) says that if a formula holds with some annotation α and the same formula holds with another annotation β then it holds with the least upper bound α β of the two annotations.

Next, we introduce the constraint theory for temporal annotations Recall

that a constraint theory is a non-empty, consistent first order theory that iomatizes the meaning of the constraints Besides an axiomatization of the totalorder relation≤ on the set of time points D, the constraint theory includes the

ax-following axioms defining the partial order on temporal annotations

a time period then it holds at some points in all periods that include this period((in ) axiom) A consequence of the above axioms is

annotations, let us recall that, as explained in [15], the least upper bound of twoannotations always exists but sometimes it may be “too large” In fact, rule ( ) is correct only if the lattice order ensures A α ∧ A β ∧ (γ = α β) =⇒ A γ whereas,

3 Especially in dense time, one may disallowsingleton periods and drop the two

ax-ioms This restriction has no effects on the results we are presenting

Trang 18

in general, this is not true in our case For instance, according to the lattice,

th [1, 2] th [4, 5] = th [1, 5], but according to the definition of th-annotated

formulae in terms of at , the conjunction A th [1, 2] ∧ A th [4, 5] does not imply

A th [1, 5], since it does not express that A at 3 holds From a theoretical point

of view, this problem can be overcome by enriching the lattice of annotationswith expressions involving In practice, it suffices to consider the least upper bound for time periods that produce another different meaningful time period.

Concretely, one restricts to th annotations with overlapping time periods that

do not include one another:

(th ) th [s1, s2] th [r1, r2] =th [s1, r2] ⇔ s1< r1, r1≤ s2, s2< r2

Summarizing, a constraint domain for time points is fixed where the signature

includes suitable constants for time points, function symbols for operations on

time points (e.g., +, −, ) and the predicate symbol ≤, modeling the total order

relation on time points Such constraint domain is extended to a constraintdomain A for handling annotations, by enriching the signature with function

symbols [·, ·], at, th, in, and the predicate symbol , axiomatized as described

above Then, as for ordinary constraint logic programming, a TACLP language

is determined by fixing a constraint domain C, which is required to contain

the constraint domainA for annotations We denote by TACLP(C) the TACLP

language based onC To lighten the notation, in the following, the “C” will be

Cj cannot be annotated.

A TACLP program is a finite set of TACLP clauses.

Programming

A first attempt to extend the multi-theory framework introduced in Section 2

to handle temporal information is presented in [32] In that paper an objectlevel program is a collection of annotated logic programming clauses, named by

a constant symbol An annotated clause is of the kind A ← B1, , Bn 2 [a, b] where the annotation [a, b] represents the period of time in which the clause

holds The handling of time is hidden at the object level and it is managed atthe meta-level by intersecting or joining the intervals associated with clauses.However, this approach is not completely satisfactory, in that it does not offer

Trang 19

mechanisms for modeling indefinite temporal information and for handling riodic data Moreover, some problems arise when we want to extract temporalinformation from the intervals at the object level.

pe-To obtain a more expressive language, where in particular the mentioned ciencies are overcome, in this paper we consider a multi-theory framework whereobject level programs are taken from Temporal Annotated Constraint Logic Pro-gramming (TACLP) and the composition operators are generalized to deal withtemporal annotated constraint logic programs The resulting language, calledMulti-theory Temporal Annotated Constraint Logic Programming (MuTACLPfor short), thus arises as a synthesis of the work on composition operators forlogic programs and of TACLP It can be thought of both as a language whichenriches TACLP with high-level mechanisms for structuring programs and forcombining separate knowledge bases, and as an extension of the language ofprogram expressions with constraints and with time-representation mechanismsbased on temporal annotations for atoms

defi-The language of program expressions remains formally the same as the one

in Section 2 However now plain programs, named by the constant symbols in

Pname, are TACLP programs as defined in Section 3.2.

Also the structure of the time domain remains unchanged, whereas, to dealwith program composition, the constraint theory presented in Section 3.2 is en-riched with the axiomatization of the greatest lower bound# of two annotations:

empty sets of time points, it is not difficult to verify that the axioms aboveindeed define the greatest lower bound with respect to the partial order relation

 For instance the greatest lower bound of two th annotations, th [s1, s2] and

th [r1, r2], can be:

– a th [t1, t2] annotation if [r1, r2] and [s1, s2] are overlapping intervals and

[t1, t2] is their (not empty) intersection (axiom (th #));

– anin [t1, t2] annotation, otherwise, where interval [t1, t2] is the least convex

set which intersects both [s1, s2] and [r1, r2] (axiom (th # ), see Fig 1.(a)).

In all other cases the greatest lower bound is always an in annotation Forinstance, as expressed by axiom (th in #), the greatest lower bound of two

Trang 20

annotationsth [s1, s2] andin [r1, r2] with disjoint intervals is given byin [s2, r2],

where interval [s2, r2] is the least convex set containing [r1, r2] and intersecting

[s1, s2] (see Fig 1.(b)) The greatest lower bound will play a basic role in thedefinition of the intersection operation over program expressions Notice that inTACLP it is not needed since the problem of combining programs is not dealtwith

Fig 1 Greatest lower bound of annotations.

Finally, as in TACLP we still have, in addition to Modus Ponens, the inferencerules () and ( ).

Example 3 In a company there are some managers and a secretary who has

to manage their meetings and appointments During the day a manager can bebusy if she/he is on a meeting or if she/he is not present in the office Thissituation is modeled by the theory Managers

Managers:

busy(M ) th [T1, T2]← in-meeting(M ) th [T1, T2]

busy(M ) th [T1, T2]← out-of -office(M ) th [T1, T2]

This theory is parametric with respect to the predicates in-meeting and out -of -office since the schedule of managers varies daily The schedules are col-

lected in a separate theory Today-Schedule and, to know whether a manager

is busy or not, such a theory is combined with Managers by using the unionoperator

For instance, suppose that the schedule for a given day is the following:

Mr Smith and Mr Jones have a meeting at 9am lasting one hour In the noon Mr Smith goes out for lunch at 2pm and comes back at 3pm The theoryToday-Schedulebelow represents such information

after-Today-Schedule:

in-meeting(mrSmith) th [9am, 10am].

in-meeting(mrJones) th [9am, 10am].

out -of -office(mrSmith) th [2pm, 3pm].

To know whether Mr Smith is busy between 9:30am and 10:30am the secretary

can ask for busy(mrSmith) in [9:30am, 10:30am] Since Mr Smith is in a meeting

Trang 21

from 9am till 10am, she will indeed obtain that Mr Smith is busy The consideredquery exploits indefinite information, because knowing that Mr Smith is busy in

one instant in [9:30am, 10:30am] the secretary cannot schedule an appointment

for him for that period

Example 4 At 10pm Tom was found dead in his house The only hint is that

the answering machine recorded some messages from 7pm up to 8pm At a firstglance, the doctor said Tom died one to two hours before The detective made

a further assumption: Tom did not answer the telephone so he could be alreadydead

We collect all these hints and assumptions into three programs, Hints, torand Detective, in order not to mix firm facts with simple hypotheses thatmight change during the investigations

ans-machine th [7pm, 8pm].

Doctor: dead in [T − 2:00, T − 1:00] ← found at T

Detective: dead in [T1, T2] ← ans-machine th [T1, T2]

If we combine the hypotheses of the doctor and those of the detective we canextend the period of time in which Tom possibly died The program expressionDoctor∩ Detective behaves as

dead in [S1, S2] ← in [T − 2:00, T − 1:00] # in [T1, T2] =in [S1, S2],

found at T , ans-machine th [T1, T2]The constraintin [T − 2:00, T − 1:00] # in [T1, T2] = in [S1, S2] determines theannotation in [S1, S2] in which Tom possibly died: according to axiom (in #)

the resulting interval is S1 = min {T − 2:00, T1} and S2 = max {T − 1:00, T2}.

In fact, according to the semantics defined in the next section, a consequence ofthe program expression

Hints∪ (Doctor ∩ Detective)

is just dead in [7pm, 9pm] since the annotation in [7pm, 9pm] is the greatest

lower bound ofin [8pm, 9pm] and in [7pm, 8pm].

Trang 22

In the definition of the semantics, without loss of generality, we assume allatoms to be annotated with th or in labels In fact at t annotations can be

replaced withth [t, t] by exploiting the (at th) axiom Moreover, each atom which

is not annotated in the object level program is intended to be true throughout thewhole temporal domain and thus it can be labelled withth [0, ∞] Constraints

Trang 23

This meta-interpreter can be written in any CLP language that provides

a suitable constraint solver for temporal annotations (see Section 3.2 for thecorresponding constraint theory) A first difference with respect to the meta-

interpreter in Section 2 is that our meta-interpreter handles constraints that can either occur explicitly in its clauses, e.g., the constraint s1≤ t1, t1≤ t2, t2≤ s2

in clause (3), or can be produced by resolution steps Constraints of the latter

kind are managed by clause (7) which passes each constraint C to be solved

directly to the constraint solver

The second difference is that our meta-interpreter implements not only ModusPonens but also rule () and rule ( ) This is the reason why the third clause for the predicate demo of the meta-interpreter in Section 2 is now split into four

clauses Clauses (3), (5) and (6) implement the inference rule (): the atomic

goal to be solved is required to be labelled with an annotation which is smallerthan the one labelling the head of the clause used in the resolution step For

instance, clause (3) states that given a clause A th [s1, s2] ← B whose body B

is solvable, we can derive the atom A annotated with any th [t1, t2] such that

th [t1, t2]  th [s1, s2], i.e., according to axiom (th ), [t1, t2] ⊆ [s1, s2], as

ex-pressed by the constraint s1 ≤ t1, t1≤ t2, t2 ≤ s2 Clauses (5) and (6) are built

in an analogous way by exploiting axioms (in th ) and (in ), respectively.Rule ( ) is implemented by clause (4) According to the discussion in Sec-

tion 3.2, it is applicable only to th annotations involving overlapping time riods which do not include one another More precisely, clause (4) states that

pe-if we can find a clause A th [s1, s2]← B such that the body B is solvable, and

if moreover the atom A can be proved throughout the time period [s2, t2] (i.e.,

demo(E, A th [s2, t2]) is solvable) then we can derive the atom A labelled with

any annotation th [t1, t2]  th [s1, t2] The constraints on temporal variables

ensure that the time period [t1, t2] is a new time period different from [s1, s2],

[s2, t2] and their subintervals

Finally, in the meta-level representation of object clauses, as expressed by

clause (11), the constraint s1≤ s2is added to ensure that the head of the objectclause has a well-formed, namely non-empty, annotation

As far as the meta-level definition of the union and intersection operators

is concerned, clauses implementing the union operation remain unchanged withrespect to the original definition in Section 2, whereas in the clause implementingthe intersection operation a constraint is added, which expresses the annotation

for the derived atom Informally, a clause A α ← B, belonging to the intersection

of two program expressions E1 and E2, is built by taking one clause instancefrom each program expressionE1 and E2, such that the head atoms of the two

clauses are unifiable Let such instances of clauses be cl1and cl2 Then B is the conjunction of the bodies of cl1 and cl2 and A is the unified atom labelled with the greatest lower bound of the annotations of the heads of cl1 and cl2

The following example shows the usefulness of clause (4) to derive new

tem-poral information according to the inference rule ( ).

Example 5 Consider the databases DB1 and DB2 containing information about

people working in two companies Jim is a consultant and he works for the first

Trang 24

company from January 1, 1995 to April 30, 1995 and for the second companyfrom April 1, 1995 to September 15, 1995.

DB1:

consultant (jim) th [Jan 1 1995 , Apr 30 1995 ].

DB2:

consultant (jim) th [Apr 1 1995 , Sep 15 1995 ].

The period of time in which Jim works as a consultant can be obtained byquerying the union of the above theories as follows:

demo(DB1 ∪ DB2, consultant(jim) th [T1, T2]).

By using clause (4), we can derive the interval [Jan 1 1995 , Sep 15 1995 ] (more precisely, the constraints Jan 1 1995 ≤ T1, T1< Apr 30 1995 , Apr 30 1995 < T2,

T2≤ Sep 15 1995 are derived) that otherwise would never be generated In fact,

by applying clause (3) alone, we can prove only that Jim is a consultant in

the intervals [Jan 1 1995 , Apr 30 1995 ] and [Apr 1 1995 , Sep 15 1995 ] (or in

subintervals of them) separately

To give a declarative meaning to program expressions, we define a order” semantics for MuTACLP In fact, the results in [7] show that the leastHerbrand model semantics of logic programs does not scale smoothly to pro-gram expressions Fundamental properties of semantics, like compositionalityand full abstraction, are definitely lost Intuitively, the least Herbrand modelsemantics is not compositional since it identifies programs which have differentmeanings when combined with others Actually, all the programs whose leastHerbrand model is empty are identified with the empty program For example,the programs

Along the same line, the semantics of a MuTACLP program expression istaken to be the immediate consequence operator associated with it, i.e., a func-tion from interpretations to interpretations The immediate consequence oper-ator of constraint logic programming is generalized to deal with temporal an-notations by considering a kind of extended interpretations, which are basicallysets of annotated elements of C-base L More precisely, we first define a set of

(semantical) annotations

Ann = {th [t1, t2], in [t1, t2]| t1, t2 time points ∧ D C |= t1≤ t2}

Trang 25

where DC is the S C-structure providing the intended interpretation of the straints Then the lattice of interpretations is defined as (℘(C-base L × Ann), ⊆)

con-where⊆ is the usual set-theoretic inclusion Finally the immediate consequence

operatorTCE for a program expressionE is compositionally defined in terms of

the immediate consequence operator for its sub-expressions

Definition 2 (Bottom-up semantics) Let E be a program expression, the function TC : ℘(C-base L × Ann) → ℘(C-baseL × Ann) is defined as follows.

Observe that the definition above properly extends the standard definition of theimmediate consequence operator for constraint logic programs (see Section 3.1)

In fact, besides the usual Modus Ponens rule, it captures rule ( ) (as expressed

by the second set in the definition ofTCP) Furthermore, also rule () is taken

into account to prove that an annotated atom holds in an interpretation: to

derive the head A α of a clause it is not necessary to find in the interpretation exactly the atoms B1α1, , Bn αn occurring in the body of the clause, but

it suffices to find atoms B i βi which imply B i αi , i.e., such that each β i is anannotation stronger than α i(DC |= αi  βi) Notice thatT

C

E (I) is not downward closed, namely, it is not true that if (A, α) ∈TCE (I) then for all (A, γ) such that

D C |= γ  α, we hav e (A, γ) ∈TC

E (I) The downward closure will be taken only

after the fixpoint ofTCE is computed We will see that, nevertheless, no deductivecapability is lost and rule () is completely modeled.

The set of immediate consequences of a union of program expressions is theset-theoretic union of the immediate consequences of each program expression

Instead, an atom A labelled by γ is an immediate consequence of the intersection

of two program expressions if A is a consequence of both program expressions,

Trang 26

possibly with different annotations α and β, and the label γ is the greatest lower bound of the annotations α and β.

Let us formally define the downward closure of an interpretation

Definition 3 (Downward closure) The downward closure of an

interpreta-tion I ⊆ C-base L × Ann is defined as:

Theorem 1 (Continuity) For any program expression E, the function TC is

continuous (over (℘(C-base L × Ann), ⊆)).

The fixpoint semantics for a program expression is now defined as the ward closure of the least fixpoint ofT

i∈N(T

Trang 27

5.3 Soundness and Completeness

In the spirit of [7,34] we define the semantics of the meta-interpreter by ing the semantics of an object program to the semantics of the correspondingvanilla meta-program (i.e., including the meta-level representation of the ob-ject program) When stating the correspondence between the object programand the meta-program we consider only formulae of interest, i.e., elements of

relat-C-base L annotated with labels from Ann, which are the semantic counterpart of

object level annotated atoms We show that given a MuTACLP program sionE (object program) for any A ∈ C-baseL and any α ∈ Ann, demo(E, A α) is provable at the meta-level if and only if (A, α) is provable in the object program.

expres-Theorem 2 (Soundness and completeness) Let E be a program expression and let V be the meta-program containing the meta-level representation of the object level programs occurring in E and clauses (1)-(10) For any A ∈ C-base L and α ∈ Ann, the following statement holds:

demo( E, A α) ∈ (T M

V )ω ⇐⇒ (A, α) ∈F

C E), where T V M is the standard immediate consequence operator for CLP programs.

Note that V is a CLP(M) program where M is a multi-sorted constraint main, including the constraint domain Term, presented in Example 2, and the

do-constraint domain C It is worth observing that if C is a C-ground instance of a

constraint then DM |= C ⇔ DC |= C.

This section is devoted to present examples which illustrate the use of tions in the representation of temporal information and the structuring possibil-ities offered by the operators First we describe applications of our framework inthe field of legal reasoning Then we show how the intersection operator can beemployed to define a kind of valid-timeslice operator

annota-6.1 Applications to Legal Reasoning

Laws and regulations are naturally represented in separate theories and theyare usually combined in ways that are necessarily more complex than a plainmerging Time is another crucial ingredient in the definition of laws and regu-lations, since, quite often, they refer to instants of time and, furthermore, theirvalidity is restricted to a fixed period of time This is especially true for laws andregulations which concern taxation and government budget related regulations

in general

Trang 28

British Nationality Act We start with a classical example in the field of

legal reasoning [41], i.e a small piece of the British Nationality Act Simplypartitioning the knowledge into separate programs and using the basic unionoperation, one can exploit the temporal information in an orderly way Assume

that Jan 1 1955 is the commencement date of the law Then statement

x obtains the British Nationality at time t

if x is born in U.K at time t and

t is after commencement and

y is parent of x and

y is a British citizen at time t

or y is a British resident at time t

is modeled by the following program

BNA:

get-citizenship(X) at T ← T ≥ Jan 1 1955 , born(X,uk) at T ,

parent(Y,X) at T , british-citizen(Y) at T get-citizenship(X) at T ← T ≥ Jan 1 1955 , born(X,uk) at T ,

demo(BNA ∪ John, get-citizenship(john) at T )

obtaining as result T = Aug 10 1969

Movie Tickets Since 1997, an Italian regulation for encouraging people to go

to the cinema, states that on Wednesdays the ticket price is 8000 liras, whereas

in the rest of the week it is 12000 liras The situation can be modeled by thefollowing theory BoxOff

BoxOff:

ticket (8000 , X ) at T ← T ≥ Jan 1 1997 , wed at T

ticket (12000 , X ) at T ← T ≥ Jan 1 1997 , non wed at T

The constraint T ≥ Jan 1 1997 represents the validity of the clause, which holds

from January 1, 1997 onwards

The predicates wed and non wed are defined in a separate theory Days, where w is assumed to be the last Wednesday of 1996.

Trang 29

Days: wed at w.

wed at T + 7 ← wed at T

non wed th [w + 1, w + 6].

non wed at T + 7 ← non wed at T

Notice that, by means of recursive predicates one can easily express periodic poral information In the example, the definition of the predicate wed expresses

tem-the fact that a day is Wednesday if it is a date which is known to be Wednesday

or it is a day coming seven days after a day proved to be Wednesday The

pred-icate non wed is defined in an analogous way; in this case the unit clause states

that all six consecutive days following a Wednesday are not Wednesdays.Now, let us suppose that the owner of a cinema wants to increase the discountfor young people on Wednesdays, establishing that the ticket price for people whoare eighteen years old or younger is 6000 liras By resorting to the intersectionoperation we can build a program expression that represents exactly the desiredpolicy We define three new programs Cons, Disc and Age

Cons: ticket (8000 , X ) at T ← Y > 18, age(X , Y ) at T

ticket (12000 , X ) at T

The above theory specifies how the predicate definitions in BoxOff must changeaccording to the new policy In fact to get a 8000 liras ticket now a furtherconstraint must be satisfied, namely the customer has to be older than eighteenyears old On the other hand, no further requirement is imposed to buy a 12000liras ticket

Disc: ticket (6000 , X ) at T ← a ≤ 18, wed at T , age(p, a) at T

The only clause in Disc states that a 6000 liras ticket can be bought on days by a person who is eighteen years old or younger

Wednes-The programs Cons and Disc are parametric with respect to the predicate

age, which is defined in a separate theory Age.

Age: age(X , Y ) at T ← born(X ) at T1, year-diff(T1, T , Y )

At this point we can compose the above programs to obtain the programexpression representing the new policy, namely

(BoxOff∩ Cons) ∪ Disc ∪ Days ∪ Age.

Finally, in order to know how much is a ticket for a given person, the aboveprogram expression must be joined with a separate program containing the date

of birth of the person For instance, such program could be

Tom: born(tom) at May 7 1982

Then the answer to the query

demo(((BoxOff ∩ Cons) ∪ Disc ∪ Days ∪ Tom),

ticket (X , tom) at May 20 1998 )

is X = 6000 since May 20 1998 is a Wednesday and Tom is sixteen years old.

Trang 30

Invim Invim was an Italian law dealing with paying taxes on real estate

trans-actions The original regulation, in force since January 1, 1950, requires timecalculations, since the amount of taxes depends on the period of ownership ofthe real estate property Furthermore, although the law has been abolished in

1992, it still applies but only for the period antecedent to 1992

To see how our framework allows us to model the described situation let usfirst consider the program Invim below, which contains a sketch of the originalbody of regulations

Invim:

due(Amount,X,Prop) th [T2, ∞] ← T2≥ Jan 1 1950 , buys(X,Prop) at T1,

sells(X,Prop) at T2,

compute(Amount,X,Prop,T1,T2) compute(Amount,X,Prop,T1,T2) ←

To update the regulations in order to consider the decisions taken in 1992, as inthe previous example we introduce two new theories The first one includes a set

of constraints on the applicability of the original regulations, while the secondone is designed to embody regulations capable of handling the new situation.Constraints:

due(Amount,X,Prop) th [Jan 1 1993 , ∞] ←

sells(X,Prop) in [Jan 1 1950 , Dec 31 1992 ] compute(Amount,X,Prop,T1,T2).

The first rule specifies that the relation due is computed, provided that the

selling date is antecedent to December, 31 1992 The second rule specifies that

the rules for compute, whatever number they are, and whatever complexity they

have, carry on unconstrained to the new version of the regulation It is important

to notice that the design of the constraining theory can be done without takingcare of the details (which may be quite complicated) embodied in the originallaw

The theory which handles the case of a property bought before December

31, 1992 and sold after the first of January, 1993, is given below

buys(mary,apt8) at Mar 8 1965

sells(mary,apt8) at Jul 2 1997

Trang 31

The query

demo(Invim ∪ Trans1, due(Amount,mary,apt8) th [ , ])

yields the amount, say 32.1, that Mary has to pay when selling the apartment

according to the old regulations On the other hand, the query

demo(((Invim ∩ Constraints) ∪ Additions) ∪ Trans1,

due(Amount,mary,apt8) th [ , ]) yields the amount, say 27.8, computed according to the new regulations It is

smaller than the previous one because taxes are computed only for the periodfrom March 8, 1965 to December 31, 1992, by using the clause in the programAdditions The clause in Invim∩ Constraints cannot be used since the con- dition regarding the selling date (sells(X,Prop) in [Jan 1 1950 , Dec 31 1992 ])

does not hold

In the transaction, represented by the program below, Paul buys the flat onJanuary 1, 1995

If we query the theory Invim∪ Trans2 we will get that Paul must pay a certain amount of tax, say 1.7, while, according to the updated regulation, he must not

pay the Invim tax because he bought and sold the flat after December 31, 1992.Indeed, the answer to the query computed with respect to the theory ((Invim

∩ Constraints) ∪ Additions) ∪ Trans2 is no, i.e., no tax is due.

Summing up, the union operation can be used to obtain a larger set of clauses

We can join a program with another one to provide it with definitions of its

undefined predicates (e.g., Age provides a definition for the predicate age not

defined in Disc and Cons) or alternatively to add new clauses for an existing

predicate (e.g., Disc contains a new definition for the predicate ticket already

defined in BoxOff) On the other hand, the intersection operator provides anatural way of imposing constraints on existing programs (e.g., the programCons constrains the definition of ticket given in BoxOff) Such constraints

affect not only the computation of a particular property, like the intersectionoperation defined by Brogi et al [9], but also the temporal information in whichthe property holds

Trang 32

The use of TACLP programs allows us to represent and reason on poral information in a natural way Since time is explicit, at the object level

tem-we can directly access the temporal information associated with atoms odic information can be easily expressed by recursive predicates (see the pred-

Peri-icates wed and non-wed in the theory Days) Indefinite temporal information

can be represented by using in annotations E.g., in the program Additionsthein annotation is used to specify that a certain date is within a time period

(sell(X,Prop) in [Jan 1 1950, Dec 31 1992]) This is a case in which it is not

important to know the precise date but it is sufficient to have an informationwhich delimits the time period in which it can occur

Intuitively the operator ⇓ selects only the clauses belonging to P that hold in [t1, t2] or in a subinterval of [t1, t2], and it restricts their validity time to such

an interval Therefore ⇓ allows us to create temporal views of programs, for instance P ⇓ [t, t] is the program P at time point t Hence it acts as a valid- timeslice operator in the field of databases (see the glossary in [13]).

Consider again the Invim example of the previous section The whole history

of the regulation concerning Invim, can be represented by using the followingprogram expression

(Invim⇓ [0, Dec 31 1992 ]) ∪ ((Invim ∩ Constraints) ∪ Additions)

By applying the operation ⇓, the validity of the clauses belonging to Invim is

restricted to the period from January 1, 1950 up to December 31, 1992, thusmodeling the law before January 1, 1993 On the other hand, the program ex-pression (Invim∩ Constraints) ∪ Additions expresses the regulation in force

since January 1, 1993, as we previously explained

This example suggests how the operation⇓ can be useful to model updates.

Suppose that we want to represent that Frank is a research assistant in matics, and that, later, he is promoted becoming an assistant professor In ourformalism we can define a program Frank that records the information associ-ated with Frank as a research assistant

mathe-Frank:

research assistant(maths) th [Mar 8 1993, ∞].

Trang 33

On March 1996 Frank becomes an assistant professor In order to modify theinformation contained in the program Frank, we build the following programexpression:

(Frank⇓ [0, Feb 29 1996 ]) ∪ {assistant prof(maths) th [Mar 1 1996 , ∞].}

where the second expression is an unnamed theory Unnamed theories, whichhave not been discussed so far, can be represented by the following meta-levelclause:

clause({X α ← Y }, X α, Y ) ← T1≤ T2

where α = th [T1, T2] or α = in [T1, T2]

The described update resembles the addition and deletion of a ground atom.For instance inLDL++ [47] an analogous change can be implemented by solving

the goal−research assistant(maths), +assistant prof(maths) The advantage

of our approach is that we do not change directly the clauses of a program, e.g.Frank in the example, but we compose the old theory with a new one thatrepresents the current situation Therefore the state of the database before March

1, 1996 is preserved, thus maintaining the whole history For instance, the firstquery below inquires the updated database before Frank’s promotion whereasthe second one shows how information in the database has been modified

demo((Frank ⇓ [0, Feb 29 1996 ]) ∪

{assistant prof(maths) th [Mar 1 1996 , ∞].},

research assistant(X) at Feb 23 1994 )

X = maths

demo((Frank ⇓ [0, Feb 29 1996 ]) ∪

{assistant prof(maths) th [Mar 1 1996 , ∞].},

research assistant(X) at Mar 12 1996 )

no.

Event Calculus by Kowalski and Sergot [28] has been the first attempt to castinto logic programming the rules for reasoning about time In more details,Event Calculus is a treatment of time, based on the notion of event, in first-order classical logic augmented with negation as failure It is closely related to

Allen’s interval temporal logic [3] For example, let E1 be an event in which Bob gives the Book to John and let E2 be an event in which John gives Mary the Book Assume that E2 occurs after E1 Given these event descriptions, we can

deduce that there is a period started by the event E1 in which John possessesthe book and that there is a period terminated by E1 in which Bob possessesthe book This situation is represented pictorially as follows:

Trang 34

Bob has the Book John has the Book

A series of axioms for deducing the existence of time periods and the Start

and End of each time period are given by using the Holds predicate.

of time is different: events are the granularity of time chosen in Event lus, whereas we use time points and time periods Furthermore no provision formultiple theories is given in Event Calculus

Calcu-Kifer and Subrahmanian in [26] introduce generalized annotated logic grams (GAPs), and show how Templog [1] and an interval based temporal logiccan be translated into GAPs The annotations used there correspond to the

pro-th annotations of MuTACLP To implement pro-the annotated logic language, pro-thepaper proposes to use “reductants”, additional clauses which are derived fromexisting clauses to express all possible least upper bounds The problem is that

a finite program may generate infinitely many such reductants Then a new kind

of resolution for annotated logic programs, called “ca-resolution”, is proposed

in [30] The idea is to compute dynamically and incrementally the least upperbounds by collecting partial answers Operationally this is similar to the meta-interpreter presented in Section 5.1 which relies on recursion to collect the partialanswers However, in [30] the intermediate stages of the computation may not

be sound with respect to the standard CLP semantics

The paper [26] presents also two fixpoint semantics for GAPs, defined in

terms of two different operators The first operator, called T P, is based on pretations which associate with each element of the Herbrand Base of a program

inter-P a set of annotations which is an ideal, i.e., a set downward closed and closed under finite least upper bounds For each atom A, the computed ideal is the least one containing the annotations α of annotated atoms A α which are heads

of (instances of) clauses whose body holds in the interpretation The other

op-erator, R P, is based on interpretations which associate with each atom of theHerbrand Base a single annotation, obtained as the least upper bound of the

set of annotations computed as in the previous case Our fixpoint operator for

MuTACLP works similarly to the T P operator: at each step we take the

clo-sure with respect to (representable) finite least upper bounds, and, although weperform the downward closure only at the end of the computation, this does

Trang 35

not affect the set of derivable consequences The main difference resides in thelanguage: MuTACLP is an extension of CLP, which focuses on temporal aspectsand provides mechanisms for combining programs, taking from GAP the basicideas for handling annotations, whereas GAP is a general language with negationand arbitrary annotations but without constraints and multiple theories.Our temporal annotations correspond to some of the predicates proposed

by Galton in [19], which is a critical examination of Allen’s classical work on atheory of action and time [3] Galton accounts for both time points and time

periods in dense linear time Assuming that the intervals I are not singletons, Galton’s predicate holds-in(A,I) can be mapped into MuTACLP’s A in I, holds- on(A,I) into A th I, and holds-at(A,t) into A at t, where A is an atomic formula.

From the described correspondence it becomes clear that MuTACLP can be

seen as reified FOL where annotated formulae, for example born(john)at t,

cor-respond to binary meta-relations between predicates and temporal information,for exampleat(born(john), t) But also, MuTACLP can be regarded as a modal

logic, where the annotations are seen as parameterized modal operators, e.g.,

born(john) (at t).

Our temporal annotations also correspond to some temporal characteristics

in the ChronoBase data model [42] Such a model allows for the representation

of a wide variety of temporal phenomena in a temporal database which cannot

be expressed by using only th and in annotations However, this model is anextension of the relational data model and, differently from our model, it is notrule-based An interesting line of research could be to investigate the possibility

of enriching the set of annotations in order to capture some other temporal acteristics, like a property that holds in an interval but not in its subintervals,still maintaining a simple and clear semantics

char-In [10], a powerful temporal logic named MTL (tense logic extended by rameterized temporal operators) is translated into first order constraint logic.The resulting language subsumes Templog The parameterized temporal opera-tors of MTL correspond to the temporal annotations of TACLP The constrainttheory of MTL is rather complex as it involves quantified variables and implica-tion, whose treatment goes beyond standard CLP implementations On the otherhand, MuTACLP inherits an efficient standard constraint-based implementation

pa-of annotations from the TACLP framework

As far as the multi-theory setting is concerned, i.e the possibility offered

by MuTACLP to structure and compose (temporal) knowledge, there are fewlogic-based approaches providing the user with these tools One is TemporalDatalog [35], an extension of Datalog based on a simple temporal logic with

two temporal operators, namely first and next Temporal Datalog introduces

a notion of module, which however does not seem to be used as a knowledgerepresentation tool but rather to define new non-standard algebraic operators

In fact, to query a temporal Datalog program, Orgun proposes a “point-wiseextension” of the relational algebra upon the set of natural numbers, called TRA-algebra Then he provides a mechanism for specifying generic modules, calledtemporal modules, which are parametric Temporal Datalog programs, with a

Trang 36

number of input predicates (parameters) and an output predicate A modulecan be then regarded as an operator which, given a temporal relation, returns atemporal relation Thus temporal modules are indeed used as operators of TRA,through which one has access to the use of recursion, arithmetic predicates andtemporal operators.

A multi-theory framework in which temporal information can be handled,

based on annotated logics, is proposed by Subrahmanian in [45] This is a very

general framework aimed at amalgamating multiple knowledge bases which canalso contain temporal information The knowledge bases are GAPs [26] andtemporal information is modeled by using an appropriate lattice of annotations

In order to integrate these programs, a so called Mediatory Database is given,

which is a GAP having clauses of the form

A0: [m, µ] ← A1: [D1, µ1], , A n : [D n, µn]

where each D i is a set of database names Intuitively, a ground instance of a

clause in the mediator can be interpreted as follows: “If the databases in set

Di, 1 ≤ i ≤ n, (jointly) imply that the truth value of A i is at least µ i, thenthe mediator will conclude that the truth value of A0 is at least µ” Essentially

the fundamental mechanism provided to combine knowledge bases is a kind of

message passing Roughly speaking, the resolution of an atom A i : [D i, µi] is

delegated to different databases, specified by the set D i of database names,and the annotation µ i is obtained by considering the least upper bounds of theannotations of each A i computed in the distinct databases Our approach is

quite different because the meta-level composition operators allow us to accessnot only to the relation defined by a predicate but also to the definition of the

predicate For instance P ∪ Q is equivalent to a program whose clauses are the union of the clauses of P and Q and thus the information which can be derived from P ∪ Q is greater than the union of what we can derive from P and Q

separately

In this paper we have introduced MuTACLP, a language which joins the tages of TACLP in handling temporal information with the ability to structureand compose programs The proposed framework allows one to deal with timepoints and time periods and to model definite, indefinite and periodic temporalinformation, which can be distributed among different theories Representingknowledge in separate programs naturally leads to use knowledge from differentsources; information can be stored at different sites and combined in a modularway by employing the meta-level operators This modular approach also favors

advan-the reuse of advan-the knowledge encoded in advan-the programs for future applications.

The language MuTACLP has been given a top-down semantics by means of

a meta-interepreter and a bottom-up semantics based on an immediate quence operator Concerning the bottom-up semantics, it would be interesting

conse-to investigate on different definitions of the immediate consequence operaconse-tor,

Trang 37

for instance by considering an operator similar to the function R P for

general-ized annotated programs [26] The domain of interpretations considered in thispaper is, in a certain sense, unstructured: interpretations are general sets of an-notated atoms and the order, which is simply subset inclusion, does not takeinto account the order on annotations Alternative solutions, based on differentnotions of interpretation, may consider more abstract domains These domainscan be obtained by endowingC-base L ×Ann with the product order (induced by

the identity relation onC-base L and the order on Ann) and then by taking as

elements of the domain (i.e as interpretations) only those subsets of annotatedatoms that satisfy some closure properties with respect to such an order Forinstance, one can require “downward-closedness”, which amounts to includingsubsumption in the immediate consequence operator Another possible prop-erty is “limit-closedness”, namely the presence of the least upper bound of alldirected sets, which, from a computational point of view, amounts to consider

computations which possibly require more than ω steps.

In [15] the language TACLP is presented as an instance of annotated straint logic (ACL) for reasoning about time Similarly, we could have first intro-duced a Multi-theory Annotated Constraint Logic (MuACL in brief), viewingMuTACLP as an instance of MuACL To define MuACL the constructions de-scribed in this paper should be generalized by using, as basic language for plainprograms, the more general paradigm of ACL where atoms can be labelled by ageneral class of annotations In defining MuACL we should require that the class

con-of annotations forms a lattice, in order to have both upper bounds and lowerbounds (the latter are necessary for the definition of the intersection operator).Indeed, it is not difficult to see that, under the assumption that only atoms can

be annotated and clauses are free of negation, both the meta-interpreter andthe immediate consequence operator smootly generalize to deal with generalannotations

Another interesting topic for future investigation is the treatment of tion In the line of Fr¨uhwirth, a possible solution consists of embodying the

nega-“negation by default” of logic programming into MuTACLP by exploiting thelogical equalities proved in [15]:

((¬A) th I) ⇔ ¬(A in I) ((¬A) in I) ⇔ ¬(A th I)

Consequently, the meta-interpreter is extended with two clauses which use suchequalities:

demo(E, (¬A) th I) ← ¬demo(E, A in I) demo(E, (¬A) in I) ← ¬demo(E, A th I)

However the interaction between negation by default and program compositionoperations is still to be fully understood Some results on the semantic inter-actions between operations and negation by default are presented in [8], where,nevertheless, the handling of time is not considered

Furthermore, it is worth noticing that in this paper we have implicitly sumed that the same unit for time is used in different programs, i.e we have

as-not dealt with different time granularities The ability to cope with different

Trang 38

granularities (e.g seconds, days, etc.) is particularly relevant to support erability among systems A simple way to handle this feature, is by introducing

interop-in MuTACLP a notion of time unit and a set of conversion predicates which

transform time points into the chosen time unit (see, e.g., [5])

We finally observe that in MuTACLP also spatial data can be naturallymodelled In fact, in the style of the constraint databases approaches (see,e.g., [25,37,20]) spatial data can be represented by using constraints The facil-ities to handle time offered by MuTACLP allows one to easily establish spatio-temporal correlations, for instance time-varying areas, or, more generally, movingobjects, supporting either discrete or continuous changes (see [38,31,40])

Acknowledgments: This work has been partially supported by Esprit Working

5 C Bettini, X S Wang, and S Jajodia An architecture for supporting

interoper-ability among temporal databases In [13], pages 36–55.

6 K.A Bowen and R.A Kowalski Amalgamating language and metalanguage in

logic programming In K L Clark and S.-A Tarnlund, editors, Logic programming, volume 16 of APIC studies in data processing, pages 153–172 Academic Press,

1982

7 A Brogi Program Construction in Computational Logic PhD thesis, Dipartimento

di Informatica, Universit`a di Pisa, 1993

8 A Brogi, S Contiero, and F Turini Programming by combining general logic

programs Journal of Logic and Computation, 9(1):7–24, 1999.

9 A Brogi, P Mancarella, D Pedreschi, and F Turini Modular logic

program-ming ACM Transactions on Programming Languages and Systems, 16(4):1361–

1398, 1994

10 C Brzoska Temporal Logic Programming with Metric and Past Operators In

[14], pages 21–39.

11 J Chomicki Temporal Query Languages: A Survey In Temporal Logic: Proceedings

of the First International Conference, ICTL’94, volume 827 of Lecture Notes in Artificial Intelligence, pages 506–534 Springer, 1994.

12 J Chomicki and T Imielinski Temporal Deductive Databases and Infinite Objects

In Proceedings of ACM SIGACT/SIGMOD Symposium on Principles of Database

Systems, pages 61–73, 1988.

13 O Etzion, S Jajodia, and S Sripada, editors Temporal Databases: Research and

Practice, volume 1399 of Lecture Notes in Computer Science Springer, 1998.

Trang 39

14 M Fisher and R Owens, editors Executable Modal and Temporal Logics, volume

897 of Lecture Notes in Artificial Intelligence Springer, 1995.

15 T Fr¨uhwirth Temporal Annotated Constraint Logic Programming Journal of

Symbolic Computation, 22:555–583, 1996.

16 D M Gabbay Modal and temporal logic programming In [18], pages 197–237.

17 D.M Gabbay and P McBrien Temporal Logic & Historical Databases In

Proceed-ings of the Seventeenth International Conference on Very Large Databases, pages

423–430, 1991

18 A Galton, editor Temporal Logics and Their Applications Academic Press, 1987.

19 A Galton A Critical Examination of Allen’s Theory of Action and Time Artificial

Intelligence, 42:159–188, 1990.

20 S Grumbach, P Rigaux, and L Segoufin The DEDALE system for complex

spatial queries In Proceedings of the ACM SIGMOD International Conference on

Management of Data (SIGMOD-98), pages 213–224, 1998.

21 T Hrycej A temporal extension of Prolog Journal of Logic Programming, 15(1&

2):113–145, 1993

22 J Jaffar and M.J Maher Constraint Logic Programming: A Survey Journal of

Logic Programming, 19 & 20:503–582, 1994.

23 J Jaffar, M.J Maher, K Marriott, and P.J Stuckey The Semantics of Constraint

Logic Programs Journal of Logic Programming, 37(1-3):1–46, 1998.

24 J Jaffar, S Michaylov, P Stuckey, and R Yap The CLP(R) Language and System

ACM Transactions on Programming Languages and Systems, 14(3):339–395, 1992.

25 P.C Kanellakis, G.M Kuper, and P.Z Revesz Constraint query languages

Jour-nal of Computer and System Sciences, 51(1):26–52, 1995.

26 M Kifer and V.S Subrahmanian Theory of Generalized Annotated Logic

Pro-gramming and its Applications Journal of Logic ProPro-gramming, 12:335–367, 1992.

27 M Koubarakis Database models for infinite and indefinite temporal information

Information Systems, 19(2):141–173, 1994.

28 R A Kowalski and M.J Sergot A Logic-based Calculus of Events New

Genera-tion Computing, 4(1):67–95, 1986.

29 R.A Kowalski and J.S Kim A metalogic programming approach to multi-agent

knowledge and belief In Artificial Intelligence and Mathematical Theory of

Com-putation Academic Press, 1991.

30 S.M Leach and J.J Lu Computing Annotated Logic Programs In Proceedings

of the eleventh International Conference on Logic Programming, pages 257–271,

1994

31 P Mancarella, G Nerbini, A Raffaet`a, and F Turini MuTACLP: A language

for declarative GIS analysis In Proceedings of the Sixth International Conference

on Rules and Objects in Databases (DOOD2000), volume 1861 of Lecture Notes in Artificial Intelligence, pages 1002–1016 Springer, 2000.

32 P Mancarella, A Raffaet`a, and F Turini Knowledge Representation with Multiple

Logical Theories and Time Journal of Experimental and Theoretical Artificial

34 B Martens and D De Schreye Why Untyped Nonground Metaprogramming Is

Not (Much Of) A Problem Journal of Logic Programming, 22(1):47–99, 1995.

35 M A Orgun On temporal deductive databases Computational Intelligence,

12(2):235–259, 1996

Trang 40

36 M A Orgun and W Ma An Overviewof Temporal and Modal Logic

Pro-gramming In Temporal Logic: Proceedings of the First International Conference,

ICTL’94, volume 827 of Lecture Notes in Artificial Intelligence, pages 445–479.

Springer, 1994

37 J Paredaens, J Van den Bussche, and D Van Gucht Towards a theory of spatial

database queries In Proceedings of the 13th ACM Symposium on Principles of

Database Systems, pages 279–288, 1994.

38 A Raffaet`a Spatio-temporal knowledge bases in a constraint logic programming

framework with multiple theories PhD thesis, Dipartimento di Informatica,

Uni-versit`a di Pisa, 2000

39 A Raffaet`a and T Fr¨uhwirth Semantics for Temporal Annotated Constraint

Logic Programming In Labelled Deduction, volume 17 of Applied Logic Series,

pages 215–243 Kluwer Academic, 2000

40 A Raffaet`a and C Renso Temporal Reasoning in Geographical Information

Sys-tems In International Workshop on Advanced Spatial Data Management (DEXA

Workshop), pages 899–905 IEEE Computer Society Press, 2000.

41 M J Sergot, F Sadri, R A Kowalski, F Kriwaczek, P Hammond, and H T

Cory The British Nationality Act as a logic program Communications of the

ACM, 29(5):370–386, 1986.

42 S Sripada and P M¨oller The Generalized ChronoBase Temporal Data Model In

Meta-logics and Logic Programming, pages 310–335 MIT Press, 1995.

43 S.M Sripada A logical framework for temporal deductive databases In

Proceed-ings of the Very Large Databases Conference, pages 171–182, 1988.

44 S.M Sripada Temporal Reasoning in Deductive Databases PhD thesis,

Depart-ment of Computing Imperial College of Science & Technology, 1991

45 V S Subrahmanian Amalgamating Knowledge Bases ACM Transactions on

Database Systems, 19(2):291–331, 1994.

46 A Tansel, J Clifford, S Gadia, S Jajodia, A Segev, and R Snodgrass editors

Temporal Databases: Theory, Design, and Implementation Benjamin/Cummings,

Ngày đăng: 07/04/2017, 16:32

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[2] Pieter Adriaans and Erik de Haas.Grammar induction as substructural induc- tive logic programming.In James Cussens and Saˇ so Dˇ zeroski, editors, Learning Language in Logic, volume 1925 of LNAI.Springer, 2000 Sách, tạp chí
Tiêu đề: Learning Language in Logic
Tác giả: Pieter Adriaans, Erik de Haas
Nhà XB: Springer
Năm: 2000
[4] George Boole. An Investigation of the Laws of Thought, on which are founded the Mathematical Theories of Logic and Probabilities.Dover, 1854 Sách, tạp chí
Tiêu đề: An Investigation of the Laws of Thought, on which are founded the Mathematical Theories of Logic and Probabilities
Tác giả: George Boole
Nhà XB: Dover
Năm: 1854
[5] Henrik Bostr¨ om.Induction of recursive transfer rules.In James Cussens and Saˇso Dˇ zeroski, editors, Learning Language in Logic, volume 1925 of LNAI.Springer, 2000 Sách, tạp chí
Tiêu đề: Learning Language in Logic
Tác giả: Henrik Boström
Nhà XB: Springer
Năm: 2000
[6] Eric Brill.A closer look at the automatic induction of linguistic knowledge.In James Cussens and Saˇ so Dˇ zeroski, editors, Learning Language in Logic, volume 1925 of LNAI.Springer, 2000 Sách, tạp chí
Tiêu đề: Learning Language in Logic", volume1925 of"LNAI
[7] M.E. Califf and R.J. Mooney. Relational learning of pattern-match rules for information extraction.In Proceedings of the Sixteenth National Conference on Artificial Intelligence, pages 328–334, Orlando, FL, July 1999 Sách, tạp chí
Tiêu đề: Proceedings of the Sixteenth National Conference on Artificial Intelligence
Tác giả: M.E. Califf, R.J. Mooney
Năm: 1999
[8] James Cussens.Loglinear models for first-order probabilistic reasoning.In Pro- ceedings of the Fifteenth Annual Conference on Uncertainty in Artificial Intel- ligence (UAI–99), pages 126–133, San Francisco, CA, 1999.Morgan Kaufmann Publishers Sách, tạp chí
Tiêu đề: Loglinear models for first-order probabilistic reasoning
Tác giả: James Cussens
Nhà XB: Morgan Kaufmann Publishers
Năm: 1999
[9] James Cussens.Stochastic logic programs: Sampling, inference and applications.In Proceedings of the Sixteenth Annual Conference on Uncertainty in Artificial Intelligence (UAI–2000), pages 115–122, San Francisco, CA, 2000.Morgan Kauf- mann Sách, tạp chí
Tiêu đề: Stochastic logic programs: Sampling, inference and applications
Tác giả: James Cussens
Nhà XB: Morgan Kaufmann
Năm: 2000
[10] James Cussens.Parameter estimation in stochastic logic programs.Machine Learning, 2001.To appear Sách, tạp chí
Tiêu đề: Parameter estimation in stochastic logic programs
Tác giả: James Cussens
Nhà XB: Machine Learning
Năm: 2001
[11] James Cussens and Stephen Pulman.Incorporating linguistics constraints into inductive logic programming.In Proceedings of CoNLL2000 and LLL2000, pages 184–193, Lisbon, September 2000.ACL Sách, tạp chí
Tiêu đề: Incorporating linguistics constraints into inductive logic programming
Tác giả: James Cussens, Stephen Pulman
Nhà XB: Proceedings of CoNLL2000 and LLL2000
Năm: 2000
[12] Saˇ so Dˇ zeroski, James Cussens, and Suresh Manandhar.An introduction to induc- tive logic programming and learning language in logic.In James Cussens and Saˇ so Dˇ zeroski, editors, Learning Language in Logic, volume 1925 of LNAI.Springer, 2000 Sách, tạp chí
Tiêu đề: Learning Language in Logic
Tác giả: Saˇ so Dˇ zeroski, James Cussens, Suresh Manandhar
Nhà XB: Springer
Năm: 2000
[13] Martin Eineborg and Nikolaj Lindberg.ILP in part-of-speech tagging — an overview.In James Cussens and Saˇ so Dˇ zeroski, editors, Learning Language in Logic, volume 1925 of LNAI.Springer, 2000 Sách, tạp chí
Tiêu đề: Learning Language in Logic
Tác giả: Martin Eineborg, Nikolaj Lindberg
Nhà XB: Springer
Năm: 2000
[14] Andreas Eisele.Towards probabilistic extensions of constraint-based grammars.Contribution to DYANA-2 Deliverable R1.2B, DYANA-2 project, 1994.Available at ftp://moon.philo.uva.nl/pub/dekker/dyana/R1.2.B Sách, tạp chí
Tiêu đề: Towards probabilistic extensions of constraint-based grammars
Tác giả: Andreas Eisele
Nhà XB: DYANA-2 project
Năm: 1994
[15] D.Faure and C.N´ edellec.A Corpus-based Conceptual Clustering Method for Verb Frames and Ontology Acquisition.In Paola Velardi, editor, LREC workshop on Adapting lexical and corpus ressources to sublanguages and applications, pages 5–12, Granada, Spain, May 1998 Sách, tạp chí
Tiêu đề: LREC workshop"on Adapting lexical and corpus ressources to sublanguages and applications
[16] Dimitar Kazakov.Achievements and prospects of learning word morphology with inductive logic programming.In James Cussens and Saˇ so Dˇ zeroski, editors, Learn- ing Language in Logic, volume 1925 of LNAI.Springer, 2000 Sách, tạp chí
Tiêu đề: Learning Language in Logic
Tác giả: Dimitar Kazakov
Nhà XB: Springer
Năm: 2000
[17] S.Muggleton and L.De Raedt. Inductive logic programming: Theory and meth- ods. Journal of Logic Programming, 20:629–679, 1994 Sách, tạp chí
Tiêu đề: Journal of Logic Programming
[18] Stephen Muggleton.Stochastic logic programs.In Luc De Raedt, editor, Advances in Inductive Logic Programming, volume 32 of Frontiers in Artificial Intelligence and Applications, pages 254–264.IOS Press, Amsterdam, 1996 Sách, tạp chí
Tiêu đề: Advances"in Inductive Logic Programming", volume 32 of"Frontiers in Artificial Intelligence"and Applications
[19] Stephen Muggleton.Semantics and derivation for stochastic logic programs.In Richard Dybowski, editor, Proceedings of the UAI-2000 Workshop on Fusion of Domain Knowledge with Data for Decision Support, 2000 Sách, tạp chí
Tiêu đề: Semantics and derivation for stochastic logic programs
Tác giả: Stephen Muggleton
Nhà XB: Proceedings of the UAI-2000 Workshop on Fusion of Domain Knowledge with Data for Decision Support
Năm: 2000
[20] Claire Nedellec.Corpus-based learning of semantic relations by the ILP system, Asium.In James Cussens and Saˇ so Dˇ zeroski, editors, Learning Language in Logic, volume 1925 of LNAI.Springer, 2000 Sách, tạp chí
Tiêu đề: Learning Language in Logic
Tác giả: Claire Nedellec
Nhà XB: Springer
Năm: 2000
[21] Miles Osborne.DCG induction using MDL and parsed corpora.In James Cussens and Saˇ so Dˇ zeroski, editors, Learning Language in Logic, volume 1925 of LNAI.Springer, 2000 Sách, tạp chí
Tiêu đề: Learning Language in Logic
Tác giả: Miles Osborne
Nhà XB: Springer
Năm: 2000
[22] Stefan Riezler. Probabilistic Constraint Logic Programming.PhD thesis, Univer- sit¨ at T¨ ubingen, 1998.AIMS Report 5(1), 1999, IMS, Universit¨ at Stuttgart Sách, tạp chí
Tiêu đề: Probabilistic Constraint Logic Programming
Tác giả: Stefan Riezler
Nhà XB: AIMS Report 5(1)
Năm: 1998