Introduction to Logic Programming
Book information
Description
Logic Programming is a style of programming in which programs take the form of sets of sentences in the language of Symbolic Logic. Over the years, there has been growing interest in Logic Programming due to applications in deductive databases, automated worksheets, Enterprise Management (business rules), Computational Law, and General Game Playing. This book introduces Logic Programming theory, current technology, and popular applications. In this volume, we take an innovative, model-theoretic approach to logic programming. We begin with the fundamental notion of datasets, i.e., sets of ground atoms. Given this fundamental notion, we introduce views, i.e., virtual relations; and we define classical logic programs as sets of view definitions, written using traditional Prolog-like notation but with semantics given in terms of datasets rather than implementation. We then introduce actions, i.e., additions and deletions of ground atoms; and we define dynamic logic programs as sets of action definitions. In addition to the printed book, there is an online version of the text with an interpreter and a compiler for the language used in the text and an integrated development environment for use in developing and deploying practical logic programs. This is a book for the 21st century: presenting an elegant and innovative perspective on logic programming. Unlike other texts, it takes datasets as a fundamental notion, thereby bridging the gap between programming languages and knowledge representation languages; and it treats updates on an equal footing with datasets, leading to a sound and practical treatment of action and change. - Bob Kowalski, Professor Emeritus, Imperial College London In a world where Deep Learning and Python are the talk of the day, this book is a remarkable development. It introduces the reader to the fundamentals of traditional Logic Programming and makes clear the benefits of using the technology to create runnable specifications for complex systems. - Son Cao Tran, Professor in Computer Science, New Mexico State University Excellent introduction to the fundamentals of Logic Programming. The book is well-written and well-structured. Concepts are explained clearly and the gradually increasing complexity of exercises makes it so that one can understand easy notions quickly before moving on to more difficult ideas. - George Younger, student, Stanford University Preface Introduction Introduction Programming in Logic Logic Programs as Runnable Specifications Advantages of Logic Programming Applications of Logic Programming Basic Logic Programming Datasets Introduction Conceptualization Datasets Example – Sorority World Example – Kinship Example – Blocks World Example – Food World Reformulation Exercises Queries and Updates Queries Introduction Query Syntax Query Semantics Safety Predefined Concepts Example – Kinship Example – Map Coloring Exercises Updates Introduction Update Syntax Update Semantics Simultaneous Updates Example – Kinship Example – Colors Exercises Query Evaluation Introduction Evaluating Ground Queries Matching Evaluating Queries With Variables Computational Analysis Exercises View Optimization Introduction Subgoal Ordering Subgoal Removal Rule Removal Example – Cryptarithmetic Exercises View Definitions View Definitions Introduction Syntax Semantics Semipositive Programs Stratified Programs Exercises View Evaluation Introduction Top-Down Processing of Ground Goals and Rules Unification Top-Down Processing of Non-Ground Queries and Rules Exercises Examples Introduction Example – Kinship Example – Blocks World Example – Modular Arithmetic Example – Directed Graphs Exercises Lists, Sets, Trees Introduction Example – Peano Arithmetic Lists Example – Sorted Lists Example – Sets Example – Trees Exercises Dynamic Systems Introduction Representation Simulation Planning Exercises Metaknowledge Introduction Natural Language Processing Boolean Logic Exercises Operation Definitions Operations Introduction Syntax Semantics Exercises Dynamic Logic Programs Introduction Reactive Systems Closed Systems Mixed Initiative Simultaneous Actions Exercises Database Management Introduction Update With Constraints Maintaining Materialized Views Update Through Views Exercises Interactive Worksheets Interactive Worksheets Example Page Data Gestures Operation Definitions View Definitions Semantic Modeling Conclusion Variations Introduction Logic Production Systems Constraint Logic Programming Disjunctive Logic Programming Existential Logic Programming Answer Set Programming Inductive Logic Programming Predefined Concepts in EpilogJS Introduction Relations Math Functions String Functions List Functions Arithmetic List Functions Conversion Functions Aggregates Operators Sierra Introduction Getting Started Data Queries Updates View Definitions Operation Definitions Settings File Management Conclusion References Authors' Biographies Blank Page
Similar books
Введение в логическое программирование
2022 · PDF
Semantic Modeling for Data: Avoiding Pitfalls and Breaking Dilemmas
2020 · PDF
Twitterbots: Making Machines That Make Meaning
2018 · PDF
Introduction to Logic Programming
2020 · PDF
General Game Playing
2014 · PDF
Data Integration: The Relational Logic Approach
2010 · PDF
Introduction to Logic
2013 · PDF
General Game Playing
2014 · PDF