Computational Logic and Human Thinking: How to Be Artificially Intelligent
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
By Robert Kowalski
Edinburgh Research Explorer Review of "Computational logic and human thinking: How to be artificially intelligent" by Robert Kowalski Citation for published version: Bundy, A 2012, 'Review of "Computational logic and human thinking: How to be artificially intelligent" by Robert Kowalski', Artificial Intelligence, vol. 191-192, pp. 96-97. https://doi.org/10.1016/j.artint.2012.05.006 Digital Object Identifier (DOI): 10.1016/j.artint.2012.05.006 Link: Link to publication record in Edinburgh Research Explorer Document Version: Early version, also known as pre-print Published In: Artificial Intelligence General rights Copyright for the publications made accessible via the Edinburgh Research Explorer is retained by the author(s) and / or other copyright owners and it is a condition of accessing these publications that users recognise and abide by the legal requirements associated with these rights. Take down policy The University of Edinburgh has made every reasonable effort to ensure that Edinburgh Research Explorer content complies with UK legislation. If you believe that the public display of this file breaches copyright please contact [email protected] providing details, and we will remove access to the work immediately and investigate your claim. Download date: 27. Sep. 2021 Review of \Computational Logic and Human Thinking: How to be Artificially Intelligent" by Robert Kowalski Alan Bundy School of Informatics, University of Edinburgh, Informatics Forum, 10 Crichton St, Edinburgh, EH8 9AB, Scotland 1 August 2012 Abstract This is a review of the book \Computational Logic and Human Thinking: How to be Artificially Intelligent" by Robert Kowalski. Keywords: computational logic, human thinking, book review. -
7. Logic Programming in Prolog
Artificial Intelligence 7. Logic Programming in Prolog Prof. Bojana Dalbelo Baˇsi´c Assoc. Prof. Jan Snajderˇ University of Zagreb Faculty of Electrical Engineering and Computing Academic Year 2019/2020 Creative Commons Attribution{NonCommercial{NoDerivs 3.0 v1.10 Dalbelo Baˇsi´c, Snajderˇ (UNIZG FER) AI { Logic programming AY 2019/2020 1 / 38 Outline 1 Logic programming and Prolog 2 Inference on Horn clauses 3 Programming in Prolog 4 Non-declarative aspects of Prolog Dalbelo Baˇsi´c, Snajderˇ (UNIZG FER) AI { Logic programming AY 2019/2020 2 / 38 Outline 1 Logic programming and Prolog 2 Inference on Horn clauses 3 Programming in Prolog 4 Non-declarative aspects of Prolog Dalbelo Baˇsi´c, Snajderˇ (UNIZG FER) AI { Logic programming AY 2019/2020 3 / 38 Logic programming Logic programming: use of logic inference as a way of programming Main idea: define the problem in terms of logic formulae, then let the computer do the problem solving (program execution = inference) This is a typical declarative programming approach: express the logic of computation, don't bother with the control flow We focus on the description of the problem (declarative), rather than on how the program is executed (procedural) However, we still need some flow control mechanism, thus: Algorithm = Logic + Control Different from automated theorem proving because: 1 explicit control flow is hard-wired into the program 2 not the full expressivity of FOL is supported Dalbelo Baˇsi´c, Snajderˇ (UNIZG FER) AI { Logic programming AY 2019/2020 4 / 38 Refresher: Declarative programming -
Infinite Computation, Co-Induction and Computational Logic
Infinite Computation, Co-induction and Computational Logic Gopal Gupta Neda Saeedloei, Brian DeVries, Richard Min, Kyle Marple, Feliks Klu´zniak Department of Computer Science, University of Texas at Dallas, Richardson, TX 75080. Abstract. We give an overview of the coinductive logic programming paradigm. We discuss its applications to modeling ω-automata, model checking, verification, non-monotonic reasoning, developing SAT solvers, etc. We also discuss future research directions. 1 Introduction Coinduction is a technique for reasoning about unfounded sets [12], behavioral properties of programs [2], and proving liveness properties in model checking [16]. Coinduction also provides the foundation for lazy evaluation [9] and type inference [21] in functional programming as well as for interactive computing [33]. Coinduction is the dual of induction. Induction corresponds to well-founded structures that start from a basis which serves as the foundation: e.g., natural numbers are inductively defined via the base element zero and the successor function. Inductive definitions have 3 components: initiality, iteration and mini- mality. For example, the inductive definition of lists of numbers is as follows: (i) [] (empty list) is a list (initiality); (ii) [H|T] is a a list if T is a list and H is some number (iteration); and, (iii) the set of lists is the smallest set satisfying (i) and (ii) (minimality). Minimality implies that infinite-length lists of numbers are not members of the inductively defined set of lists of numbers. Inductive definitions correspond to least fixed point (LFP) interpretations of recursive definitions. Coinduction eliminates the initiality condition and replaces the minimality condition with maximality. Thus, the coinductive definition of a list of numbers is: (i) [H|T] is as a list if T is a list and H is some number (iteration); and, (ii) the set of lists is the largest set of lists satisfying (i) (maximality). -
Resources for Further Study
Resources for Further Study A number of valuable resources are available for further study of philosophical logic. In addition to the books and articles cited in the references at the end of each chapter included in this volume, there are four general categories of resources that can be consulted for information about the history and current research developments in philosophical logic. Additional materials can be found by soliciting advice from logicians, philosophers, and mathematicians at local colleges and universities. Logic Handbooks Many university and independent presses publish books on or related to mathematical and philo- sophical logic. There are also several special series of original monographs in logic that are worth investigating. The literature is too vast to justify a selection of the individual books that have con- tributed to the development of logic. We can nevertheless identify special categories of texts of special interest, beginning with handbooks and book series dedicated to logic and philosophical logic. Here are some recent relevant publications: Boyer, Robert S. (1988) A Computational Logic Handbook. Boston, MA: Academic Press. Sherwood, John C. (1960) Discourse of Reason: A Brief Handbook of Semantics and Logic. New York: Harper & Row. Handbook of Fuzzy Computation, ed. Enrique H. Ruspini, Piero P. Bonissone and Witold Pedrycz. Philadelphia, PA: Institute of Physics Publications, 1998. Handbook of Logic and Language, ed. Johan van Benthem and Alice ter Meulen. Cambridge, MA: MIT Press, 1997. Handbook of Logic in Artificial Intelligence and Logic Programming, ed. Dov Gabbay, C. J. Hogger, and J. A. Robinson. Oxford: Clarendon Press, 1993–8. Emmet, E. R. (1984) Handbook of Logic. -
Inconsistency Robustness for Logic Programs Carl Hewitt
Inconsistency Robustness for Logic Programs Carl Hewitt To cite this version: Carl Hewitt. Inconsistency Robustness for Logic Programs. Inconsistency Robustness, 2015, 978-1- 84890-159. hal-01148496v6 HAL Id: hal-01148496 https://hal.archives-ouvertes.fr/hal-01148496v6 Submitted on 27 Apr 2016 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Copyright Inconsistency Robustness for Logic Programs Carl Hewitt This article is dedicated to Alonzo Church and Stanisław Jaśkowski Abstract This article explores the role of Inconsistency Robustness in the history and theory of Logic Programs. Inconsistency Robustness has been a continually recurring issue in Logic Programs from the beginning including Church's system developed in the early 1930s based on partial functions (defined in the lambda calculus) that he thought would allow development of a general logic without the kind of paradoxes that had plagued earlier efforts by Frege, etc.1 Planner [Hewitt 1969, 1971] was a kind of hybrid between the procedural and logical paradigms in that it featured a procedural embedding of logical sentences in that an implication of the form (p implies q) can be procedurally embedded in the following ways: Forward chaining When asserted p, Assert q When asserted q, Assert p Backward chaining When goal q, SetGoal p When goal p, SetGoal q Developments by different research groups in the fall of 1972 gave rise to a controversy over Logic Programs that persists to this day in the form of following alternatives: 1. -
Development of Logic Programming: What Went Wrong, What Was Done About It, and What It Might Mean for the Future
Development of Logic Programming: What went wrong, What was done about it, and What it might mean for the future Carl Hewitt at alum.mit.edu try carlhewitt Abstract follows: A class of entities called terms is defined and a term is an expression. A sequence of expressions is an Logic Programming can be broadly defined as “using logic expression. These expressions are represented in the to deduce computational steps from existing propositions” machine by list structures [Newell and Simon 1957]. (although this is somewhat controversial). The focus of 2. Certain of these expressions may be regarded as this paper is on the development of this idea. declarative sentences in a certain logical system which Consequently, it does not treat any other associated topics will be analogous to a universal Post canonical system. related to Logic Programming such as constraints, The particular system chosen will depend on abduction, etc. programming considerations but will probably have a The idea has a long development that went through single rule of inference which will combine substitution many twists in which important questions turned out to for variables with modus ponens. The purpose of the combination is to avoid choking the machine with special have surprising answers including the following: cases of general propositions already deduced. Is computation reducible to logic? 3. There is an immediate deduction routine which when Are the laws of thought consistent? given a set of premises will deduce a set of immediate This paper describes what went wrong at various points, conclusions. Initially, the immediate deduction routine what was done about it, and what it might mean for the will simply write down all one-step consequences of the future of Logic Programming. -
Logic for Problem Solving
LOGIC FOR PROBLEM SOLVING Robert Kowalski Imperial College London 12 October 2014 PREFACE It has been fascinating to reflect and comment on the way the topics addressed in this book have developed over the past 40 years or so, since the first version of the book appeared as lecture notes in 1974. Many of the developments have had an impact, not only in computing, but also more widely in such fields as math- ematical, philosophical and informal logic. But just as interesting (and perhaps more important) some of these developments have taken different directions from the ones that I anticipated at the time. I have organised my comments, chapter by chapter, at the end of the book, leaving the 1979 text intact. This should make it easier to compare the state of the subject in 1979 with the subsequent developments that I refer to in my commentary. Although the main purpose of the commentary is to look back over the past 40 years or so, I hope that these reflections will also help to point the way to future directions of work. In particular, I remain confident that the logic-based approach to knowledge representation and problem solving that is the topic of this book will continue to contribute to the improvement of both computer and human intelligence for a considerable time into the future. SUMMARY When I was writing this book, I was clear about the problem-solving interpretation of Horn clauses, and I knew that Horn clauses needed to be extended. However, I did not know what extensions would be most important. -
Types in Logic, Mathematics, and Programming from the Handbook of Proof Theory
CHAPTER X Types in Logic, Mathematics and Programming Robert L. Constable Computer Science Department, Cornell University Ithaca, New York 1~853, USA Contents 1. Introduction ..................................... 684 2. Typed logic ..................................... 692 3. Type theory ..................................... 726 4. Typed programming languages ........................... 754 5. Conclusion ...................................... 766 6. Appendix ...................................... 768 References ........................................ 773 HANDBOOK OF PROOF THEORY Edited by S. R. Buss 1998 Elsevier Science B.V. All rights reserved 684 R. Constable 1. Introduction Proof theory and computer science are jointly engaged in a remarkable enter- prise. Together they provide the practical means to formalize vast amounts of mathematical knowledge. They have created the subject of automated reasoning and a digital computer based proof technology; these enable a diverse community of mathematicians, computer scientists, and educators to build a new artifact a globally distributed digital library of formalized mathematics. I think that this artifact signals the emergence of a new branch of mathematics, perhaps to be called Formal Mathematics. The theorems of this mathematics are completely formal and are processed digitally. They can be displayed as beautifully and legibly as journal quality mathematical text. At the heart of this library are completely formal proofs created with computer assistance. Their correctness is based on the axioms and rules of various foundational theories; this formal accounting of correctness supports the highest known standards of rigor and truth. The need to formally relate results in different foundational theories opens a new topic in proof theory and foundations of mathematics. Formal proofs of interesting theorems in current foundational theories are very large rigid objects. Creating them requires the speed and memory capacities of modern computer hardware and the expressiveness of modern software. -
Contribution of Warsaw Logicians to Computational Logic
axioms Article Contribution of Warsaw Logicians to Computational Logic Damian Niwi ´nski Institute of Informatics, University of Warsaw, 02-097 Warsaw, Poland; [email protected]; Tel.: +48-22-554-4460 Academic Editor: Urszula Wybraniec-Skardowska Received: 22 April 2016; Accepted: 31 May 2016; Published: 3 June 2016 Abstract: The newly emerging branch of research of Computer Science received encouragement from the successors of the Warsaw mathematical school: Kuratowski, Mazur, Mostowski, Grzegorczyk, and Rasiowa. Rasiowa realized very early that the spectrum of computer programs should be incorporated into the realm of mathematical logic in order to make a rigorous treatment of program correctness. This gave rise to the concept of algorithmic logic developed since the 1970s by Rasiowa, Salwicki, Mirkowska, and their followers. Together with Pratt’s dynamic logic, algorithmic logic evolved into a mainstream branch of research: logic of programs. In the late 1980s, Warsaw logicians Tiuryn and Urzyczyn categorized various logics of programs, depending on the class of programs involved. Quite unexpectedly, they discovered that some persistent open questions about the expressive power of logics are equivalent to famous open problems in complexity theory. This, along with parallel discoveries by Harel, Immerman and Vardi, contributed to the creation of an important area of theoretical computer science: descriptive complexity. By that time, the modal m-calculus was recognized as a sort of a universal logic of programs. The mid 1990s saw a landmark result by Walukiewicz, who showed completeness of a natural axiomatization for the m-calculus proposed by Kozen. The difficult proof of this result, based on automata theory, opened a path to further investigations. -
Copyright by Amelia J. Harrison 2017
Copyright by Amelia J. Harrison 2017 The Dissertation Committee for Amelia J. Harrison certifies that this is the approved version of the following dissertation: Formal Methods for Answer Set Programming Committee: Vladimir Lifschitz, Supervisor Robert S. Boyer Isil Dillig Warren A. Hunt, Jr. Torsten Schaub Formal Methods for Answer Set Programming by Amelia J. Harrison Dissertation Presented to the Faculty of the Graduate School of The University of Texas at Austin in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy The University of Texas at Austin December 2017 To Grandmother Betsy Acknowledgments It’s not an exaggeration to say that were it not for many people other than myself this document would not exist. This is by no means an exhaustive list. I’ve had the opportunity to collaborate with many wonderful and talented colleagues. Among them are Daniel Bailey, Martin Gebser, Yuliya Lierler, Roland Kaminski, Julian Michael, David Pearce, Dhananjay Raju, Mirek Truszczynski, Agustin Valverde, and Fangkai Yang. Without friends to help maintain balance, it’s entirely unclear if I would have been able to see this through. Backyard barbecues and Game of Thrones viewing parties have been essential. I feel especially lucky to have met early on, and shared much of this journey with Hannah Alpert-Abrams and Kate Mesh. My family has been a constant source of reassurance and has helped me nav- igate many of the inevitable bouts of self-doubt that arise in the process of a Ph.D. This includes my parents, Jack and Betsy Harrison, who have always unequivocally encouraged me to find my own path. -
CSCI 334: Principles of Programming Languages Lecture 21: Logic
Announcements CSCI 334: Principles of Programming Languages Be a TA! Lecture 21: Logic Programming Instructor: Dan Barowy Announcements Logic Programming • Logic programming began as a collaboration between AI researchers (e.g., John McCarthy) and logicians (e.g., John Alan Robinson) to solve problems in artificial intelligence. • Cordell Green built the first “question and answer” system using Robinson’s “unification algorithm,” demonstrating that it was practical to prove theorems automatically. Prolog Declarative Programming • Alain Colmerauer and Phillippe Roussel at Aix- Marseille University invented Prolog in 1972. • Declarative programming is a very different style of programming than • They were inspired by a particular formulation of you have seen to this point. logic, called “Horn clauses,” popularized by the • Mostly, you have seen imperative programs. logician Robert Kowalski. • In imperative-style programming, the programmer instructs the • Horn clauses have a “procedural interpretation,” computer how to compute the desired result. meaning that they suggest a simple procedure for • In declarative-style programming, the computer already knows how solving them, called “resolution.” to compute results. • John Alan Robinson’s unification algorithm is an • Instead, the programmer asks the computer what to compute. efficient algorithm for doing resolution, and this is essentially the algorithm used by Prolog. Declarative Programming Prolog • The goal of AI is to enable a computer to answer declarative queries. • Most of you have probably been CS majors for long enough that we • I.e., it already knows how to answer you. have sufficiently damaged your brain such that you do not recognize • Prolog was an attempt to solve this problem. the difference between these two concepts. -
Computational Logic: Memories of the Past and Challenges for the Future
Computational Logic: Memories of the Past and Challenges for the Future John Alan Robinson Highland Institute, 96 Highland Avenue, Greenfield, MA 01301, USA. Abstract. The development of computational logic since the introduction of Frege's modern logic in 1879 is presented in some detail. The rapid growth of the field and its proliferation into a wide variety of subfields is noted and is attributed to a proliferation of subject matter rather than to a proliferation of logic itself. Logic is stable and universal, and is identified with classical first order logic. Other logics are here considered to be first order theories, syntactically sugared in notationally convenient forms. From this point of view higher order logic is essentially first order set theory. The paper ends by presenting several challenging problems which the computational logic community now faces and whose solution will shape the future of the field. 1 Introduction Although logic and computing are each very old subjects, going back very much more than a mere hundred years, it is only during the past century that they have merged and become essentially one subject. As the logican Quine wrote in 1960, "The basic notions of proof theory converge with those of machine computing. ... The utterly pure theory of mathematical proof and the utterly technological theory of machine computation are thus at bottom one, and the basic insights of each are henceforth insights of the other" ([1], p. 41). The aptly-named subject of computational logic - no pun intended - subsumes a wide variety of interests and research activities. All have something to do with both logic and computation.