An Axiomatic Basis for Computer Programming

Total Page:16

File Type:pdf, Size:1020Kb

An Axiomatic Basis for Computer Programming An Axiomatic Basis for of axioms it is possible to deduce such simple theorems as: Computer Programming x=x+yXO y<r ~r +y X q = (r- y) +y X (1 +q) The proof of the second of these is: C. A. R. HOARE The Queen's University of Belfast,* Northern Ireland A5 (r--y) + y X (l+q) = (r--y)+ (yXl+yXq) In this paper an attempt is made to explore the logical founda- A9 = (r-- y) + (y +y X q) tions of computer programming by use of techniques which were first applied in the study of geometry and have later A3 = ((r--y)+y)+yXq been extended to other branches of mathematics. This in- A6 = r + y X q providedy < r volves the elucidation of sets of axioms and rules of inference The axioms A1 to A9 are, of course, true of the tradi- which can be used in proofs of the properties of computer tional infinite set of integers in mathematics. However, programs. Examples are given of such axioms and rules, and they are also true of the finite sets of "integers" which are a formal proof of a simple theorem is displayed. Finally, it is argued that important advantages, both theoretical and prac- manipulated by computers provided that they are con- fined to nonnegative numbers. Their truth is independent tical, may follow from a pursuance of these topics. of the size of the set; furthermore, it is largely independent KEY WORDS AND PHRASES: axiomatic method, theory of programming' of the choice of technique applied in the event of "over- proofs of programs, formal language definition, programming language flow"; for example: design, machine-independentprogramming, program documentation CR CATEGORY: 4.0, 4.21,4.22, 5.20, 5.21,5.23, 5.24 (1) Strict interpretation: the result of an overflowing operation does not exist; when overflow occurs, the offend- ing program never completes its operation. Note that in this case, the equalities of A1 to A9 are strict, in the sense that both sides exist or fail to exist together. (2) Firm boundary: the result of an overflowing opera- tion is taken as the maximum value represented. (3) Modulo arithmetic: the result of an overflowing 1. Introduction operation is computed modulo the size of the set of integers represented. Computer programming is an exact science in that all These three techniques are illustrated in Table II by the properties of a program and all the consequences of addition and multiplication tables for a trivially small executing it in any given environment can, in principle, model in which 0, 1, 2, and 3 are the only integers repre- be found out from the text of the program itself by means sented. of purely deductive reasoning. Deductive reasoning in- It is interesting to note that the different systems satisfy- volves the application of valid rules of inference to sets of ing axioms A1 to A9 may be rigorously distinguished from valid axioms. It is therefore desirable and interesting to each other by choosing a particular one of a set of mutually elucidate the axioms and rules of inference which underlie exclusive supplementary axioms. For example, infinite our reasoning about computer programs. The exact choice arithmetic satisfies the axiom: of axioms will to some extent depend on the choice of programming language. For illustrative purposes, this A10z ~3xVy (y < x), paper is confined to a very simple language, which is effec- where all finite arithmetics satisfy: tively a subset of all eurrent procedure-oriented languages. A10~ Vx (x < max) 2. Computer Arithmetic where "max" denotes the largest integer represented. The first requirement in valid reasoning about a pro- Similarly, the three treatments of overflow may be gram is to know the properties of the elementary operations distinguished by a choice of one of the following aMoms which it invokes, for example, addition and multiplication relating to the value of max + 1: of integers. Unfortunately, in several respects computer arithmetic is not the same as the arithmetic familiar to Alls ~ 3x (x = max + 1) (strict interpretation) mathematicians, and it is necessary to exercise some care in selecting an appropriate set of axioms. For example, the All, max + 1 = max (firm boundary) axioms displayed in Table I are rather a small selection AllM max + 1 = 0 (modulo arithmetic) of axioms relevant to integers. From this incomplete set Having selected one of these axioms, it is possible to * Depurtment of Computer Science use it in deducing the properties of programs; however, 576 Communications of the ACM Volume 12 / Number 10 / October, 1969 of mathematical logic to express these assertions, and the TABLE I familiar rules of operator precedence have been used A1 x+y=y+x addition is commutative wherever possible to improve legibility. A2 xXy=yXx multiplication is commut- In many cases, the validity of the results of a program ative (or part of a program) will depend on the values taken A3 (x + y) + z = x+ (y + z) addition is associative by the variables before that program is initiated. These A4 (xX y) X z = x X (yX z) multiplication is associa- tive initial preconditions of successful use can be specified by A5 xX (y+z) = xX y+xX z multiplication distrib- the same type of general assertion as is used to describe utes through addition the results obtained on termination. To state the required A6 y<xD (x-- y)+y = x addition cancels subtrac- connection between a precondition (P), a program (Q) tion and a description of the result of its execution (R), we A7 x+0 = x A8 xX0=0 introduce a new notation: A9 xXl=x P{Q}R. This may be interpreted "If the assertion P is true before initiation of a program Q, then the assertion R will be true on its completion." If there are no preconditions im- TABLE II posed, we write true {Q}R) The treatment given below is essentially due to Floyd 1. StrictInterpretation [8] but is applied to texts rather than flowcharts. + 01 23 x 012 3.1. Axiom OF ASSIGNMENT 0 0 1 2 3 0 000 Assignment is undoubtedly the most characteristic fea- 1 123 * 1 012 2 2 3 * * 2 02* ture of programming a digital computer, and one that 3 3 * * * 3 03* most clearly distinguishes it from other branches of mathe- • nonexistent matics. It is surprising therefore that the axiom governing our reasoning about assignment is quite as simple as any 2. FirmBoundary to be found in elementary logic. + 123 × 0123 Consider the assignment statement: 123 0 0000 233 1 0123 x:=f 333 2 0233 where 333 3 0333 x is an identifier for a simple variable; 3. Modulo Arithmetic f is an expression of a programming language without + 012 3 X 0 1 2 side effects, but possibly containing x. Now any assertion P (x) which is to be true of (the value 0 0 1 2 3 0 000 1 123 0 1 0 1 2 of) x after the assignment is made must also have been 2 230 1 2 020 true of (the value of) the expression f, taken before the 3 3 0 1 2 3 0 3 2 assignment is made, i.e. with the old value of x. Thus if P (x) is to be true after the assignment, then P (f) must be true before the assignment. This fact may be expressed more formally: these properties will not necessarily obtMn, unless the DO Axiom of Assignment program is executed on an implementation which satisfies -P0 {x := f} P the chosen axiom. where x is a variable identifier; 3. Program Execution f is an expression; As mentioned above, the purpose of this study is to P0 is obtained from P by substituting f for all occur- provide a logical basis for proofs of the properties of a rences of x. program. One of the most important properties of a pro- It may be noticed that DO is not really an axiom at all, gram is whether or not it carries out its intended function. but rather an axiom schema, describing an infinite set of The intended function of a program, or part of a program, axioms which share a common pattern. This pattern is can be specified by making general assertions about the described in purely syntactic terms, and it is easy to values which the relevant variables will take after execution cheek whether any finite text conforms to the pattern, of the program. These assertions will usually not ascribe thereby qualifying as an axiom, which may validly appear particular values to each variable, but will rather specify in any line of a proof. certain general properties of the values and the relation- 1 If this can be proved in our formal system, we use the familiar ships holding between them. We use the normal notations logical symbol for theoremhood: [-P {Q} R Volume 12 / Number 10 / October, 1969 Communications of the ACM 577 3.2. RULES OF CONSEQUENCE no iterations). Furthermore, it is known that the con- In addition to axioms, a deductive science requires at trolling condition B is false when the iteration finally least one rule of inference, which permits the deduction of terminates. A slightly more powerful formulation is pos- new theorems from one or more axioms or theorems al- sible in light of the fact that B may be assumed to be true ready proved. A rule of inference takes the form "If ~-X on initiation of S: and ~- Y then ~-Z", i.e. if assertions of the form X and Y D3 Rule of Iteration have been proved as theorems, then Z also is thereby If ~P A B{S}P then ~-P{while B do S} ~B A P proved as a theorem.
Recommended publications
  • COMPSCI 501: Formal Language Theory Insights on Computability Turing Machines Are a Model of Computation Two (No Longer) Surpris
    Insights on Computability Turing machines are a model of computation COMPSCI 501: Formal Language Theory Lecture 11: Turing Machines Two (no longer) surprising facts: Marius Minea Although simple, can describe everything [email protected] a (real) computer can do. University of Massachusetts Amherst Although computers are powerful, not everything is computable! Plus: “play” / program with Turing machines! 13 February 2019 Why should we formally define computation? Must indeed an algorithm exist? Back to 1900: David Hilbert’s 23 open problems Increasingly a realization that sometimes this may not be the case. Tenth problem: “Occasionally it happens that we seek the solution under insufficient Given a Diophantine equation with any number of un- hypotheses or in an incorrect sense, and for this reason do not succeed. known quantities and with rational integral numerical The problem then arises: to show the impossibility of the solution under coefficients: To devise a process according to which the given hypotheses or in the sense contemplated.” it can be determined in a finite number of operations Hilbert, 1900 whether the equation is solvable in rational integers. This asks, in effect, for an algorithm. Hilbert’s Entscheidungsproblem (1928): Is there an algorithm that And “to devise” suggests there should be one. decides whether a statement in first-order logic is valid? Church and Turing A Turing machine, informally Church and Turing both showed in 1936 that a solution to the Entscheidungsproblem is impossible for the theory of arithmetic. control To make and prove such a statement, one needs to define computability. In a recent paper Alonzo Church has introduced an idea of “effective calculability”, read/write head which is equivalent to my “computability”, but is very differently defined.
    [Show full text]
  • CAS LX 522 Syntax I
    It is likely… CAS LX 522 IP This satisfies the EPP in Syntax I both clauses. The main DPj I′ clause has Mary in SpecIP. Mary The embedded clause has Vi+I VP is the trace in SpecIP. V AP Week 14b. PRO and control ti This specific instance of A- A IP movement, where we move a likely subject from an embedded DP I′ clause to a higher clause is tj generally called subject raising. I VP to leave Reluctance to leave Reluctance to leave Now, consider: Reluctant has two θ-roles to assign. Mary is reluctant to leave. One to the one feeling the reluctance (Experiencer) One to the proposition about which the reluctance holds (Proposition) This looks very similar to Mary is likely to leave. Can we draw the same kind of tree for it? Leave has one θ-role to assign. To the one doing the leaving (Agent). How many θ-roles does reluctant assign? In Mary is reluctant to leave, what θ-role does Mary get? IP Reluctance to leave Reluctance… DPi I′ Mary Vj+I VP In Mary is reluctant to leave, is V AP Mary is doing the leaving, gets Agent t Mary is reluctant to leave. j t from leave. i A′ Reluctant assigns its θ- Mary is showing the reluctance, gets θ roles within AP as A θ IP Experiencer from reluctant. required, Mary moves reluctant up to SpecIP in the main I′ clause by Spellout. ? And we have a problem: I vP But what gets the θ-role to Mary appears to be getting two θ-roles, from leave, and what v′ in violation of the θ-criterion.
    [Show full text]
  • Use Formal and Informal Language in Persuasive Text
    Author’S Craft Use Formal and Informal Language in Persuasive Text 1. Focus Objectives Explain Using Formal and Informal Language In this mini-lesson, students will: Say: When I write a persuasive letter, I want people to see things my way. I use • Learn to use both formal and different kinds of language to gain support. To connect with my readers, I use informal language in persuasive informal language. Informal language is conversational; it sounds a lot like the text. way we speak to one another. Then, to make sure that people believe me, I also use formal language. When I use formal language, I don’t use slang words, and • Practice using formal and informal I am more objective—I focus on facts over opinions. Today I’m going to show language in persuasive text. you ways to use both types of language in persuasive letters. • Discuss how they can apply this strategy to their independent writing. Model How Writers Use Formal and Informal Language Preparation Display the modeling text on chart paper or using the interactive whiteboard resources. Materials Needed • Chart paper and markers 1. As the parent of a seventh grader, let me assure you this town needs a new • Interactive whiteboard resources middle school more than it needs Old Oak. If selling the land gets us a new school, I’m all for it. Advanced Preparation 2. Last month, my daughter opened her locker and found a mouse. She was traumatized by this experience. She has not used her locker since. If you will not be using the interactive whiteboard resources, copy the Modeling Text modeling text and practice text onto chart paper prior to the mini-lesson.
    [Show full text]
  • Syntax and Semantics of Propositional Logic
    INTRODUCTIONTOLOGIC Lecture 2 Syntax and Semantics of Propositional Logic. Dr. James Studd Logic is the beginning of wisdom. Thomas Aquinas Outline 1 Syntax vs Semantics. 2 Syntax of L1. 3 Semantics of L1. 4 Truth-table methods. Examples of syntactic claims ‘Bertrand Russell’ is a proper noun. ‘likes logic’ is a verb phrase. ‘Bertrand Russell likes logic’ is a sentence. Combining a proper noun and a verb phrase in this way makes a sentence. Syntax vs. Semantics Syntax Syntax is all about expressions: words and sentences. ‘Bertrand Russell’ is a proper noun. ‘likes logic’ is a verb phrase. ‘Bertrand Russell likes logic’ is a sentence. Combining a proper noun and a verb phrase in this way makes a sentence. Syntax vs. Semantics Syntax Syntax is all about expressions: words and sentences. Examples of syntactic claims ‘likes logic’ is a verb phrase. ‘Bertrand Russell likes logic’ is a sentence. Combining a proper noun and a verb phrase in this way makes a sentence. Syntax vs. Semantics Syntax Syntax is all about expressions: words and sentences. Examples of syntactic claims ‘Bertrand Russell’ is a proper noun. ‘Bertrand Russell likes logic’ is a sentence. Combining a proper noun and a verb phrase in this way makes a sentence. Syntax vs. Semantics Syntax Syntax is all about expressions: words and sentences. Examples of syntactic claims ‘Bertrand Russell’ is a proper noun. ‘likes logic’ is a verb phrase. Combining a proper noun and a verb phrase in this way makes a sentence. Syntax vs. Semantics Syntax Syntax is all about expressions: words and sentences. Examples of syntactic claims ‘Bertrand Russell’ is a proper noun.
    [Show full text]
  • Chapter 6 Formal Language Theory
    Chapter 6 Formal Language Theory In this chapter, we introduce formal language theory, the computational theories of languages and grammars. The models are actually inspired by formal logic, enriched with insights from the theory of computation. We begin with the definition of a language and then proceed to a rough characterization of the basic Chomsky hierarchy. We then turn to a more de- tailed consideration of the types of languages in the hierarchy and automata theory. 6.1 Languages What is a language? Formally, a language L is defined as as set (possibly infinite) of strings over some finite alphabet. Definition 7 (Language) A language L is a possibly infinite set of strings over a finite alphabet Σ. We define Σ∗ as the set of all possible strings over some alphabet Σ. Thus L ⊆ Σ∗. The set of all possible languages over some alphabet Σ is the set of ∗ all possible subsets of Σ∗, i.e. 2Σ or ℘(Σ∗). This may seem rather simple, but is actually perfectly adequate for our purposes. 6.2 Grammars A grammar is a way to characterize a language L, a way to list out which strings of Σ∗ are in L and which are not. If L is finite, we could simply list 94 CHAPTER 6. FORMAL LANGUAGE THEORY 95 the strings, but languages by definition need not be finite. In fact, all of the languages we are interested in are infinite. This is, as we showed in chapter 2, also true of human language. Relating the material of this chapter to that of the preceding two, we can view a grammar as a logical system by which we can prove things.
    [Show full text]
  • Axiomatic Set Teory P.D.Welch
    Axiomatic Set Teory P.D.Welch. August 16, 2020 Contents Page 1 Axioms and Formal Systems 1 1.1 Introduction 1 1.2 Preliminaries: axioms and formal systems. 3 1.2.1 The formal language of ZF set theory; terms 4 1.2.2 The Zermelo-Fraenkel Axioms 7 1.3 Transfinite Recursion 9 1.4 Relativisation of terms and formulae 11 2 Initial segments of the Universe 17 2.1 Singular ordinals: cofinality 17 2.1.1 Cofinality 17 2.1.2 Normal Functions and closed and unbounded classes 19 2.1.3 Stationary Sets 22 2.2 Some further cardinal arithmetic 24 2.3 Transitive Models 25 2.4 The H sets 27 2.4.1 H - the hereditarily finite sets 28 2.4.2 H - the hereditarily countable sets 29 2.5 The Montague-Levy Reflection theorem 30 2.5.1 Absoluteness 30 2.5.2 Reflection Theorems 32 2.6 Inaccessible Cardinals 34 2.6.1 Inaccessible cardinals 35 2.6.2 A menagerie of other large cardinals 36 3 Formalising semantics within ZF 39 3.1 Definite terms and formulae 39 3.1.1 The non-finite axiomatisability of ZF 44 3.2 Formalising syntax 45 3.3 Formalising the satisfaction relation 46 3.4 Formalising definability: the function Def. 47 3.5 More on correctness and consistency 48 ii iii 3.5.1 Incompleteness and Consistency Arguments 50 4 The Constructible Hierarchy 53 4.1 The L -hierarchy 53 4.2 The Axiom of Choice in L 56 4.3 The Axiom of Constructibility 57 4.4 The Generalised Continuum Hypothesis in L.
    [Show full text]
  • An Introduction to Formal Language Theory That Integrates Experimentation and Proof
    An Introduction to Formal Language Theory that Integrates Experimentation and Proof Allen Stoughton Kansas State University Draft of Fall 2004 Copyright °c 2003{2004 Allen Stoughton Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sec- tions, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled \GNU Free Documentation License". The LATEX source of this book and associated lecture slides, and the distribution of the Forlan toolset are available on the WWW at http: //www.cis.ksu.edu/~allen/forlan/. Contents Preface v 1 Mathematical Background 1 1.1 Basic Set Theory . 1 1.2 Induction Principles for the Natural Numbers . 11 1.3 Trees and Inductive De¯nitions . 16 2 Formal Languages 21 2.1 Symbols, Strings, Alphabets and (Formal) Languages . 21 2.2 String Induction Principles . 26 2.3 Introduction to Forlan . 34 3 Regular Languages 44 3.1 Regular Expressions and Languages . 44 3.2 Equivalence and Simpli¯cation of Regular Expressions . 54 3.3 Finite Automata and Labeled Paths . 78 3.4 Isomorphism of Finite Automata . 86 3.5 Algorithms for Checking Acceptance and Finding Accepting Paths . 94 3.6 Simpli¯cation of Finite Automata . 99 3.7 Proving the Correctness of Finite Automata . 103 3.8 Empty-string Finite Automata . 114 3.9 Nondeterministic Finite Automata . 120 3.10 Deterministic Finite Automata . 129 3.11 Closure Properties of Regular Languages .
    [Show full text]
  • Syntax: Recursion, Conjunction, and Constituency
    Syntax: Recursion, Conjunction, and Constituency Course Readings Recursion Syntax: Conjunction Recursion, Conjunction, and Constituency Tests Auxiliary Verbs Constituency . Syntax: Course Readings Recursion, Conjunction, and Constituency Course Readings Recursion Conjunction Constituency Tests The following readings have been posted to the Moodle Auxiliary Verbs course site: I Language Files: Chapter 5 (pp. 204-215, 216-220) I Language Instinct: Chapter 4 (pp. 74-99) . Syntax: An Interesting Property of our PS Rules Recursion, Conjunction, and Our Current PS Rules: Constituency S ! f NP , CP g VP NP ! (D) (A*) N (CP) (PP*) Course Readings VP ! V (NP) f (NP) (CP) g (PP*) Recursion PP ! P (NP) Conjunction CP ! C S Constituency Tests Auxiliary Verbs An Interesting Feature of These Rules: As we saw last time, these rules allow sentences to contain other sentences. I A sentence must have a VP in it. I A VP can have a CP in it. I A CP must have an S in it. Syntax: An Interesting Property of our PS Rules Recursion, Conjunction, and Our Current PS Rules: Constituency S ! f NP , CP g VP NP ! (D) (A*) N (CP) (PP*) Course Readings VP ! V (NP) f (NP) (CP) g (PP*) Recursion ! PP P (NP) Conjunction CP ! C S Constituency Tests Auxiliary Verbs An Interesting Feature of These Rules: As we saw last time, these rules allow sentences to contain other sentences. S NP VP N V CP Dave thinks C S that . he. is. cool. Syntax: An Interesting Property of our PS Rules Recursion, Conjunction, and Our Current PS Rules: Constituency S ! f NP , CP g VP NP ! (D) (A*) N (CP) (PP*) Course Readings VP ! V (NP) f (NP) (CP) g (PP*) Recursion PP ! P (NP) Conjunction CP ! CS Constituency Tests Auxiliary Verbs Another Interesting Feature of These Rules: These rules also allow noun phrases to contain other noun phrases.
    [Show full text]
  • Lecture 1: Propositional Logic
    Lecture 1: Propositional Logic Syntax Semantics Truth tables Implications and Equivalences Valid and Invalid arguments Normal forms Davis-Putnam Algorithm 1 Atomic propositions and logical connectives An atomic proposition is a statement or assertion that must be true or false. Examples of atomic propositions are: “5 is a prime” and “program terminates”. Propositional formulas are constructed from atomic propositions by using logical connectives. Connectives false true not and or conditional (implies) biconditional (equivalent) A typical propositional formula is The truth value of a propositional formula can be calculated from the truth values of the atomic propositions it contains. 2 Well-formed propositional formulas The well-formed formulas of propositional logic are obtained by using the construction rules below: An atomic proposition is a well-formed formula. If is a well-formed formula, then so is . If and are well-formed formulas, then so are , , , and . If is a well-formed formula, then so is . Alternatively, can use Backus-Naur Form (BNF) : formula ::= Atomic Proposition formula formula formula formula formula formula formula formula formula formula 3 Truth functions The truth of a propositional formula is a function of the truth values of the atomic propositions it contains. A truth assignment is a mapping that associates a truth value with each of the atomic propositions . Let be a truth assignment for . If we identify with false and with true, we can easily determine the truth value of under . The other logical connectives can be handled in a similar manner. Truth functions are sometimes called Boolean functions. 4 Truth tables for basic logical connectives A truth table shows whether a propositional formula is true or false for each possible truth assignment.
    [Show full text]
  • 1 Logic, Language and Meaning 2 Syntax and Semantics of Predicate
    Semantics and Pragmatics 2 Winter 2011 University of Chicago Handout 1 1 Logic, language and meaning • A formal system is a set of primitives, some statements about the primitives (axioms), and some method of deriving further statements about the primitives from the axioms. • Predicate logic (calculus) is a formal system consisting of: 1. A syntax defining the expressions of a language. 2. A set of axioms (formulae of the language assumed to be true) 3. A set of rules of inference for deriving further formulas from the axioms. • We use this formal system as a tool for analyzing relevant aspects of the meanings of natural languages. • A formal system is a syntactic object, a set of expressions and rules of combination and derivation. However, we can talk about the relation between this system and the models that can be used to interpret it, i.e. to assign extra-linguistic entities as the meanings of expressions. • Logic is useful when it is possible to translate natural languages into a logical language, thereby learning about the properties of natural language meaning from the properties of the things that can act as meanings for a logical language. 2 Syntax and semantics of Predicate Logic 2.1 The vocabulary of Predicate Logic 1. Individual constants: fd; n; j; :::g 2. Individual variables: fx; y; z; :::g The individual variables and constants are the terms. 3. Predicate constants: fP; Q; R; :::g Each predicate has a fixed and finite number of ar- guments called its arity or valence. As we will see, this corresponds closely to argument positions for natural language predicates.
    [Show full text]
  • Lambda Calculus and the Decision Problem
    Lambda Calculus and the Decision Problem William Gunther November 8, 2010 Abstract In 1928, Alonzo Church formalized the λ-calculus, which was an attempt at providing a foundation for mathematics. At the heart of this system was the idea of function abstraction and application. In this talk, I will outline the early history and motivation for λ-calculus, especially in recursion theory. I will discuss the basic syntax and the primary rule: β-reduction. Then I will discuss how one would represent certain structures (numbers, pairs, boolean values) in this system. This will lead into some theorems about fixed points which will allow us have some fun and (if there is time) to supply a negative answer to Hilbert's Entscheidungsproblem: is there an effective way to give a yes or no answer to any mathematical statement. 1 History In 1928 Alonzo Church began work on his system. There were two goals of this system: to investigate the notion of 'function' and to create a powerful logical system sufficient for the foundation of mathematics. His main logical system was later (1935) found to be inconsistent by his students Stephen Kleene and J.B.Rosser, but the 'pure' system was proven consistent in 1936 with the Church-Rosser Theorem (which more details about will be discussed later). An application of λ-calculus is in the area of computability theory. There are three main notions of com- putability: Hebrand-G¨odel-Kleenerecursive functions, Turing Machines, and λ-definable functions. Church's Thesis (1935) states that λ-definable functions are exactly the functions that can be “effectively computed," in an intuitive way.
    [Show full text]
  • A Logical Approach to Grammar Description Lionel Clément, Jérôme Kirman, Sylvain Salvati
    A logical approach to grammar description Lionel Clément, Jérôme Kirman, Sylvain Salvati To cite this version: Lionel Clément, Jérôme Kirman, Sylvain Salvati. A logical approach to grammar description. Jour- nal of Language Modelling, Institute of Computer Science, Polish Academy of Sciences, Poland, 2015, Special issue on High-level methodologies for grammar engineering, 3 (1), pp. 87-143 10.15398/jlm.v3i1.94. hal-01251222 HAL Id: hal-01251222 https://hal.archives-ouvertes.fr/hal-01251222 Submitted on 19 Jan 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. A logical approach to grammar description Lionel Clément, Jérôme Kirman, and Sylvain Salvati Université de Bordeaux LaBRI France abstract In the tradition of Model Theoretic Syntax, we propose a logical ap- Keywords: proach to the description of grammars. We combine in one formal- grammar ism several tools that are used throughout computer science for their description, logic, power of abstraction: logic and lambda calculus. We propose then a Finite State high-level formalism for describing mildly context sensitive grammars Automata, and their semantic interpretation. As we rely on the correspondence logical between logic and finite state automata, our method combines con- transduction, ciseness with effectivity.
    [Show full text]