Decidability and Algorithmic Analysis of Dependent Object Types (DOT)

Total Page:16

File Type:pdf, Size:1020Kb

Decidability and Algorithmic Analysis of Dependent Object Types (DOT) Decidability and Algorithmic Analysis of Dependent Object Types (DOT) by Zhong Sheng (Jason) Hu A thesis presented to the University of Waterloo in fulfillment of the thesis requirement for the degree of Master of Mathematics in Computer Science Waterloo, Ontario, Canada, 2019 c Zhong Sheng (Jason) Hu 2019 I hereby declare that I am the sole author of this thesis. This is a true copy of the thesis, including any required final revisions, as accepted by my examiners. I understand that my thesis may be made electronically available to the public. ii Abstract Dependent Object Types, or DOT , is a family of calculi developed to study the Scala programming language. These calculi have path dependent types as a feature, and poten- tially intersection types, union types and recursive types. So far, the study of DOT calculi mostly focuses on the soundness proof, which does not directly contribute to development of compilers. This thesis presents a detailed investigation of decidability and algorithmic properties of the family of DOT calculi. In decidability analysis, the undecidability of subtyping of several calculi is formally established, including the D<: and D^ calculi. Prior to this investigation, the undecidabil- ity of subtyping of all DOT calculi including D<: was open. Decidability analysis puts emphasis on a particular form of subtyping rules, called normal form. It turns out that a normal form definition is not only as expressive, but also more suggestive than the original definition. A conceptual device, called small-step analysis, is introduced to assist convert- ing a usual definition of subtyping to its normal form definition. Moreover, decidability analysis gives direct contributions to the algorithmic analysis, by revealing two decidable fragments of D<: in declarative form, called the kernels. Decidability analysis also suggests a novel subtyping algorithm framework, stare-at subtyping. Stare-at subtyping and an existing algorithm are shown to be sound and complete w.r.t. their corresponding kernels. In algorithmic analysis, stare-at subtyping is extended to other calculi, with more fea- tures than D<:, including D^, µDART and jDOT . In µDART and jDOT , bi-directional type assignment algorithms are developed. The algorithms developed in this thesis are all shown to be sound with respect to their target calculi and terminating. During the development of the algorithms, analysis shows a number of ways in which the Wadlerfest DOT calculus does not directly correspond to the Scala language, while substantially increases the difficulties of algorithmic design. jDOT , therefore, is developed as an alternative formalization of Scala. iii Acknowledgements In my opinion, a thesis is not only a piece of technical work but also a cumulative result of social events preceding it. At the time of concluding this thesis, it is the best moment to look back in my life and appreciate everyone and everything that make this thesis possible. I would like to thank my supervisor Professor OndˇrejLhot´akfor knowledge I have learned and his continuous support since my application for the Master's program and during my research. I feel very grateful for the lab environment. My understanding of DOT had been significantly improved thanks to conversations with Marianna Rapoport, Ifaz Kabir and surely my supervisor. The thesis inherits work from Abel Nieto's project. The discussions with him benefited greatly my work on undecidability proof of D<:, for which I am equally grateful. I would like to thank my readers Professors Prabhakar Ragde and Brad Lushman for their careful review of my thesis. I would also like to thank Professors Yong Wang, Bo Hu, Xiaofeng Wu and Hui Feng for their support for my Master's application after years of my graduation from Bachelor's, and Professors Arie Gurfinkel and Richard Trefler for their support for my PhD application. Last, I must thank my parents and my grandparents for giving me abundant freedom since my childhood. I am grateful to Pierre Grondin. It would probably have been much more difficult to settle in Canada without his help. iv Table of Contents List of Tablesx List of Figures xi 1 Introduction1 1.1 Motivation....................................1 1.1.1 Decidability...............................2 1.1.2 Type checking..............................3 1.2 Methodologies..................................3 1.3 Organization..................................4 1.4 Contributions..................................4 2 Background8 2.1 Conventions...................................8 2.2 Full F<: and Kernel F<: ............................ 10 2.3 Undecidability of Full F<: ........................... 13 2.4 Bi-directional Type Assignment........................ 16 2.5 Scala and DOT Calculi............................. 16 2.5.1 Path Dependent Types......................... 17 2.5.2 Intersection Types........................... 20 2.5.3 Wadlerfest DOT ............................ 22 v 2.5.4 Other DOT Calculi........................... 25 2.6 Related Work.................................. 26 2.6.1 Formalizations of Scala......................... 26 2.6.2 Undecidability of subtyping...................... 27 2.6.3 Algorithmic (sub)typing........................ 27 2.6.4 Formalization of undecidability proofs................ 28 3 The Undecidability of D<: 29 3.1 Definition of D<: ................................ 30 3.2 Definition of Undecidability.......................... 33 3.3 The Incomplete Proof.............................. 34 − 3.4 F<: as Q..................................... 36 3.5 An Attempt at An Undecidability Proof................... 37 3.6 How Was Undecidability of F<: Proved?................... 42 3.7 Small-step Subtyping.............................. 44 3.7.1 An example............................... 47 3.7.2 Rearranging universal types...................... 48 3.7.3 Proofs of transitivity and narrowing in normal form......... 49 − 3.8 Undecidability of F<:> ............................. 52 3.9 Small-step Analysis of D<: ........................... 57 3.10 Undecidability of Type Assignment of D<: .................. 69 3.11 Discussions................................... 70 3.11.1 D<<: ................................... 70 3.11.2 What about DOT ?........................... 72 3.11.3 Calculi in Normal Forms........................ 74 vi 4 Algorithmic Typing of D<: Fragments 75 4.1 Kernel D<: .................................... 76 4.2 Step Subtyping................................. 78 4.3 Step Typing................................... 81 4.4 A Note on Execution of Step Subtyping.................... 85 4.5 Kernel D<: and Step Subtyping........................ 86 4.6 Strong Kernel D<: ............................... 89 4.7 Stare-at Subtyping............................... 92 4.7.1 Limitations of Step Subtyping..................... 93 4.7.2 Definition................................ 94 4.8 Properties of Operations in Stare-at Subtyping................ 97 4.9 Strong Kernel D<: and Stare-at Subtyping.................. 100 4.10 Discussions................................... 101 4.10.1 Convergence of Theories........................ 101 4.10.2 Properties of Kernel Calculi...................... 102 5 D^ 105 5.1 Definition of D^ ................................. 105 5.2 Strong Kernel D^ ................................ 109 5.3 Revealing in D^ ................................ 110 5.4 Stare-at Subtyping............................... 114 5.5 Properties of Stare-at Subtyping and Properties............... 118 5.6 Strong Kernel D^ and Stare-at Subtyping.................. 120 6 µDART 122 6.1 Definition of µDART .............................. 123 6.2 Difficulties of µ Types............................. 126 6.3 Stare-at Subtyping for µDART ........................ 127 vii 6.4 Revealing Reconsidered............................ 129 6.5 µ Types as Cyclic Contexts.......................... 130 6.6 Types Are Resources!.............................. 133 6.7 Revealing in µDART ............................. 134 6.8 An Example of Revealing ........................... 137 6.9 Properties of Operations and Stare-at Subtyping............... 138 6.10 How Large Is the Decidable Fragment?.................... 142 6.10.1 What is the language?......................... 143 6.10.2 How does removal impact the decidable fragment?.......... 143 6.11 An Alternative Treatment........................... 144 6.12 Variable Typing................................. 145 7 jDOT 148 7.1 A Step Back: Algorithmic (Sub)typing Reconsidered............ 149 7.1.1 Subtyping as communication...................... 149 7.1.2 Backtracking due to ^-Traversal ................... 149 7.1.3 Types as resources........................... 149 7.2 A Second Step Back: A Short Review of DOT ................ 151 7.2.1 Uninterpretable types with µ ..................... 151 7.2.2 How are objects encoded?....................... 152 7.2.3 Unexpected recursive path types................... 153 7.2.4 Soundness proof guided definition................... 154 7.3 The Definition of jDOT ............................ 155 7.4 Refining Revealing .............................. 159 7.5 Examples of Revealing ............................ 164 7.5.1 Maintenance of well-formedness.................... 164 7.5.2 Handling object types......................... 164 7.6 Properties of Operations............................ 166 viii 7.7 Stare-at Subtyping............................... 169 7.8 Variable Typing................................. 170 7.8.1 Variable type check........................... 170 7.8.2 Variable type synthesis........................
Recommended publications
  • “The Church-Turing “Thesis” As a Special Corollary of Gödel's
    “The Church-Turing “Thesis” as a Special Corollary of Gödel’s Completeness Theorem,” in Computability: Turing, Gödel, Church, and Beyond, B. J. Copeland, C. Posy, and O. Shagrir (eds.), MIT Press (Cambridge), 2013, pp. 77-104. Saul A. Kripke This is the published version of the book chapter indicated above, which can be obtained from the publisher at https://mitpress.mit.edu/books/computability. It is reproduced here by permission of the publisher who holds the copyright. © The MIT Press The Church-Turing “ Thesis ” as a Special Corollary of G ö del ’ s 4 Completeness Theorem 1 Saul A. Kripke Traditionally, many writers, following Kleene (1952) , thought of the Church-Turing thesis as unprovable by its nature but having various strong arguments in its favor, including Turing ’ s analysis of human computation. More recently, the beauty, power, and obvious fundamental importance of this analysis — what Turing (1936) calls “ argument I ” — has led some writers to give an almost exclusive emphasis on this argument as the unique justification for the Church-Turing thesis. In this chapter I advocate an alternative justification, essentially presupposed by Turing himself in what he calls “ argument II. ” The idea is that computation is a special form of math- ematical deduction. Assuming the steps of the deduction can be stated in a first- order language, the Church-Turing thesis follows as a special case of G ö del ’ s completeness theorem (first-order algorithm theorem). I propose this idea as an alternative foundation for the Church-Turing thesis, both for human and machine computation. Clearly the relevant assumptions are justified for computations pres- ently known.
    [Show full text]
  • Church's Thesis and the Conceptual Analysis of Computability
    Church’s Thesis and the Conceptual Analysis of Computability Michael Rescorla Abstract: Church’s thesis asserts that a number-theoretic function is intuitively computable if and only if it is recursive. A related thesis asserts that Turing’s work yields a conceptual analysis of the intuitive notion of numerical computability. I endorse Church’s thesis, but I argue against the related thesis. I argue that purported conceptual analyses based upon Turing’s work involve a subtle but persistent circularity. Turing machines manipulate syntactic entities. To specify which number-theoretic function a Turing machine computes, we must correlate these syntactic entities with numbers. I argue that, in providing this correlation, we must demand that the correlation itself be computable. Otherwise, the Turing machine will compute uncomputable functions. But if we presuppose the intuitive notion of a computable relation between syntactic entities and numbers, then our analysis of computability is circular.1 §1. Turing machines and number-theoretic functions A Turing machine manipulates syntactic entities: strings consisting of strokes and blanks. I restrict attention to Turing machines that possess two key properties. First, the machine eventually halts when supplied with an input of finitely many adjacent strokes. Second, when the 1 I am greatly indebted to helpful feedback from two anonymous referees from this journal, as well as from: C. Anthony Anderson, Adam Elga, Kevin Falvey, Warren Goldfarb, Richard Heck, Peter Koellner, Oystein Linnebo, Charles Parsons, Gualtiero Piccinini, and Stewart Shapiro. I received extremely helpful comments when I presented earlier versions of this paper at the UCLA Philosophy of Mathematics Workshop, especially from Joseph Almog, D.
    [Show full text]
  • Bundled Fragments of First-Order Modal Logic: (Un)Decidability
    Bundled Fragments of First-Order Modal Logic: (Un)Decidability Anantha Padmanabha Institute of Mathematical Sciences, HBNI, Chennai, India [email protected] https://orcid.org/0000-0002-4265-5772 R Ramanujam Institute of Mathematical Sciences, HBNI, Chennai, India [email protected] Yanjing Wang Department of Philosophy, Peking University, Beijing, China [email protected] Abstract Quantified modal logic is notorious for being undecidable, with very few known decidable frag- ments such as the monodic ones. For instance, even the two-variable fragment over unary predic- ates is undecidable. In this paper, we study a particular fragment, namely the bundled fragment, where a first-order quantifier is always followed by a modality when occurring in the formula, inspired by the proposal of [15] in the context of non-standard epistemic logics of know-what, know-how, know-why, and so on. As always with quantified modal logics, it makes a significant difference whether the domain stays the same across possible worlds. In particular, we show that the predicate logic with the bundle ∀ alone is undecidable over constant domain interpretations, even with only monadic predicates, whereas having the ∃ bundle instead gives us a decidable logic. On the other hand, over increasing domain interpretations, we get decidability with both ∀ and ∃ bundles with unrestricted predicates, where we obtain tableau based procedures that run in PSPACE. We further show that the ∃ bundle cannot distinguish between constant domain and variable domain interpretations. 2012 ACM Subject Classification Theory of computation → Modal and temporal logics Keywords and phrases First-order modal logic, decidability, bundled fragments Digital Object Identifier 10.4230/LIPIcs.FSTTCS.2018.43 Acknowledgements We thank the reviewers for the insightful and helpful comments.
    [Show full text]
  • Soundness of Workflow Nets: Classification
    DOI 10.1007/s00165-010-0161-4 The Author(s) © 2010. This article is published with open access at Springerlink.com Formal Aspects Formal Aspects of Computing (2011) 23: 333–363 of Computing Soundness of workflow nets: classification, decidability, and analysis W. M. P. van der Aalst1,2,K.M.vanHee1, A. H. M. ter Hofstede1,2,N.Sidorova1, H. M. W. Verbeek1, M. Voorhoeve1 andM.T.Wynn2 1 Eindhoven University of Technology, P.O. Box 513, 5600 MB Eindhoven, The Netherlands. E-mail: [email protected] 2 Queensland University of Technology, Brisbane, Australia Abstract. Workflow nets, a particular class of Petri nets, have become one of the standard ways to model and analyze workflows. Typically, they are used as an abstraction of the workflow that is used to check the so-called soundness property. This property guarantees the absence of livelocks, deadlocks, and other anomalies that can be detected without domain knowledge. Several authors have proposed alternative notions of soundness and have suggested to use more expressive languages, e.g., models with cancellations or priorities. This paper provides an overview of the different notions of soundness and investigates these in the presence of different extensions of workflow nets. We will show that the eight soundness notions described in the literature are decidable for workflow nets. However, most extensions will make all of these notions undecidable. These new results show the theoretical limits of workflow verification. Moreover, we discuss some of the analysis approaches described in the literature. Keywords: Petri nets, Decidability, Workflow nets, Reset nets, Soundness, Verification 1.
    [Show full text]
  • Undecidable Problems: a Sampler
    UNDECIDABLE PROBLEMS: A SAMPLER BJORN POONEN Abstract. After discussing two senses in which the notion of undecidability is used, we present a survey of undecidable decision problems arising in various branches of mathemat- ics. 1. Introduction The goal of this survey article is to demonstrate that undecidable decision problems arise naturally in many branches of mathematics. The criterion for selection of a problem in this survey is simply that the author finds it entertaining! We do not pretend that our list of undecidable problems is complete in any sense. And some of the problems we consider turn out to be decidable or to have unknown decidability status. For another survey of undecidable problems, see [Dav77]. 2. Two notions of undecidability There are two common settings in which one speaks of undecidability: 1. Independence from axioms: A single statement is called undecidable if neither it nor its negation can be deduced using the rules of logic from the set of axioms being used. (Example: The continuum hypothesis, that there is no cardinal number @0 strictly between @0 and 2 , is undecidable in the ZFC axiom system, assuming that ZFC itself is consistent [G¨od40,Coh63, Coh64].) The first examples of statements independent of a \natural" axiom system were constructed by K. G¨odel[G¨od31]. 2. Decision problem: A family of problems with YES/NO answers is called unde- cidable if there is no algorithm that terminates with the correct answer for every problem in the family. (Example: Hilbert's tenth problem, to decide whether a mul- tivariable polynomial equation with integer coefficients has a solution in integers, is undecidable [Mat70].) Remark 2.1.
    [Show full text]
  • The ∀∃ Theory of D(≤,∨, ) Is Undecidable
    The ∀∃ theory of D(≤, ∨,0 ) is undecidable Richard A. Shore∗ Theodore A. Slaman† Department of Mathematics Department of Mathematics Cornell University University of California, Berkeley Ithaca NY 14853 Berkeley CA 94720 May 16, 2005 Abstract We prove that the two quantifier theory of the Turing degrees with order, join and jump is undecidable. 1 Introduction Our interest here is in the structure D of all the Turing degrees but much of the motivation and setting is shared by work on other degree structures as well. In particular, Miller, Nies and Shore [2004] provides an undecidability result for the r.e. degrees R at the two quantifier level with added function symbols as we do here for D. To set the stage, we begin then with an adaptation of the introduction from that paper including statements of some of its results and so discuss R, the r.e. degrees and D(≤ 00), the degrees below 00 as well. A major theme in the study of degree structures of all types has been the question of the decidability or undecidability of their theories. This is a natural and fundamental question that is an important goal in the analysis of these structures. It also serves as a guide and organizational principle for the development of construction techniques and algebraic information about the structures. A decision procedure implies (and requires) a full understanding and control of the first order properties of a structure. Undecidability results typically require and imply some measure of complexity and coding in the struc- ture. Once a structure has been proven undecidable, it is natural to try to determine both the extent and source of the complexity.
    [Show full text]
  • Warren Goldfarb, Notes on Metamathematics
    Notes on Metamathematics Warren Goldfarb W.B. Pearson Professor of Modern Mathematics and Mathematical Logic Department of Philosophy Harvard University DRAFT: January 1, 2018 In Memory of Burton Dreben (1927{1999), whose spirited teaching on G¨odeliantopics provided the original inspiration for these Notes. Contents 1 Axiomatics 1 1.1 Formal languages . 1 1.2 Axioms and rules of inference . 5 1.3 Natural numbers: the successor function . 9 1.4 General notions . 13 1.5 Peano Arithmetic. 15 1.6 Basic laws of arithmetic . 18 2 G¨odel'sProof 23 2.1 G¨odelnumbering . 23 2.2 Primitive recursive functions and relations . 25 2.3 Arithmetization of syntax . 30 2.4 Numeralwise representability . 35 2.5 Proof of incompleteness . 37 2.6 `I am not derivable' . 40 3 Formalized Metamathematics 43 3.1 The Fixed Point Lemma . 43 3.2 G¨odel'sSecond Incompleteness Theorem . 47 3.3 The First Incompleteness Theorem Sharpened . 52 3.4 L¨ob'sTheorem . 55 4 Formalizing Primitive Recursion 59 4.1 ∆0,Σ1, and Π1 formulas . 59 4.2 Σ1-completeness and Σ1-soundness . 61 4.3 Proof of Representability . 63 3 5 Formalized Semantics 69 5.1 Tarski's Theorem . 69 5.2 Defining truth for LPA .......................... 72 5.3 Uses of the truth-definition . 74 5.4 Second-order Arithmetic . 76 5.5 Partial truth predicates . 79 5.6 Truth for other languages . 81 6 Computability 85 6.1 Computability . 85 6.2 Recursive and partial recursive functions . 87 6.3 The Normal Form Theorem and the Halting Problem . 91 6.4 Turing Machines .
    [Show full text]
  • Classical Metalogic an Introduction to Classical Model Theory & Computability
    Classical Metalogic An Introduction to Classical Model Theory & Computability Notes by R.J. Buehler January 5, 2015 2 Preface What follows are my personal notes created in preparation for the UC-Berkeley Group in Logic preliminary exam. I am not a computability theorist, nor a model theorist; I am a graduate student with some knowledge who is–alas–quite fallible. Accordingly, this text is made available as a convenient reference, set of notes, and summary, but without even the slight hint of a guarantee that everything contained within is factual and correct (indeed, some areas are entirely unchanged from the moment I copied them off the blackboard). This said, if you find a serious error, I would greatly appreciate it if you would let me know so that it can be corrected. The material for these notes derives from a wide variety of sources: Lectures by Wes Holliday Lectures by Antonio Montalban Lectures by John Steel Kevin Kelly’s computability theory notes David Marker’s “Model Theory: An Introduction” Wilfrid Hodge’s “A Shorter Model Theory” Robert Soare’s “Recursively Enumerable Sets and Degrees" Richard Kaye’s “Models of Peano Arithmetic” Chang and Keisler’s “Model Theory" While I certainly hope my notes are beneficial, if you’re attempting to learn the contained material for the first time, I would highly suggest picking up (at least) a copy of Marker and Soare’s texts in addition. To those Group in Logic students who may be using these notes to help themselves prepare for their preliminary exam, chapters 1-5, 7, and 9-18 contain relevant material, as well as chapter 8, section 3.
    [Show full text]
  • METALOGIC METALOGIC an Introduction to the Metatheory of Standard First Order Logic
    METALOGIC METALOGIC An Introduction to the Metatheory of Standard First Order Logic Geoffrey Hunter Senior Lecturer in the Department of Logic and Metaphysics University of St Andrews PALGRA VE MACMILLAN © Geoffrey Hunter 1971 Softcover reprint of the hardcover 1st edition 1971 All rights reserved. No part of this publication may be reproduced or transmitted, in any form or by any means, without permission. First published 1971 by MACMILLAN AND CO LTD London and Basingstoke Associated companies in New York Toronto Dublin Melbourne Johannesburg and Madras SBN 333 11589 9 (hard cover) 333 11590 2 (paper cover) ISBN 978-0-333-11590-9 ISBN 978-1-349-15428-9 (eBook) DOI 10.1007/978-1-349-15428-9 The Papermac edition of this book is sold subject to the condition that it shall not, by way of trade or otherwise, be lent, resold, hired out, or otherwise circulated without the publisher's prior consent, in any form of binding or cover other than that in which it is published and without a similar condition including this condition being imposed on the subsequent purchaser. To my mother and to the memory of my father, Joseph Walter Hunter Contents Preface xi Part One: Introduction: General Notions 1 Formal languages 4 2 Interpretations of formal languages. Model theory 6 3 Deductive apparatuses. Formal systems. Proof theory 7 4 'Syntactic', 'Semantic' 9 5 Metatheory. The metatheory of logic 10 6 Using and mentioning. Object language and metalang- uage. Proofs in a formal system and proofs about a formal system. Theorem and metatheorem 10 7 The notion of effective method in logic and mathematics 13 8 Decidable sets 16 9 1-1 correspondence.
    [Show full text]
  • Chapter 7: Proof Systems: Soundness and Completeness
    Chapter 7: Proof Systems: Soundness and Completeness Proof systems are built to prove statements. Proof systems are an inference machine with special statements, called provable state- ments being its final products. The starting points of the inference are called axioms of the system. We distinguish two kinds of axioms: logi- calAL and specific SP . 1 Semantical link : we usually build a proof system for a given language and its seman- tics i.e. for a logic defined semantically. First step : we choose as a set of logical ax- ioms AL some subset of tautologies, i.e. statements always true. A proof system with only logical axioms AL is called a logic proof system. Building a proof system for which there is no known semantics we think about the logi- cal axioms as statements universally true. 2 We choose as axioms a finite set the state- ments we for sure want to be universally true, and whatever semantics follows they must be tautologies with respect to it. Logical axioms are hence not only tautolo- gies under an established semantics, but they also guide us how to establish a se- mantics, when it is yet unknown. The specific axioms SP are these formulas of the language that describe our knowl- edge of a universe we want to prove facts about. Specific axioms are not universally true, they are true only in the universe we are inter- ested to describe and investigate. 3 A proof system with logical axioms AL and specific axioms SP is called a formal the- ory. The inference machine is defined by a finite set of rules, called inference rules.
    [Show full text]
  • G22.2390-001 Logic in Computer Science Fall 2007 Lecture 3
    Review Last week • Propositional Logic: Semantics • Satisfiability and Tautologies • Propositional Connectives and Boolean Functions G22.2390-001 Logic in Computer Science Fall 2007 • Compactness Lecture 3 1 2 Outline Sources • Computability and Decidability Enderton: 1.6, 1.7. • Boolean Circuits N. J. Cutland. Computability. • Boolean Satisfiability (SAT) W. Hodges. A Shorter Model Theory. Cambridge Press, 1997. • Binary Decision Diagrams (BDD’s) S. Malik. “The Quest for Efficient Boolean Satisfiability Solvers.” Available from http://www.princeton.edu/∼sharad/. Used with permission. E. Hirsch, A. Kojevnikov. “UnitWalk: A New SAT Solver that Uses Local Search Guided by Unit Clause Elimination.” PDMI Preprint. Sept. 2001. R. E. Bryant. Graph-Based Algorithms for Boolean Function Manipulation. IEEE Transactions on Computers, C-35(8), 1986. E. Clarke. Bug Catching: Automated Program Verification and Testing. Lecture notes, Fall 2002. http://www-2.cs.cmu.edu/∼emc/15-398/. D. Dill. Automatic Formal Verification Techniques. Lecture notes, Fall 2001. http://verify.stanford.edu/cs356/. 3 4 Computability Computability and Decidability The important notion of computability relies on a formal model of computation. All of these models are equivalent to what can be achieved by a computer with any standard programming language, given arbitrary (but finite) time and memory. Many formal models have been proposed: Church’s Thesis 1. General recursive functions defined by means of an equation calculus (Godel-Herbrand-Kleene)¨ A notion known as Church’s thesis states that all models of computation are either equivalent to or less powerful than those just described. 2. λ-definable functions (Church) We will accept Church’s thesis and thus define a function to be computable if we 3.
    [Show full text]
  • Source Theories the Signature of Arithmetic Decidability
    Source Theories A signature is a (finite or infinite) set of predicate and function symbols. We fix a signature S. “Formula” means now “formula over the signature S”. A theory is a set of formulas T closed under consequence, i.e., if F ,...,F T and F ,...,F = G then G T . G.S. Boolos, J.P. Burgess, R.C Jeffrey: 1 n ∈ { 1 n} | ∈ Computability and Logic. Cambridge University Press 2002. Fact: Let be a structure suitable for S. The set F of formulas such A that (F )=1 is a theory. A We call them model-based theories. Fact: Let be a set of closed formulas. The set F of formulas such F that = F is a theory. F | 1 2 The signature of arithmetic Decidability, consistency, completeness, . The signature SA of arithmetic contains: A set of formulas is decidable if there is an algorithm that decides F a constant 0, for every formula F whether F holds. • ∈ F a unary function symbol s, • Let T be a theory. two binary function symbols + and , and • · T is decidable if it is decidable as a set of formulas. a binary predicate symbol <. • T is consistent if for every closed formula F either F / T or F / T . ∈ ¬ ∈ (slight change over previous definitions) T is complete if for every closed formula F either F T or F T . ∈ ¬ ∈ Arith is the theory containing the set of closed formulas over SA T is (finitely) axiomatizable if there is a (finite) decidable set T X ⊆ that are true in the canonical structure.
    [Show full text]