Logic in Computer Science
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Logic and Proof Computer Science Tripos Part IB
Logic and Proof Computer Science Tripos Part IB Lawrence C Paulson Computer Laboratory University of Cambridge [email protected] Copyright c 2015 by Lawrence C. Paulson Contents 1 Introduction and Learning Guide 1 2 Propositional Logic 2 3 Proof Systems for Propositional Logic 5 4 First-order Logic 8 5 Formal Reasoning in First-Order Logic 11 6 Clause Methods for Propositional Logic 13 7 Skolem Functions, Herbrand’s Theorem and Unification 17 8 First-Order Resolution and Prolog 21 9 Decision Procedures and SMT Solvers 24 10 Binary Decision Diagrams 27 11 Modal Logics 28 12 Tableaux-Based Methods 30 i 1 INTRODUCTION AND LEARNING GUIDE 1 1 Introduction and Learning Guide 2008 Paper 3 Q6: BDDs, DPLL, sequent calculus • 2008 Paper 4 Q5: proving or disproving first-order formulas, This course gives a brief introduction to logic, including • resolution the resolution method of theorem-proving and its relation 2009 Paper 6 Q7: modal logic (Lect. 11) to the programming language Prolog. Formal logic is used • for specifying and verifying computer systems and (some- 2009 Paper 6 Q8: resolution, tableau calculi • times) for representing knowledge in Artificial Intelligence 2007 Paper 5 Q9: propositional methods, resolution, modal programs. • logic The course should help you to understand the Prolog 2007 Paper 6 Q9: proving or disproving first-order formulas language, and its treatment of logic should be helpful for • 2006 Paper 5 Q9: proof and disproof in FOL and modal logic understanding other theoretical courses. It also describes • 2006 Paper 6 Q9: BDDs, Herbrand models, resolution a variety of techniques and data structures used in auto- • mated theorem provers. -
A Prolog Technology Theorem Prover: a New Exposition and Implementation in Prolog*
View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Elsevier - Publisher Connector Theoretical Computer Science 104 (1992) 109-128 109 Elsevier A Prolog technology theorem prover: a new exposition and implementation in Prolog* Mark E. Stickel Artificial Intelligence Center, SRI International, Menlo Park, CA 94025, USA Abstract Stickel, M.E., A Prolog technology theorem prover: a new exposition and implementation in Prolog, Theoretical Computer Science 104 (1992) 109-128. A Prolog technology theorem prover (P’ITP) is an extension of Prolog that is complete for the full first-order predicate calculus. It differs from Prolog in its use of unification with the occurs check for soundness, depth-first iterative-deepening search instead of unbounded depth-first search to make the search strategy complete, and the model elimination reduction rule that is added to Prolog inferences to make the inference system complete. This paper describes a new Prolog-based implementation of PTTP. It uses three compile-time transformations to translate formulas into Prolog clauses that directly execute, with the support of a few run-time predicates, the model elimination procedure with depth-first iterative-deepening search and unification with the occurs check. Its high performance exceeds that of Prolog-based PTTP interpreters, and it is more concise and readable than the earlier Lisp-based compiler, which makes it superior for expository purposes. Examples of inputs and outputs of the compile-time transformations provide an easy and precise way to explain how PTTP works. This Prolog-based version makes it easier to incorporate PTTP theorem-proving ideas into Prolog programs. -
Logic and Proof
Logic and Proof Computer Science Tripos Part IB Michaelmas Term Lawrence C Paulson Computer Laboratory University of Cambridge [email protected] Copyright c 2007 by Lawrence C. Paulson Contents 1 Introduction and Learning Guide 1 2 Propositional Logic 3 3 Proof Systems for Propositional Logic 13 4 First-order Logic 20 5 Formal Reasoning in First-Order Logic 27 6 Clause Methods for Propositional Logic 33 7 Skolem Functions and Herbrand’s Theorem 41 8 Unification 50 9 Applications of Unification 58 10 BDDs, or Binary Decision Diagrams 65 11 Modal Logics 68 12 Tableaux-Based Methods 74 i ii 1 1 Introduction and Learning Guide This course gives a brief introduction to logic, with including the resolution method of theorem-proving and its relation to the programming language Prolog. Formal logic is used for specifying and verifying computer systems and (some- times) for representing knowledge in Artificial Intelligence programs. The course should help you with Prolog for AI and its treatment of logic should be helpful for understanding other theoretical courses. Try to avoid getting bogged down in the details of how the various proof methods work, since you must also acquire an intuitive feel for logical reasoning. The most suitable course text is this book: Michael Huth and Mark Ryan, Logic in Computer Science: Modelling and Reasoning about Systems, 2nd edition (CUP, 2004) It costs £35. It covers most aspects of this course with the exception of resolution theorem proving. It includes material (symbolic model checking) that should be useful for Specification and Verification II next year. -
Designing a Theorem Prover
Designing a Theorem Prover Lawrence C Paulson Computer Laboratory University of Cambridge May 1990 CONTENTS 2 Contents 1 Folderol: a simple theorem prover 3 1.1 Representation of rules :::::::::::::::::::::::::: 4 1.2 Propositional logic :::::::::::::::::::::::::::: 5 1.3 Quanti¯ers and uni¯cation :::::::::::::::::::::::: 7 1.4 Parameters in quanti¯er rules :::::::::::::::::::::: 7 2 Basic data structures and operations 10 2.1 Terms ::::::::::::::::::::::::::::::::::: 10 2.2 Formulae :::::::::::::::::::::::::::::::::: 11 2.3 Abstraction and substitution ::::::::::::::::::::::: 11 2.4 Parsing and printing ::::::::::::::::::::::::::: 13 3 Uni¯cation 14 3.1 Examples ::::::::::::::::::::::::::::::::: 15 3.2 Parameter dependencies in uni¯cation :::::::::::::::::: 16 3.3 The environment ::::::::::::::::::::::::::::: 17 3.4 The ML code for uni¯cation ::::::::::::::::::::::: 17 3.5 Extensions and omissions ::::::::::::::::::::::::: 18 3.6 Instantiation by the environment :::::::::::::::::::: 19 4 Inference in Folderol 20 4.1 Solving a goal ::::::::::::::::::::::::::::::: 21 4.2 Selecting a rule :::::::::::::::::::::::::::::: 22 4.3 Constructing the subgoals :::::::::::::::::::::::: 23 4.4 Goal selection ::::::::::::::::::::::::::::::: 25 5 Folderol in action 27 5.1 Propositional examples :::::::::::::::::::::::::: 27 5.2 Quanti¯er examples :::::::::::::::::::::::::::: 30 5.3 Beyond Folderol: advanced automatic methods ::::::::::::: 37 6 Interactive theorem proving 39 6.1 The Boyer/Moore theorem prover :::::::::::::::::::: 40 6.2 The Automath languages -
Logical Inference 3 Resolution
Resolution Logical • Resolution is a sound and complete inference procedure for unrestricted FOL • Reminder: Resolution rule for propositional Inference 3 logic: – P1 ∨ P2 ∨ ... ∨ Pn – P Q ... Q resolution ¬ 1 ∨ 2 ∨ ∨ m – Resolvent: P2 ∨ ... ∨ Pn ∨ Q2 ∨ ... ∨ Qm • We’ll need to extend this to handle Chapter 9 quantifiers and variables Some material adopted from notes by Andreas Geyer-Schulz,, Chuck Dyer, and Mary Getoor Two Common Normal Forms for a KB Resolution covers many cases Implicative normal form Conjunctive normal form • Modes Ponens • Set of sentences where • Set of sentences where – from P and P Q derive Q each is expressed as an each is a disjunction of → implication atomic literals – from P and ¬ P ∨ Q derive Q • Chaining • Left hand side of • P, Q, ~P ∨ ~Q ∨ R implication is a – from P → Q and Q → R derive P → R conjunction of 0 or more – from (¬ P ∨ Q) and (¬ Q ∨ R) derive ¬ P ∨ R literals • Contradiction detection • P , Q, P ∧ Q => R – from P and ¬ P derive false – from P and ¬ P derive the empty clause (=false) 1 Resolution in first-order logic A resolution proof tree • Given sentences in conjunctive normal form: – P1 ∨ ... ∨ Pn and Q1 ∨ ... ∨ Qm – Pi and Qi are literals, i.e., positive or negated predicate symbol with its terms • if Pj and ¬Qk unify with substitution list θ, then derive the resolvent sentence: subst(θ, P1∨…∨Pj-1∨Pj+1…Pn∨ Q1∨…Qk-1∨Qk+1∨…∨Qm) • Example – from clause P(x, f(a)) ∨ P(x, f(y)) ∨ Q(y) – and clause ¬P(z, f(a)) ∨ ¬Q(z) – derive resolvent P(z, f(y)) ∨ Q(y) ∨ ¬Q(z) – Using θ = {x/z} A resolution -
SATCHMO: a Theorem Prover Implemented in Prolog
Lecture Notes in Computer Science Edited by G. Goos and J. Hartmanis 310 E. Lusk R. Overbeek (Eds.) 9th International Conference on Automated Deduction Argonne, Illinois, USA, May 23-26, 1988 Proceedings Springer-Verlag Berlin Heidelberg New York London Paris Tokyo I 9^. Ρ?6 3<7ö Editorial Board ( D. Barstow W. Brauer R Brinch Hansen D. Gries D. Luckham C. Moler A. Pnueli G. Seegmüller J. Stoer N. Wirth Editors Ewing Lusk Ross Overbeek Mathematics and Computer Science Division Argonne National Laboratory 9700 South Cass Avenue, Argonne, IL 60439, USA 8ayeridch£ I siaatsbtbllotti--^ CR Subject Classification (1987): 1.2.3 ISBN 3-540-19343-X Springer-Verlag Berlin Heidelberg New York ISBN 0-387-19343-X Springer-Verlag New York Berlin Heidelberg 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 other ways, and storage in data banks. Duplication of this publication or parts thereof is only permitted under the provisions of the German Copyright Law of September 9, 1965, in its version of June 24, 1985, and a copyright fee must always be paid. Violations fall under the prosecution act of the German Copyright Law. © Springer-Verlag Berlin Heidelberg 1988 Printed in Germany Printing and binding: Druckhaus Beltz, Hemsbach/Bergstr. 2145/3140-543210 Program Committee: • Peter Andrews, Carnegie Mellon University • W. W. Bledsoe, University of Texas • Alan Bundy, University of Edinburgh • Robert Constable, Cornell University • Seif Haridi, Swedish Institute of Computer Science • Lawrence Henschen, Northwestern University • Deepak Kapur, State University of New York at Albany • Dallas Lankford, Louisiana Technological University • Jean-Louis Lassez, T. -
Automated Theorem Proving Resolution Vs
Master Thesis Software Engineering Thesis no: MSE-2002:4 March 2002 Automated Theorem Proving Resolution vs. Tableaux Andreas L. E. Folkler (ℵ) Department of Software Engineering and Computer Science Blekinge Institute of Technology Box 520 SE-372 25 Ronneby This page is intentionally left blank. ii Automated Theorem Proving: Resolution vs. Tableaux This thesis is submitted to the Department of Software Engineering and Computer Science at Blekinge Institute of Technology in partial fulfillment of the requirements for the degree of Master of Science in Software Engineering. The thesis is equivalent to ten weeks of full time studies. Contact Information: Author: Andreas Folkler Address: Myntgatan 13A SE-417 02 Göteborg E-mail: [email protected] University advisor: Dr. Bertil Ekdahl Department of Software Engineering and Computer Science Department of Internet : www.bth.se/ipd Software Engineering and Computer Science Phone : +46 457 38 50 00 Blekinge Institute of Technology Fax : +46 457 271 25 Box 520 SE-372 25 Ronneby Automated Theorem Proving: Resolution vs. Tableaux iii This page is intentionally left blank. iv Automated Theorem Proving: Resolution vs. Tableaux Abstract The purpose of this master thesis was to investigate which of the two methods, resolution and tableaux, that is the most appropriate for automated theorem proving. This was done by implementing an automated theorem prover, comparing and documenting implementation problems, and measuring proving efficiency. In this thesis, I conclude that the resolution method might be more suitable for an automated theorem prover than tableaux, in the aspect of ease of implementation. Regarding the efficiency, the test results indicate that resolution is the better choice. -
Set 8: Inference in First-Order Logic
Set 8: Inference in First-order logic ICS 271 Fall 2017 Chapter 9: Russell and Norvig Universal instantiation (UI) • Every instantiation of a universally quantified sentence is entailed by it: v α Subst({v/g}, α) for any variable v and ground term g • E.g., x King(x) Greedy(x) Evil(x) yields: King(John) Greedy(John) Evil(John) King(Richard) Greedy(Richard) Evil(Richard) King(Father(John)) Greedy(Father(John)) Evil(Father(John)) Obtained by substituting {x/John}, {x/Richard} and {x/Father(John)} Existential instantiation (EI) • For any sentence α, variable v, and constant symbol k that does not appear elsewhere in the knowledge base: v α Subst({v/k}, α) • E.g., x Crown(x) OnHead(x,John) yields: Crown(C1) OnHead(C1,John) provided C1 is a new (not used so far) constant term, called a Skolem constant • Skolemization : elimination – x y Loves(y,x) – Incorrect inference : x Loves(A,x) – y may be different for each x – Correct inference : x Loves(f(x),x) Reduction to propositional inference Suppose the KB contains just the following: x King(x) Greedy(x) Evil(x) King(John) Greedy(John) Brother(Richard,John) • Instantiating the universal sentence in all possible ways, we have: King(John) Greedy(John) Evil(John) King(Richard) Greedy(Richard) Evil(Richard) King(John) Greedy(John) Brother(Richard,John) • The new KB is propositionalized: proposition symbols are King(John), Greedy(John), Evil(John), King(Richard), etc. Reduction contd. • Every FOL KB can be propositionalized so as to preserve entailment – A ground sentence is entailed by new KB iff entailed by original KB • Idea: propositionalize KB and query, apply resolution, return result • Problem: with function symbols, there are infinitely many ground terms, – e.g., Father(Father(Father(John))) Reduction contd. -
Lecture 17 of 41 Clausal (Conjunctive Normal) Form and Resolution
LectureLecture 1717 ofof 4141 Clausal (Conjunctive Normal) Form and Resolution Techniques Wednesday, 29 September 2004 William H. Hsu Department of Computing and Information Sciences, KSU http://www.kddresearch.org http://www.cis.ksu.edu/~bhsu Reading: Chapter 9, Russell and Norvig Handout, Nilsson and Genesereth Kansas State University CIS 730: Introduction to Artificial Intelligence Department of Computing and Information Sciences LectureLecture OutlineOutline • Today’s Reading – Chapter 9, Russell and Norvig – Recommended references: Nilsson and Genesereth (excerpt of Chapter 5 online) • Thursday’s Reading: Chapter 9, R&N • Previously: Propositional and First-Order Logic – Two weeks ago • Logical agents: KR, inference, problem solving • Propositional logic: normal forms, sequent rules • Predicates and terms • First-order logic (FOL): quantifiers – Last week • FOL agents; frame problem; situation calculus, successor-state axioms • FOL KBs and forward search using sequent rules (sound but incomplete set) • Today: Backward Inference – Resolution refutation (sound and complete proof procedure) – Computability (decidability) issues Kansas State University CIS 730: Introduction to Artificial Intelligence Department of Computing and Information Sciences Review:Review: AutomatedAutomated DeductionDeduction byby ForwardForward ChainingChaining • Modus Ponens And Introduction Universal Elimination Adapted from slides by S. Russell, UC Berkeley Kansas State University CIS 730: Introduction to Artificial Intelligence Department of Computing and -
Automated Theorem Proving and Logic Programming: a Natural Symbiosis~+
J. LOGIC PROGRAMMING 1991:11:1-53 1 AUTOMATED THEOREM PROVING AND LOGIC PROGRAMMING: A NATURAL SYMBIOSIS~+ LARRY WOS AND WILLL4M McCUNE D We present a detailed review of the elements of automated theorem proving, emphasizing certain aspects of especial interest to the logic programming community. In particular, we focus heavily on how an automated theorem-proving program can treat equality in a natural and yet effective manner, and how such a program can use strategy to control its reasoning in a sophisticated fashion. With the objective of significantly increasing the scope of logic programming, perhaps some unusually inven- tive researcher can adapt various procedures we review in this article, and adapt them in a way that preserves most of the speed offered by logic programming. In turn, although our expertise rests far more in automated theorem proving, we include certain observations concerning the value of logic programming to automated theorem proving in general. In other words, a natural symbiosis between automated theorem proving and logic programming exists, which nicely completes the circle, since logic pro- gramming was born of automated theorem proving. a 1. MOTIVATION Occasionally one discovers that two fields, with apparently widely separate aims, in fact offer each other useful elements of theory and powerful techniques of implementation. In other words, a natural symbiosis exists. The two fields we have in mind are automated theorem proving and logic programming. Address correspondence to Larry Wos, Mathematics and Computer Science Division, Argonne National Laboratory, Argonne, IL 60439-4801. Received May 1989. [?‘Invited paper, &,+This work was supported by the Applied Mathematical Sciences subprogram of the Office of Energy Research, U.S.