First-Order Logic and Automated Theorem Proving


Book Description

There are many kinds of books on formal logic. Some have philosophers as their intended audience, some mathematicians, some computer scientists. Although there is a common core to all such books they will be very dif ferent in emphasis, methods, and even appearance. This book is intended for computer scientists. But even this is not precise. Within computer sci ence formal logic turns up in a number of areas, from program verification to logic programming to artificial intelligence. This book is intended for computer scientists interested in automated theorem proving in classical logic. To be more precise yet, it is essentially a theoretical treatment, not a how-to book, although how-to issues are not neglected. This does not mean, of course, that the book will be of no interest to philosophers or mathematicians. It does contain a thorough presentation of formal logic and many proof techniques, and as such it contains all the material one would expect to find in a course in formal logic covering completeness but not incompleteness issues. The first item to be addressed is, what are we talking about and why are we interested in it. We are primarily talking about truth as used in mathematical discourse, and our interest in it is, or should be, self-evident. Truth is a semantic concept, so we begin with models and their properties. These are used to define our subject.




Automated Theorem Proving


Book Description

This text and software package introduces readers to automated theorem proving, while providing two approaches implemented as easy-to-use programs. These are semantic-tree theorem proving and resolution-refutation theorem proving. The early chapters introduce first-order predicate calculus, well-formed formulae, and their transformation to clauses. Then the author goes on to show how the two methods work and provides numerous examples for readers to try their hand at theorem-proving experiments. Each chapter comes with exercises designed to familiarise the readers with the ideas and with the software, and answers to many of the problems.




Automated Theorem Proving in Software Engineering


Book Description

Growing demands for the quality, safety, and security of software can only be satisfied by the rigorous application of formal methods during software design. This book methodically investigates the potential of first-order logic automated theorem provers for applications in software engineering. Illustrated by complete case studies on protocol verification, verification of security protocols, and logic-based software reuse, this book provides techniques for assessing the prover's capabilities and for selecting and developing an appropriate interface architecture.




Handbook of Practical Logic and Automated Reasoning


Book Description

A one-stop reference, self-contained, with theoretical topics presented in conjunction with implementations for which code is supplied.




Interactive Theorem Proving and Program Development


Book Description

A practical introduction to the development of proofs and certified programs using Coq. An invaluable tool for researchers, students, and engineers interested in formal methods and the development of zero-fault software.




Principles of Automated Theorem Proving


Book Description

An overview of ATP techniques for the non-specialist, it discusses all the main approaches to proof: resolution, natural deduction, sequentzen, and the connection calculi. Also discusses strategies for their application and three major implemented systems. Looks in detail at the new field of ``inductionless induction'' and brings out its relationship to the classical approach to proof by induction.




Machine Learning for Automated Theorem Proving


Book Description

In this book, the author presents the results of his thorough and systematic review of the research at the intersection of two apparently rather unrelated fields: Automated Theorem Proving (ATP) and Machine Learning (ML).




Principia Mathematica


Book Description







Concrete Semantics


Book Description

Part I of this book is a practical introduction to working with the Isabelle proof assistant. It teaches you how to write functional programs and inductive definitions and how to prove properties about them in Isabelle’s structured proof language. Part II is an introduction to the semantics of imperative languages with an emphasis on applications like compilers and program analysers. The distinguishing feature is that all the mathematics has been formalised in Isabelle and much of it is executable. Part I focusses on the details of proofs in Isabelle; Part II can be read even without familiarity with Isabelle’s proof language, all proofs are described in detail but informally. The book teaches the reader the art of precise logical reasoning and the practical use of a proof assistant as a surgical tool for formal proofs about computer science artefacts. In this sense it represents a formal approach to computer science, not just semantics. The Isabelle formalisation, including the proofs and accompanying slides, are freely available online, and the book is suitable for graduate students, advanced undergraduate students, and researchers in theoretical computer science and logic.