Applications of Foundational Proof Certificates in Theorem Proving

Total Page:16

File Type:pdf, Size:1020Kb

Applications of Foundational Proof Certificates in Theorem Proving Applications of Foundational Proof Certificates in theorem proving par M. Roberto Blanco Martínez Thèse de doctorat de l’ préparée à Spécialité de doctorat: Informatique École doctorale no 580 Sciences et technologies de l’information et de la communication nnt: XXX Thèse présentée et soutenue à Palaiseau, le XX décembre 2017 Composition du Jury: Mme Laura Kovács Professeure des universités Rapporteuse Technische Universität Wien & Chalmers tekniska högskola M. Dale Miller Directeur de recherche Directeur de thèse Inria & LIX/École polytechnique M. Claudio Sacerdoti Coen Professeur des universités Rapporteur Alma Mater Studiorum - Università di Bologna D D E E F F Applications of Foundational Proof Certificates in theorem proving For Jason. Contents Contents v List of figures ix Preface xiii 1 Introduction 1 I Logical foundations 7 2 Structural proof theory 9 2.1 Concept of proof . .9 2.2 Evolution of proof theory . 10 2.3 Classical and intuitionistic logics . 12 2.4 Sequent calculus . 13 2.5 Focusing . 20 2.6 Soundness and completeness . 25 2.7 Notes . 26 3 Foundational Proof Certificates 29 3.1 Proof as trusted communication . 29 3.2 Augmented sequent calculus . 32 3.3 Running example: CNF decision procedure . 38 3.4 Running example: oracle strings . 39 3.5 Running example: decide depth . 41 3.6 Running example: binary resolution . 42 3.7 Checkers, kernels, clients and certificates . 45 3.8 Notes . 48 v vi contents II Logics without fixed points 53 4 Logic programming in intuitionistic logic 55 4.1 Logic and computation . 55 4.2 Logic programming . 56 4.3 λProlog . 59 4.4 FPC kernels . 63 4.5 Notes . 67 5 Certificate pairing 69 5.1 Implicit and explicit versions of proof . 69 5.2 Pairing of FPCs . 71 5.3 Elaboration and distillation . 75 5.4 Maximally explicit FPCs . 76 5.5 Experiments . 79 5.6 Notes . 80 6 Determinate checkers 83 6.1 Trust and determinate FPCs . 83 6.2 Functional checkers in OCaml . 86 6.3 Verified checkers in Coq . 90 6.4 Extraction of verified checkers . 97 6.5 FPCs by reflection in Coq . 98 6.6 Notes . 99 7 Unsatisfiability certificates 103 7.1 Boolean satisfiability . 103 7.2 Redundancy properties and shallow certificates . 105 7.3 Resolution FPCs and traces . 110 7.4 Unsatisfiability FPCs with cut . 117 7.5 Cut-free unsatisfiability FPCs . 120 7.6 Notes . 122 8 Certification of theorem provers 125 8.1 Towards FPCs in the large . 125 8.2 The automated theorem prover Prover9 . 127 8.3 Resolution certificate elaboration . 129 8.4 Certification workflow . 133 contents vii 8.5 Analysis of results . 137 8.6 The next 700 certificate formats . 143 8.7 Notes . 144 III Logics with fixed points 147 9 Fixed points in logic 149 9.1 Fixed points and equality as logical connectives . 149 9.2 Focused sequent calculus . 152 9.3 Augmentations and kernels . 155 9.4 Nominal abstraction . 163 9.5 Notes . 165 10 Proof search with fixed points 167 10.1 Automating logic . 167 10.2 Abella . 169 10.3 FPC kernels . 172 10.4 Examples . 184 10.5 Notes . 184 11 Proof outlines 189 11.1 Frege proofs . 189 11.2 Case study . 190 11.3 Certificate design . 192 11.4 Logic support . 196 11.5 Certificate families: simple outlines . 201 11.6 Certificate families: administrative outlines . 209 11.7 Experiments . 216 11.8 Notes . 222 12 Property-based testing 225 12.1 A model theory vision of proof theory . 225 12.2 Standard property-based testing . 226 12.3 Treating metatheoretical properties . 229 12.4 Disproof outlines . 231 12.5 Hosted PBT in λProlog . 241 12.6 Native PBT in Abella . 249 viii contents 12.7 Notes . 253 13 Certificate integration in a proof assistant 257 13.1 Abella architecture . 257 13.2 Extended unification . 259 13.3 Certifying tactics in Abella . 268 13.4 Connection between Abella and the kernel . 273 13.5 Clerks and experts as specifications . 276 13.6 Notes . 279 Afterword 281 Bibliography 283 List of figures 2.1 The two-sided LK proof system . 15 2.2 The multiplicative two-sided LK proof system . 16 2.3 The one-sided LK proof system . 18 2.4 The LKF proof system . 21 3.1 The LKF a proof system . 34 3.2 The CNF decision procedure FPC . 39 3.3 The oracle string FPC . 40 3.4 The decide depth FPC . 42 3.5 The binary resolution FPC . 46 3.6 The binary resolution FPC (cont.) . 47 4.1 Addition of natural numbers as Horn clauses . 58 4.2 Addition of natural numbers in λProlog . 61 4.3 The LKF a kernel in λProlog . 64 4.4 The LKF a kernel in λProlog (cont.) . 65 5.1 The pairing FPC . 73 5.2 The maximally elaborate FPC . 77 6.1 A determinate FPC with first-order unification . 85 6.2 The MaxChecker kernel in OCaml . 88 6.3 The MaxChecker FPC interface in OCaml . 89 6.4 The maximally elaborate FPC in OCaml . 89 6.5 The MaxChecker kernel and FPC in Coq . 92 6.6 The MaxChecker kernel and FPC in Coq (cont.) . 93 7.1 The DIMACS CNF formula format . 106 7.2 The RUP UNSAT certificate format . 107 ix x listoffigures 7.3 The DRUP UNSAT certificate format . 109 7.4 The DRAT UNSAT certificate format . 109 7.5 The lemma backbone proof pattern . 112 7.6 The TraceCheck UNSAT certificate format . 113 7.7 Hyperresolution proof step in LKF a ................ 116 8.1 The binary resolution FPC with factoring . 128 8.2 The ordered binary resolution FPC . 130 8.3 The ordered binary resolution FPC with substitutions . 131 8.4 The ordered binary resolution FPC with substitutions (cont.) . 132 8.5 Size complexity of resolution elaborations . 138 8.6 Time complexity of resolution elaborations (ELPI) . 139 8.7 Time complexity of resolution elaborations (Teyjus) . 140 9.1 Addition of natural numbers in µLJF ............... 150 9.2 The LJF proof system . 156 9.3 The µLJF proof system . 157 9.4 The LJF a proof system . 158 9.5 The LJF a proof system (cont.) . 159 9.6 The µLJF a proof system . 160 9.7 The µLJF a proof system (cont.) . 161 9.8 The LJF proof system with nabla . 165 10.1 µLJF in Abella . 173 10.2 Addition of natural numbers in µLJF ............... 174 10.3 The µLJF a kernel in Abella . 176 10.4 The µLJF a kernel in Abella (cont.) . 177 10.5 The µLJF a kernel in Abella (fin.) . 178 10.6 The FPC signature of µLJF a in Abella . 179 10.7 Polymorphic quantification in µLJF a in Abella . 181 10.8 The µLJF a kernel with nabla in Abella . 182 10.9 The µLJF a kernel with nabla in Abella (cont.) . 183 10.10The pairing FPC in Abella . 186 10.11The pairing FPC in Abella (cont.) . ..
Recommended publications
  • Deep Inference
    Deep Inference Alessio Guglielmi University of Bath [email protected] 1 Introduction Deep inference could succinctly be described as an extreme form of linear logic [12]. It is a methodology for designing proof formalisms that generalise Gentzen formalisms, i.e. the sequent calculus and natural deduction [11]. In a sense, deep inference is obtained by applying some of the main concepts behind linear logic to the formalisms, i.e., to the rules by which proof systems are designed. By do- ing so, we obtain a better proof theory than the traditional one due to Gentzen. In fact, in deep inference we can provide proof systems for more logics, in a more regular and modular way, with smaller proofs, less syntax, less bureau- cracy and we have a chance to make substantial progress towards a solution to the century-old problem of the identity of proofs. The first manuscript on deep inference appeared in 1999 and the first refereed papers in 2001 [6, 19]. So far, two formalisms have been designed and developed in deep inference: the calcu- lus of structures [15] and open deduction [17]. A third one, nested sequents [5], introduces deep inference features into a more traditional Gentzen formalism. Essentially, deep inference tries to understand proof composition and proof normalisation (in a very liberal sense including cut elimination [11]) in the most logic-agnostic way. Thanks to it we obtain a deeper understanding of the nature of normalisation. It seems that normalisation is a primitive, simple phenomenon that manifests itself in more or less complicated ways that depend more on the choice of representation for proofs rather than their true mathematical na- ture.
    [Show full text]
  • Certification of First-Order Proofs in Classical and Intuitionistic Logics
    Certification of First-order proofs in classical and intuitionistic logics 1 Zakaria Chihani August 21, 2015 1This work has been funded by the ERC Advanced Grant ProofCert. Abstract The field of automated reasoning contains a plethora of methods and tools, each with its own language and its community, often evolving separately. These tools express their proofs, or some proof evidence, in different formats such as resolution refutations, proof scripts, natural deductions, expansion trees, equational rewritings and many others. The disparity in formats reduces communication and trust be- tween the different communities. Related efforts were deployed to fill the gaps in communication including libraries and languages bridging two or more tools. This thesis proposes a novel approach at filling this gap for first-order classical and intuitionistic logics. Rather than translating proofs written in various languages to proofs written in one chosen language, this thesis introduces a framework for describing the semantics of a wide range of proof evidence languages through a rela- tional specification, called Foundational Proof Certification (FPC). The description of the semantics of a language can then be appended to any proof evidence written in that language, forming a proof certificate, which allows a small kernel checker to verify them independently from the tools that created them. The use of seman- tics description for one language rather than proof translation from one language to another relieves one from the need to radically change the notion of proof. Proof evidence, unlike complete proof, does not have to contain all details. Us- ing proof reconstruction, a kernel checker can rebuild missing parts of the proof, allowing for compression and gain in storage space.
    [Show full text]
  • Facilitating Meta-Theory Reasoning (Invited Paper)
    Facilitating Meta-Theory Reasoning (Invited Paper) Giselle Reis Carnegie Mellon University in Qatar [email protected] Structural proof theory is praised for being a symbolic approach to reasoning and proofs, in which one can define schemas for reasoning steps and manipulate proofs as a mathematical structure. For this to be possible, proof systems must be designed as a set of rules such that proofs using those rules are correct by construction. Therefore, one must consider all ways these rules can interact and prove that they satisfy certain properties which makes them “well-behaved”. This is called the meta-theory of a proof system. Meta-theory proofs typically involve many cases on structures with lots of symbols. The majority of cases are usually quite similar, and when a proof fails, it might be because of a sub-case on a very specific configuration of rules. Developing these proofs by hand is tedious and error-prone, and their combinatorial nature suggests they could be automated. There are various approaches on how to automate, either partially or completely, meta-theory proofs. In this paper, I will present some techniques that I have been involved in for facilitating meta-theory reasoning. 1 Introduction Structural proof theory is a branch of logic that studies proofs as mathematical objects, understanding the kinds of operations and transformations that can be done with them. To do that, one must represent proofs using a regular and unambiguous structure, which is constructed from a fixed set of rules. This set of rules is called a proof calculus, and there are many different ones.
    [Show full text]
  • Propositional Logic: Deductive Proof & Natural Deduction Part 1
    Propositional Logic: Deductive Proof & Natural Deduction Part 1 CS402, Spring 2016 Shin Yoo Shin Yoo Propositional Logic: Deductive Proof & Natural Deduction Part 1 Deductive Proof In propositional logic, a valid formula is a tautology. So far, we could show the validity of a formula φ in the following ways: Through the truth table for φ Obtain φ as a substitution instance of a formula known to be valid. That is, q ! (p ! q) is valid, therefore r ^ s ! (p _ q ! r ^ s) is also valid. Obtain φ through interchange of equivalent formulas. That is, if φ ≡ and φ is a subformula of a valid formula χ, χ0 obtained by replacing all occurrences of φ in χ with is also valid. Shin Yoo Propositional Logic: Deductive Proof & Natural Deduction Part 1 Deductive Proof Goals of logic: (given U), is φ valid? Theorem 1 (2.38, Ben-Ari) U j= φ iff j= A1 ^ ::: ^ An ! φ when U = fA1;:::; Ang. However, there are problems in semantic approach. Set of axioms may be infinite: for example, Peano and ZFC (Zermelo-Fraenkel set theory) theories cannot be finitely axiomatised. Hilbert system, H, uses axiom schema, which in turn generates an infinite number of axioms. We cannot write truth tables for these. The truth table itself is not always there! Very few logical systems have decision procedures for validity. For example, predicate logic does not have any such decision procedure. Shin Yoo Propositional Logic: Deductive Proof & Natural Deduction Part 1 Semantic vs. Syntax j= φ vs. ` φ Truth Tools Semantics Syntax Validity Proof All Interpretations Finite Proof Trees Undecidable Manual Heuristics (except propositional logic) Shin Yoo Propositional Logic: Deductive Proof & Natural Deduction Part 1 Deductive Proof A deductive proof system relies on a set of proof rules (also inference rules), which are in themselves syntactic transformations following specific patterns.
    [Show full text]
  • Agent-Based Blackboard Architecture for a Higher-Order Theorem Prover
    Masterarbeit am Institut für Informatik der Freien Universität Berlin, Arbeitsgruppe Künstliche Intelligenz Agent-based Blackboard Architecture for a Higher-Order Theorem Prover Max Wisniewski [email protected] Betreuer: PD. Dr. Christoph Benzmüller Berlin, den 17. Oktober 2014 Abstract The automated theorem prover Leo was one of the first systems able to prove theorems in higher-order logic. Since the first version of Leo many other systems emerged and outperformed Leo and its successor Leo-II. The Leo-III project’s aim is to develop a new prover reclaiming the lead in the area of higher-order theorem proving. Current competitive theorem provers sequentially manipulate sets of formulas in a global loop to obtain a proof. Nowadays in almost every area in computer science, concurrent and parallel approaches are increas- ingly used. Although some research towards parallel theorem proving has been done and even some systems were implemented, most modern the- orem provers do not use any form of parallelism. In this thesis we present an architecture for Leo-III that use paral- lelism in its very core. To this end an agent-based blackboard architecture is employed. Agents denote independent programs which can act on their own. In comparison to classical theorem prover architectures, the global loop is broken down to a set of tasks that can be computed in paral- lel. The results produced by all agents will be stored in a blackboard, a globally shared datastructure, thus visible to all other agents. For a proof of concept example agents are given demonstrating an agent-based approach can be used to implemented a higher-order theorem prover.
    [Show full text]
  • Combinatorial Flows and Proof Compression Lutz Straßburger
    Combinatorial Flows and Proof Compression Lutz Straßburger To cite this version: Lutz Straßburger. Combinatorial Flows and Proof Compression. [Research Report] RR-9048, Inria Saclay. 2017. hal-01498468 HAL Id: hal-01498468 https://hal.inria.fr/hal-01498468 Submitted on 30 Mar 2017 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. Combinatorial Flows and Proof Compression Lutz Straßburger RESEARCH REPORT N° 9048 March 2017 Project-Team Parsifal ISSN 0249-6399 ISRN INRIA/RR--9048--FR+ENG Combinatorial Flows and Proof Compression Lutz Straßburger Project-Team Parsifal Research Report n° 9048 — March 2017 — 16 pages Abstract: This paper introduces the notion of combinatorial flows as a generalization of combinatorial proofs that also includes cut and substitution as methods of proof compression. We show a normalization procedure for combinatorial flows, and how syntactic proofs in sequent calculus, deep inference, and Frege systems are translated into combinatorial flows and vice versa. Key-words: Combinatorial flows, deep inference, proof compression, cut elimination, substitution elimination RESEARCH CENTRE SACLAY – ÎLE-DE-FRANCE 1 rue Honoré d’Estienne d’Orves Bâtiment Alan Turing Campus de l’École Polytechnique 91120 Palaiseau Fleuves combinatoires et compression des preuves Resum´ e´ : Cet article introduit la notion de fleuves combinatoires comme gen´ eralisation´ des preuves combinatoires qui comprend egalement´ la coupure et la substitution comme methodes´ de compression des preuves.
    [Show full text]
  • Combinatorial Proofs and Decomposition Theorems for First
    Combinatorial Proofs and Decomposition Theorems for First-order Logic Dominic J. D. Hughes Lutz Straßburger Jui-Hsuan Wu Logic Group Inria, Equipe Partout Ecole Normale Sup´erieure U.C. Berkeley Ecole Polytechnique, LIX France USA France Abstract—We uncover a close relationship between combinato- rial and syntactic proofs for first-order logic (without equality). ax ⊢ pz, pz Whereas syntactic proofs are formalized in a deductive proof wk system based on inference rules, a combinatorial proof is a ax ⊢ pw, pz, pz ⊢ p,p wk syntax-free presentation of a proof that is independent from any wk ⊢ pw, pz, pz, ∀y.py set of inference rules. We show that the two proof representations ⊢ p,q,p ∨ ∨ ax ⊢ pw, pz, pz ∨ (∀y.py) are related via a deep inference decomposition theorem that ⊢ p ∨ q,p ⊢ p,p ∃ ∧ ⊢ pw, pz, ∃x.(px ∨ (∀y.py)) establishes a new kind of normal form for syntactic proofs. This ⊢ (p ∨ q) ∧ p,p,p ∀ yields (a) a simple proof of soundness and completeness for first- ctr ⊢ pw, ∀y.py, ∃x.(px ∨ (∀y.py)) ⊢ (p ∨ q) ∧ p,p ∨ order combinatorial proofs, and (b) a full completeness theorem: ∨ ⊢ pw ∨ (∀y.py), ∃x.(px ∨ (∀y.py)) ⊢ ((p ∨ q) ∧ p) ∨ p ∃ every combinatorial proof is the image of a syntactic proof. ⊢ ∃x.(px ∨ (∀y.py)), ∃x.(px ∨ (∀y.py)) ctr ⊢ ∃x.(px ∨ (∀y.py)) I. INTRODUCTION First-order predicate logic is a cornerstone of modern logic. ↓ ↓ Since its formalisation by Frege [1] it has seen a growing usage in many fields of mathematics and computer science. Upon the development of proof theory by Hilbert [2], proofs became first-class citizens as mathematical objects that could be studied on their own.
    [Show full text]
  • Unifying Theories of Logics with Undefinedness
    Unifying Theories of Logics with Undefinedness Victor Petru Bandur PhD University of York Computer Science September, 2014 Abstract A relational approach to the question of how different logics relate formally is described. We consider three three-valued logics, as well as classical and semi-classical logic. A fundamental representation of three-valued predicates is developed in the Unifying Theories of Programming (UTP) framework of Hoare and He. On this foundation, the five logics are encoded semantically as UTP theories. Several fundamental relationships are revealed using theory linking mechanisms, which corroborate results found in the literature, and which have direct applicability to the sound mixing of logics in order to prove facts. The initial development of the fundamental three-valued predicate model, on which the theories are based, is then applied to the novel systems-of-systems specification language CML, in order to reveal proof obligations which bridge a gap that exists between the semantics of CML and the existing semantics of one of its sub-languages, VDM. Finally, a detailed account is given of an envisioned model theory for our proposed structuring, which aims to lift the sentences of the five logics encoded to the second order, allowing them to range over elements of existing UTP theories of computation, such as designs and CSP processes. We explain how this would form a complete treatment of logic interplay that is expressed entirely inside UTP. ii Contents Abstract ii Contents iii List of Figures vi Acknowledgments vii Author's Declaration viii 1 Background 1 1.1 Introduction . .1 1.2 Logic in Software Rationale .
    [Show full text]
  • Proof Terms for Classical Derivations Greg Restall* Philosophy Department the University of Melbourne [email protected] June 13, 2017 Version 0.922
    proof terms for classical derivations Greg Restall* Philosophy Department The University of Melbourne [email protected] june 13, 2017 Version 0.922 Abstract: I give an account of proof terms for derivations in a sequent calculus for classical propositional logic. The term for a derivation δ of a sequent Σ ∆ encodes how the premises Σ and conclusions ∆ are related in δ. This encoding is many–to–one in the sense that different derivations can have the same proof term, since different derivations may be different ways of representing the same underlying connection between premises and conclusions. However, not all proof terms for a sequent Σ ∆ are the same. There may be different ways to connect those premises and conclusions. Proof terms can be simplified in a process corresponding to the elimination of cut inferences in se- quentderivations. However, unlikecuteliminationinthesequentcalculus, eachproofterm hasa unique normal form (fromwhichallcutshavebeeneliminated)anditisstraightforwardtoshowthattermreduc- tion is strongly normalising—every reduction process terminates in that unique normal form. Further- more, proof terms are invariants for sequent derivations in a strong sense—two derivations δ1 and δ2 have the same proofterm if and only if some permutation of derivation steps sends δ1 to δ2 (given a rela- tively natural class of permutations of derivations in the sequent calculus). Since not every derivation of a sequent can be permuted into every other derivation of that sequent, proof terms provide a non-trivial account of the identity of proofs, independent of the syntactic representation of those proofs. outline This paper has six sections: Section 1 motivates the problem of proof identity, and reviews the reasons that the question of proof identity for classical propositional logic is difficult.
    [Show full text]
  • Introducing Substitution in Proof Theory
    Introducing Substitution in Proof Theory Alessio Guglielmi University of Bath 20 July 2014 This talk is available at http://cs.bath.ac.uk/ag/t/ISPT.pdf It is an abridged version of this other talk: http://cs.bath.ac.uk/ag/t/PCMTGI.pdf Deep inference web site: http://alessio.guglielmi.name/res/cos/ Outline Problem: compressing proofs. Solution: proof composition mechanisms beyond Gentzen. Open deduction: composition by connectives and inference, smaller analytic proofs than in Gentzen. Atomic flows: geometry is enough to normalise. Composition by substitution: more geometry, more efficiency, more naturality. ON THE PROOF COMPLEXITY OF DEEP INFERENCE 21 SKSg can analogously be extended, but there is no need to create a special rule; we only need to broaden the criterion by which we recognize a proof. Definition 5.3. An extended SKSg proof of α is an SKSg derivation with conclusion α ¯ ¯ ¯ ¯ ¯ ¯ and premiss [A1 β1] [β1 A1] [Ah βh ] [βh Ah ],whereA1, A1,...,Ah , Ah ∨ ∧ ∨ ∧ ···∧ ∨ ∧ ∨ are mutually distinct and A1 / β1,α and ... and Ah / β1,...,βh ,α.WedenotebyxSKSg the proof system whose proofs∈ are extended SKSg proofs.∈ Theorem 5.4. For every xFrege proof of length l and size n there exists an xSKSg proof of 2 the same formula and whose length and size are, respectively, O(l ) and O(n ). Proof. Consider an xFrege proof as in Definition 5.1. By Remark 5.2 and Theorem 4.6, there exists the following xSKSg proof, whose length and size are yielded by 4.6: ¯ ¯ ¯ ¯ [A1 β1] [β1 A1] [Ah βh ] [βh Ah ] ∨ ∧ ∨ ∧ ···∧ ∨ ∧ ∨ $ SKSg .
    [Show full text]
  • Logic Three Tutorials at Tbilisi
    Logic Three tutorials at Tbilisi Wilfrid Hodges 1.1 Queen Mary, University of London [email protected] FIRST TUTORIAL October 2003 Entailments Revised 17 October 2003. For copyright reasons some of the photos are not included. 1 2 1.2 1.3 Two sentences: If p and q are sentences, the expression (a) Noam Chomsky is very clever. p |= q (b) Noam Chomsky is clever. is called a sequent. If (a) is true then (b) must be true too. If it is true, i.e. if p does entail q, We express this by saying that (a) entails (b), in symbols then we say it is a valid sequent, NC is very clever. |= NC is clever. or for short an entailment. 3 4 1.5 Typical problem Imagine a situation with two Noam Chomskys, 1.4 Provisional definition Logic is the study of entailments. Butit’sabadideatogotoadefinition so early. one very clever and one very unintelligent. 5 6 1.7 1.6 Remedy Conversation: A situation (for a set of sentences) consists of the information needed to fix who the named people are, what the date is, • “Noam Chomsky is very clever.” and anything else relevant to the truth of the sentences. • “Yes, but on the other hand Noam Chomsky Then we can revise our notion of entailment: is not clever at all.” ‘(a) entails (b)’ means We can understand this conversation. In every situation, if (a) is true then (b) is true. (David Lewis, ‘Scorekeeping in a language game’.) This remedy is not waterproof, but it will allow us to continue building up logic.
    [Show full text]
  • A Mechanised Proof of Gödel's Incompleteness Theorems Using
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Apollo A Mechanised Proof of G¨odel'sIncompleteness Theorems using Nominal Isabelle Lawrence C. Paulson Abstract An Isabelle/HOL formalisation of G¨odel'stwo incompleteness theorems is presented. The work follows Swierczkowski's´ detailed proof of the theorems using hered- itarily finite (HF) set theory [32]. Avoiding the usual arithmetical encodings of syntax eliminates the necessity to formalise elementary number theory within an embedded logical calculus. The Isabelle formalisation uses two separate treatments of variable binding: the nominal package [34] is shown to scale to a development of this complex- ity, while de Bruijn indices [3] turn out to be ideal for coding syntax. Critical details of the Isabelle proof are described, in particular gaps and errors found in the literature. 1 Introduction This paper describes mechanised proofs of G¨odel'sincompleteness theorems [8], includ- ing the first mechanised proof of the second incompleteness theorem. Very informally, these results can be stated as follows: Theorem 1 (First Incompleteness Theorem) If L is a consistent theory capable of formalising a sufficient amount of elementary mathematics, then there is a sentence δ such that neither δ nor :δ is a theorem of L, and moreover, δ is true.1 Theorem 2 (Second Incompleteness Theorem) If L is as above and Con(L) is a sentence stating that L is consistent, then Con(L) is not a theorem of L. Both of these will be presented formally below. Let us start to examine what these theorems actually assert.
    [Show full text]