Michael Kifer, Yanhong Annie Liu, editors
www.morganclaypoolpublishers.com
ISBN: 978-1-97000-199-0 hardcover
ISBN: 978-1-97000-196-9 paperback
ISBN: 978-1-97000-197-6 eBook
ISBN: 978-1-97000-198-3 ePub
Series ISSN: 2374-6769 print 2374-6777 electronic
DOIs:
10.1145/3191315 Book
10.1145/3191315.3191316 Preface
10.1145/3191315.3191317 Chapter 1
10.1145/3191315.3191318 Chapter 2
10.1145/3191315.3191319 Chapter 3
10.1145/3191315.3191320 Chapter 4
10.1145/3191315.3191321 Chapter 5
10.1145/3191315.3191322 Chapter 6
10.1145/3191315.3191323 Chapter 7
10.1145/3191315.3191324 Chapter 8
10.1145/3191315.3191325 Chapter 9
10.1145/3191315.3191326 Chapter 10
10.1145/3191315.3191327 Index
A publication in the ACM Books series, #20
Editor in Chief: M. Tamer Özsu, University of Waterloo
Area Editor: Yanhong Annie Liu, Stony Brook University
This book was typeset in Arnhem Pro 10/14 and Flama using ZzTEX.
First Edition
10 9 8 7 6 5 4 3 2 1
To David Scott Warren, for his groundbreaking work on principles and systems for logic programming
Contents
Chapter 1 Datalog: Concepts, History, and Outlook
David Maier, K. Tuncay Tekle, Michael Kifer, David S. Warren
1.1 Introduction
1.2 The Emergence of Datalog
1.3 Coining “Datalog”
1.4 Extensions to Datalog
1.5 Evaluation Techniques
1.6 Early Datalog and Deductive Database Systems
1.7 The Decline and Resurgence of Datalog
1.8 Current Systems and Comparison
1.9 Conclusions
Chapter 2 An Introduction to the Stable and Well-Founded Semantics of Logic Programs
Miroslaw Truszczynski
2.1 Introduction
2.2 Terminology, Notation, and Other Preliminaries
2.3 The Case of Horn Logic Programs
2.4 Moving Beyond Horn Programs—An Informal Introduction
2.5 The Stable Model Semantics
2.6 The Well-Founded Model Semantics
2.7 Concluding Remarks
Acknowledgments
References
Chapter 3 A Survey of Probabilistic Logic Programming
Fabrizio Riguzzi, Theresa Swift
3.1 Introduction
3.2 Languages with the Distribution Semantics
3.3 Defining the Distribution Semantics
3.4 Other Semantics for Probabilistic Logics
3.5 Probabilistic Logic Programs and Bayesian Networks
3.6 Inferencing in Probabilistic Logic Programs
3.7 Discussion
Acknowledgments
References
Chapter 4 WAM for Everyone: A Virtual Machine for Logic Programming
David S. Warren
4.1 Introduction
4.2 The Run-Time Environment of a Traditional Procedural Language
4.3 Deterministic Datalog
4.4 Deterministic Prolog
4.5 Nondeterministic Prolog
4.6 Last Call Optimization
4.7 Indexing
4.8 Environment Trimming
4.9 Features Required for Full Prolog
4.10 WAM Extensions for Tabling
4.11 Concluding Remarks
Acknowledgments
References
Chapter 5 Predicate Logic as a Modeling Language: The IDP System
Broes De Cat, Bart Bogaerts, Maurice Bruynooghe, Gerda Janssens, Marc Denecker
5.1 Introduction
5.2 FO(ID, AGG, PF, T), the Formal Base Language
5.3 IDP as a Knowledge Base System
5.4 The IDP Language
5.5 Advanced Features
5.6 Under the Hood
5.7 In Practice
5.8 Related Work
5.9 Conclusion
References