A Verified Prover Based on Ordered Resolution Anders Schlichtkrull, Jasmin Christian Blanchette, Dmitriy Traytel

Total Page:16

File Type:pdf, Size:1020Kb

A Verified Prover Based on Ordered Resolution Anders Schlichtkrull, Jasmin Christian Blanchette, Dmitriy Traytel A Verified Prover Based on Ordered Resolution Anders Schlichtkrull, Jasmin Christian Blanchette, Dmitriy Traytel To cite this version: Anders Schlichtkrull, Jasmin Christian Blanchette, Dmitriy Traytel. A Verified Prover Based on Ordered Resolution. CPP 2019 - The 8th ACM SIGPLAN International Conference on Certified Programs and Proofs, Jan 2019, Cascais, Portugal. 10.1145/3293880.3294100. hal-01937141 HAL Id: hal-01937141 https://hal.archives-ouvertes.fr/hal-01937141 Submitted on 27 Nov 2018 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 Verified Prover Based on Ordered Resolution Anders Schlichtkrull Jasmin Christian Blanchette Dmitriy Traytel DTU Compute Department of Computer Science Department of Computer Science Technical University of Denmark Vrije Universiteit Amsterdam ETH Zürich Kongens Lyngby, Denmark Amsterdam, the Netherlands Zürich, Switzerland [email protected] [email protected] [email protected] Abstract interpreted universally. Each literal is either an atom A or The superposition calculus, which underlies first-order the- its negation :A. An atom is a symbol applied to a tuple of orem provers such as E, SPASS, and Vampire, combines or- terms—e.g., prime¹nº. The empty clause is denoted by ?. dered resolution and equality reasoning. As a step towards Resolution works by refutation: Conceptually, the calculus verifying modern provers, we specify, using Isabelle/HOL, proves a conjecture x¯:C from a set of axioms D by deriving 8 a purely functional first-order ordered resolution prover ? from D [ f x¯: :Cg, indicating its unsatisfiability. As an 9 and establish its soundness and refutational completeness. optimization, it uses a redundancy criterion to discard tau- Methodologically, we apply stepwise refinement to obtain, tologies, subsumed clauses, and other unnecessary clauses; from an abstract nondeterministic specification, a verified de- for example, p¹xº _ q¹xº and p¹5º are both subsumed by p¹xº. terministic program, written in a subset of Isabelle/HOL from Compared with plain resolution, ordered resolution relies on which we extract purely functional Standard ML code that an order on the atoms to further prune the search space. constitutes a semidecision procedure for first-order logic. Modern superposition provers are highly optimized pro- grams that rely on sophisticated calculi, with a rich metathe- CCS Concepts • Theory of computation → Logic and ory. In this paper, we propose to verify, using Isabelle/HOL verification; Automated reasoning; [30], a purely functional prover based on ordered resolution. Keywords automatic theorem provers, proof assistants, Although our primary interest is in metatheory per se, there first-order logic, stepwise refinement are of course applications for verified provers [50]. The verification relies on stepwise refinement [55]. Four ACM Reference Format: layers are connected by three refinement steps. Anders Schlichtkrull, Jasmin Christian Blanchette, and Dmitriy Our starting point, layer 1 (Section3), is an abstract Prolog- Traytel. 2019. A Verified Prover Based on Ordered Resolution. In Proceedings of the 8th ACM SIGPLAN International Conference on style nondeterministic resolution prover in a highly general Certified Programs and Proofs (CPP ’19), January 14–15, 2019, Cascais, form, as presented by Bachmair and Ganzinger [2] and as Portugal. ACM, New York, NY, USA, 14 pages. https://doi.org/10. formalized in our earlier work [39, 40]. It operates on pos- 1145/3293880.3294100 sibly infinite sets of clauses. Its soundness and refutational completeness are inherited by the other layers. 1 Introduction Layer 2 (Section4) operates on finite multisets of clauses Automatic theorem provers based on superposition, such as and introduces a priority queue to ensure that inferences E[42], SPASS [53], and Vampire [21], are often employed are performed in a fair manner, guaranteeing completeness: as backends in proof assistants and program verification Given a valid conjecture, the prover will eventually derive ?. tools [7, 20, 32]. Superposition is a highly successful calculus Layer 3 (Section5) is a deterministic program that works for first-order logic with equality, which generalizes both on finite lists, committing to a strategy for assigning priori- ordered resolution [2] and ordered completion [1]. ties to clauses. However, it is not fully executable: It abstracts Resolution operates on sets of clauses. A clause is an n- over operations on atoms and employs logical specifications ary disjunction of literals L1 _···_ Ln whose variables are instead of executable functions for auxiliary notions. Finally, layer 4 (Section6) is a fully executable program. Permission to make digital or hard copies of all or part of this work for It provides a concrete datatype for atoms and executable personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that definitions for all auxiliary notions, including unifiers, clause copies bear this notice and the full citation on the first page. Copyrights subsumption, and the order on atoms. for components of this work owned by others than the author(s) must From layer 4, we can extract Standard ML code by in- be honored. Abstracting with credit is permitted. To copy otherwise, or voking Isabelle’s code generator [11]. The resulting prover republish, to post on servers or to redistribute to lists, requires prior specific constitutes a proof of concept: It uses an efficient calculus permission and/or a fee. Request permissions from [email protected]. (layer 1) and a reasonable strategy to ensure fairness (layers CPP ’19, January 14–15, 2019, Cascais, Portugal © 2019 Copyright held by the owner/author(s). Publication rights licensed 2 and 3), but depends on inefficient list-based data structures. to ACM. Further refinement steps will be required to obtain a prover ACM ISBN 978-1-4503-6222-1/19/01...$15.00 that is competitive with the state of the art. https://doi.org/10.1145/3293880.3294100 CPP ’19, January 14–15, 2019, Cascais, Portugal A. Schlichtkrull, J. C. Blanchette, and D. Traytel The refinement steps connect vastly different levels of multisets behave more naturally under substitution. For ex- abstraction. The most abstract level is occupied by an infini- ample, applying fy 7! xg to the two-literal clause p¹xº_p¹yº tary logical calculus and the semantics of first-order logic. results in p¹xº _ p¹xº, which preserves the clause’s structure. Soundness and completeness relate these two notions. At The truth value of ground (i.e., variable-free) atoms is the functional programming level, soundness amounts to given by a Herbrand interpretation: a set I, of type 0a set, of all a safety property: Whenever the program terminates nor- true ground atoms. The “models” predicate j= is defined as mally, its outcome is correct, whether it is a proof or a finite I j= A () A 2 I. This definition is lifted to literals, clauses, saturation witnessing unprovability. Correspondingly, refu- and sets of clauses in the usual way. A set of clauses D is tational completeness is a liveness property: If the conjecture satisfiable if there exists an interpretation I such that I j= D. is valid, the program will always terminate normally. We Resolution depends on a notion of substitution and of most find that, far from being academic exercises, Bachmair and general unifier (MGU). These auxiliary concepts are provided Ganzinger’s framework [2] and its formalization [39, 40] by a third-party library, IsaFoR (Isabelle Formalization of adequately capture the metatheory of actual provers. Rewriting) [51]. To reduce our dependency on external li- To our knowledge, our program is the first verified prover braries, we hide them behind abstract locales parameterized for first-order logic implementing an optimized calculus. It by a type of atoms 0a and a type of substitutions 0s. is also the first example of the application of refinement ina We start by defining a locale substitution_ops that declares first-order context. This methodology has been used to verify application (·), identity (id), and composition (◦): SAT solvers [6, 29], which decide the satisfiability of proposi- locale substitution_ops = tional formulas, but first-order logic is semidecidable—sound fixes id :: 0s and ◦ :: 0s ) 0s ) 0s and · :: 0a ) 0s ) 0a and complete provers are guaranteed to terminate only for Within the locale’s scope, we introduce a number of derived unsatisfiable (i.e., provable) clause sets. This complicates the concepts. Ground atoms are defined as those atoms that transfer of completeness results across refinement layers. are left unchanged by substitutions: is_ground A () σ: The present work is part of the IsaFoL (Isabelle Formaliza- · 8 1 A = A σ. A ground substitution is a substitution whose tion of Logic) project, which aims at developing a library of application always results in ground atoms. Nonstrict and results about logic and automated reasoning [3]. The Isabelle strict generalization are defined as files are available in the Archive of Formal Proofs [38, 39] and in the IsaFoL repository. 2 The parts specific to the functional generalizes AB () σ: A · σ = B 9 prover refinement amount to about 4000 lines of source text. strictly_generalizes AB () generalizes AB A convenient way to study the files is to open them in Isa- ^ : generalizes BA belle/jEdit [54], as explained in the repository’s readme file. The operators on atoms are lifted to literals, clauses, and sets The files were created using Isabelle version 2018, but the of clauses. The grounding of a clause is defined as repositories will be updated to follow Isabelle’s evolution.
Recommended publications
  • Thomas Ströhlein's Endgame Tables: a 50Th Anniversary
    Thomas Ströhlein's Endgame Tables: a 50th Anniversary Article Supplemental Material The Festschrift on the 40th Anniversary of the Munich Faculty of Informatics Haworth, G. (2020) Thomas Ströhlein's Endgame Tables: a 50th Anniversary. ICGA Journal, 42 (2-3). pp. 165-170. ISSN 1389-6911 doi: https://doi.org/10.3233/ICG-200151 Available at http://centaur.reading.ac.uk/90000/ It is advisable to refer to the publisher’s version if you intend to cite from the work. See Guidance on citing . Published version at: https://content.iospress.com/articles/icga-journal/icg200151 To link to this article DOI: http://dx.doi.org/10.3233/ICG-200151 Publisher: The International Computer Games Association All outputs in CentAUR are protected by Intellectual Property Rights law, including copyright law. Copyright and IPR is retained by the creators or other copyright holders. Terms and conditions for use of this material are defined in the End User Agreement . www.reading.ac.uk/centaur CentAUR Central Archive at the University of Reading Reading’s research outputs online 40 Jahre Informatik in Munchen:¨ 1967 – 2007 Festschrift Herausgegeben von Friedrich L. Bauer unter Mitwirkung von Helmut Angstl, Uwe Baumgarten, Rudolf Bayer, Hedwig Berghofer, Arndt Bode, Wilfried Brauer, Stephan Braun, Manfred Broy, Roland Bulirsch, Hans-Joachim Bungartz, Herbert Ehler, Jurgen¨ Eickel, Ursula Eschbach, Anton Gerold, Rupert Gnatz, Ulrich Guntzer,¨ Hellmuth Haag, Winfried Hahn (†), Heinz-Gerd Hegering, Ursula Hill-Samelson, Peter Hubwieser, Eike Jessen, Fred Kroger,¨ Hans Kuß, Klaus Lagally, Hans Langmaack, Heinrich Mayer, Ernst Mayr, Gerhard Muller,¨ Heinrich Noth,¨ Manfred Paul, Ulrich Peters, Hartmut Petzold, Walter Proebster, Bernd Radig, Angelika Reiser, Werner Rub,¨ Gerd Sapper, Gunther Schmidt, Fred B.
    [Show full text]
  • R ˘Azvan Diaconescu
    RA˘ ZVAN DIACONESCU list of publications MONOGRAPHS AND TEXTBOOKS [1-B] Institution-independent Model Theory. volume of Studies in Universal Logic series. Birkhauser¨ Basel, 2008. (386 pages). [2-B] (with K. Futatsugi) CafeOBJ Report: the language, proof techniques, and methodologies for object-oriented algebraic specification, volume 6 of AMAST Series in Computing. World Scientific Singapore, 1998. (174 pages) [3-B] Category-based Semantics for Equational and Constraint Logic Programming. D.Phil thesis, University of Oxford, 1994. (published as OUCL Monograph PRG-116, 120 pages) JOURNAL ARTICLES [4-J] Borrowing interpolation. Journal of Logic and Computation, Oxford Univ. Press. DOI:10.1093/logcom/exr007 [5-J] An axiomatic approach to structuring specifications. Theoretical Computer Science, 433:20–42, Elsevier, 2012. [6-J] Interpolation for predefined types. Mathematical Structures in Computer Science, 22(1):1–24, Cambridge Univ. Press, 2012. [7-J] Grothendieck inclusion systems. Applied Categorical Structures, 19(5):783–802, Springer, 2011. [8-J] Structural Induction in Institutions. Information and Computation, 209(9):1197–1222, Elsevier, 2011. [9-J] (with I. T¸ut¸u) On the Algebra of Structured Specifications. Theoretical Computer Science, 412(28):3145–3174, Elsevier, 2011. [10-J] On quasi-varieties of multiple valued logic models. Mathematical Logic Quarterly, 57(2):194–203, Wiley, 2011. [11-J] Coinduction for preordered algebras. Information and Computation, 209(2):108–117, Elsevier, 2011. [12-J] (with M. Petria) Saturated models in institutions. Archive for Mathematical Logic, 49(6):693–723, Springer, 2010. [13-J] Quasi-Boolean encodings and conditionals in algebraic specification. Journal of Logic and Algebraic Programming, 79(2):174–188, Elsevier, 2010.
    [Show full text]
  • Lecture Notes in Computer Science 1378 Edited by G
    Lecture Notes in Computer Science 1378 Edited by G. Goos, J. Hartmanis and J. van Leeuwen Maurice Nivat (Ed.) Foundations of Software Science and Computation Structures First International Conference, FoSSaCS'98 Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS' 98 Lisbon, Portugal, March 28 - April 4, 1998 Proceedings ~ Springer Series Editors Gerhard Goos, Karlsruhe University, Germany Juris Hartmanis, Cornell University, NY, USA Jan van Leeuwen, Utrecht University, The Netherlands Volume Editor Maurice Nivat LITP, Universit6 Paris 7 2, Place Jussieu, F-75251 Paris Cedex 05, France E-mail: Maurice.Nivat @litp.liafa.jussieu.fr Cataloging-in-Publication data applied for Die Deutsche Bibliothek - CIP-Einheitsaufnahme Foundations of software science and computation structures : first international conference ; proceedings / FoSSaCS '98, held as part of the Joint European Conferences on Theory and Practice of Software, ETAPS '98, Lisbon, Portugal, March 28 - April 4, 1998. Maurice Nivat (ed.). - Berlin ; Heidelberg ; New York ; Barcelona ; Budapest ; Hong Kong ; London Milan ; Paris ; Santa Clara ; Singapore ; Tokyo : Springer, 1998 (Lecture notes in computer science ; Vol. 1378) ISBN 3-540-64300-1 CR Subject Classification (1991):F.3. F.4.2, El.I, D.3.3-4, D.2.1 ISSN 0302-9743 ISBN 3-540-64300-1 Springer-Verlag Berlin Heidelberg New York This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, re-use of illustrations, recitation, broadcasting, reproduction on microfilms or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer -Verlag.
    [Show full text]
  • Kolmogorov Complexity in Perspective. Part II: Classification, Information Processing and Duality Marie Ferbus-Zanda
    Kolmogorov Complexity in perspective. Part II: Classification, Information Processing and Duality Marie Ferbus-Zanda To cite this version: Marie Ferbus-Zanda. Kolmogorov Complexity in perspective. Part II: Classification, Information Processing and Duality. Synthese, Springer Verlag (Germany), 2010, pp.00. hal-00525505 HAL Id: hal-00525505 https://hal.archives-ouvertes.fr/hal-00525505 Submitted on 13 Oct 2010 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. Kolmogorov Complexity in perspective Part II: Classification, Information Processing and Duality∗ Marie Ferbus-Zanda LIAFA, CNRS & Universit´eParis Diderot - Paris 7 Case 7014 75205 Paris Cedex 13 France [email protected] Abstract We survey diverse approaches to the notion of information: from Shan- non entropy to Kolmogorov complexity. Two of the main applications of Kolmogorov complexity are presented: randomness and classification. The survey is divided in two parts published in a same volume. Part II is dedicated to the relation between logic and information sys- tem, within the scope of Kolmogorov algorithmic information theory. We present a recent application of Kolmogorov complexity: classification us- ing compression, an idea with provocative implementation by authors such as Bennett, Vit´anyi and Cilibrasi.
    [Show full text]
  • A Rational Deconstruction of Landin's J Operator
    BRICS RS-06-4 Danvy & Millikin: A Rational Deconstruction of Landin’s J Operator BRICS Basic Research in Computer Science A Rational Deconstruction of Landin’s J Operator Olivier Danvy Kevin Millikin BRICS Report Series RS-06-4 ISSN 0909-0878 February 2006 Copyright c 2006, Olivier Danvy & Kevin Millikin. BRICS, Department of Computer Science University of Aarhus. All rights reserved. Reproduction of all or part of this work is permitted for educational or research use on condition that this copyright notice is included in any copy. See back inner page for a list of recent BRICS Report Series publications. Copies may be obtained by contacting: BRICS Department of Computer Science University of Aarhus IT-parken, Aabogade 34 DK–8200 Aarhus N Denmark Telephone: +45 8942 9300 Telefax: +45 8942 5601 Internet: [email protected] BRICS publications are in general accessible through the World Wide Web and anonymous FTP through these URLs: http://www.brics.dk ftp://ftp.brics.dk This document in subdirectory RS/06/4/ A Rational Deconstruction of Landin’s J Operator∗ Olivier Danvy and Kevin Millikin BRICS† Department of Computer Science University of Aarhus‡ February 28, 2006 Abstract Landin’s J operator was the first control operator for functional languages, and was specified with an extension of the SECD machine. Through a se- ries of meaning-preserving transformations (transformation into continu- ation-passing style (CPS) and defunctionalization) and their left inverses (transformation into direct style and refunctionalization), we present a compositional evaluation function corresponding to this extension of the SECD machine. We then characterize the J operator in terms of CPS and in terms of delimited-control operators in the CPS hierarchy.
    [Show full text]
  • Introduction to the Literature on Programming Language Design Gary T
    Computer Science Technical Reports Computer Science 7-1999 Introduction to the Literature On Programming Language Design Gary T. Leavens Iowa State University Follow this and additional works at: http://lib.dr.iastate.edu/cs_techreports Part of the Programming Languages and Compilers Commons Recommended Citation Leavens, Gary T., "Introduction to the Literature On Programming Language Design" (1999). Computer Science Technical Reports. 59. http://lib.dr.iastate.edu/cs_techreports/59 This Article is brought to you for free and open access by the Computer Science at Iowa State University Digital Repository. It has been accepted for inclusion in Computer Science Technical Reports by an authorized administrator of Iowa State University Digital Repository. For more information, please contact [email protected]. Introduction to the Literature On Programming Language Design Abstract This is an introduction to the literature on programming language design and related topics. It is intended to cite the most important work, and to provide a place for students to start a literature search. Keywords programming languages, semantics, type systems, polymorphism, type theory, data abstraction, functional programming, object-oriented programming, logic programming, declarative programming, parallel and distributed programming languages Disciplines Programming Languages and Compilers This article is available at Iowa State University Digital Repository: http://lib.dr.iastate.edu/cs_techreports/59 Intro duction to the Literature On Programming Language Design Gary T. Leavens TR 93-01c Jan. 1993, revised Jan. 1994, Feb. 1996, and July 1999 Keywords: programming languages, semantics, typ e systems, p olymorphism, typ e theory, data abstrac- tion, functional programming, ob ject-oriented programming, logic programming, declarative programming, parallel and distributed programming languages.
    [Show full text]
  • MAURICE NIVAT, UNE GRANDE FIGURE 89 ◦◦◦◦••◦◦ Une Brève Biographie Scientifique De Maurice Nivat 2
    HOMMAGE Maurice Nivat, une grande gure Pierre-Louis Curien 1 Le texte qui suit a été rédigé en 2001, pour le volume intitulé « Merci, Maurice : a mosaic in honour of Maurice Nivat », paru comme numéro spécial de la revue Theoretical Com- puter Science, que Maurice Nivat avait fon- dée. En écrivant ce texte, je me réjouissais par avance des travaux scientifiques que Maurice continuerait de poursuivre, des combats qu’il continuerait à livrer pour la pleine reconnais- sance de notre discipline et pour son enseigne- ment « de première classe », et de la liberté qu’il aurait, sa retraite prise, pour assouvir à loisir d’autres passions : celles pour le patri- moine, pour l’ethnographie, pour le théâtre, pour les voyages... Et, en effet, Maurice a poursuivi pendant plusieurs années ses travaux en tomographie discrète. Accompagné par son épouse Paule, il a parcouru le monde en long et en large, à six reprises. Il a mené un combat acharné pour l’introduction de l’informatique dans les programmes de l’enseignement secon- daire. Maurice nous a quittés au terme d’une maladie qu’il a combattue avec un im- mense courage, continuant à lire, à s’informer, à s’enflammer pour les causes qu’il 1. Institut de recherche en informatique fondamentale (IRIF, UMR 8243), CNRS et université Paris- Diderot. 1024 – Bulletin de la société informatique de France, numéro 12, juin 2018, pp. 87–107 88 PIERRE-LOUIS CURIEN ◦◦◦◦••◦◦ défendait. Je me souviendrai de la gourmandise qu’il avait encore dans les yeux et dans le verbe pour me parler, sur son lit d’hôpital, de sa fascination pour les iguanes, alors que je revenais d’une conférence aux îles Galápagos.
    [Show full text]
  • Around the Domino Problem - Combinatorial Structures and Algebraic Tools Etienne Moutot
    Around the Domino Problem - Combinatorial Structures and Algebraic Tools Etienne Moutot To cite this version: Etienne Moutot. Around the Domino Problem - Combinatorial Structures and Algebraic Tools. Dis- crete Mathematics [cs.DM]. Université de Lyon; Turun yliopisto, 2020. English. NNT : 2020LY- SEN027. tel-02967024 HAL Id: tel-02967024 https://tel.archives-ouvertes.fr/tel-02967024 Submitted on 14 Oct 2020 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. N◦ National de Thèse : 2020LYSEN027 Thèse de Doctorat de l’Université de Lyon opérée par l’École Normale Supérieure de Lyon en cotutelle avec Turun Yliopisto École doctorale n◦ 512 École doctorale en Informatique et Mathématiques de Lyon Spécialité : Informatique Soutenue publiquement le 15 juillet 2020 par Etienne Moutot Autour du problème du domino Structures combinatoires et outils algébriques Devant le jury composé de : Valérie Berthé Directrice de Recherche, Universite Paris Diderot Rapporteure Fabien Durand Professeur, Université de Picardie Jules Verne Rapporteur Bryna Kra Professeure, Northwestern University Rapporteure Andrei Romashchenko Chargé de Recherche, Université de Montpellier Examinateur Guillaume Theyssier Chargé de Recherche, Université Aix-Marseille Examinateur Stéphan Thomassé Professeur, ENS de Lyon Directeur Jarkko Kari Professeur, University of Turku Co-tuteur Nathalie Aubrun Chargée de Recherche, ENS de Lyon Co-encadrante Acknowledgements Finally.
    [Show full text]
  • Transductions Des Langages De Chomsky Annales De L’Institut Fourier, Tome 18, No 1 (1968), P
    ANNALES DE L’INSTITUT FOURIER MAURICE NIVAT Transductions des langages de Chomsky Annales de l’institut Fourier, tome 18, no 1 (1968), p. 339-455 <http://www.numdam.org/item?id=AIF_1968__18_1_339_0> © Annales de l’institut Fourier, 1968, tous droits réservés. L’accès aux archives de la revue « Annales de l’institut Fourier » (http://annalif.ujf-grenoble.fr/) implique l’accord avec les conditions gé- nérales d’utilisation (http://www.numdam.org/conditions). Toute utilisa- tion commerciale ou impression systématique est constitutive d’une in- fraction pénale. Toute copie ou impression de ce fichier doit conte- nir la présente mention de copyright. Article numérisé dans le cadre du programme Numérisation de documents anciens mathématiques http://www.numdam.org/ Ann. Inst Fourier, Grenoble 18, 1 (1968), 339^456 TRANSDUCTIONS DES LANGAGES DE CHOMSKY par Maurice NIVAT Introduction. I. L'origine de ce travail est pratique. Les langages de programmation sont définis par des règles précises qui en font pour l'essentiel des langages "context-free", (désignés plus loin sous le nom de C-langages). Ce fut le mérite de N. Chomsky d'introduire à des fins purement lin- guistiques cette structure [2], et celui des créateurs du langage Algol de voir tout le parti qu'en pouvait tirer les utilisateurs de machines à calculer [14] : restaient à résoudre deux problèmes d'ailleurs étroi- tement liés l'un à l'autre : — décrire des algorithmes de reconnaissance, c'est-à-dire des algorithmes permettant de décider connaissant les règles de formation des phrases d'un tel langage si une phrase donnée appartient ou non à ce langage et retrouver en cas de réponse favorable la suite des règles au moyen desquelles cette phrase peut être formée (comme phrase du langage).
    [Show full text]
  • THE TREE NEWSLETTER June 2007 Issue 23
    ACADEMIA The Academy of Europe EUROPAEA } THE TREE NEWSLETTER JUNE 2007 ISSUE 23 From the President issues of relevance to modern society given the pace of development in the from the perspectives of impartial European research landscape, we cannot This is the fifth year analysis. As individual members we claim yet to be fully representative of my presidency should be more active in support of our of the very best across all fields of and the penultimate journal. For any members who feel that scholarship. Nomination of candidates one for my period of we have no impact: it may be worth for membership is the responsibility of office. I will leave my browsing the pages of the European all members. To be credible, we need personal reflections Research Council website, where our to ensure that we reflect the best in on the past to next members serve both on the Council our community. So, I would ask all year, when we will itself and also in large numbers on the members to try this coming year to also celebrate our 20th anniversary as a many expert review panels. Similarly nominate at least one new member. fully functioning international academy our “HERCULES” group of members, are Please remember that you can nominate – a very fitting moment in time ‘to take active in organising annual conferences candidates outside of your own field stock’. on issues of research policy relevant to and section. institutions of higher education and As with all organisations, we have we are strong and active supporters of ANNUAL MEETING, our critics and our champions, who the work of the European Academies 2007 Science Advisory Council (EASAC) collectively reflect a wide range of Toledo “Dialogue of Three Cultures – a group of Academies that provide perspectives and views, both on our and Our European Heritage (Toledo, coordinated, expert scientific advice to role and also on the extent to which the cradle of the renaissance)” the institutions of the European Union.
    [Show full text]
  • A Step-Indexed Semantics of Imperative Objects∗ 1
    Logical Methods in Computer Science Vol. 5 (4:2) 2009, pp. 1–48 Submitted Mar. 3, 2009 www.lmcs-online.org Published Dec. 17, 2009 A STEP-INDEXED SEMANTICS OF IMPERATIVE OBJECTS ∗ CAT˘ ALIN˘ HRIT¸CU a AND JAN SCHWINGHAMMER b a Department of Computer Science, Saarland University, Saarbr¨ucken, Germany e-mail address: [email protected] b Programming Systems Lab, Saarland University, Saarbr¨ucken, Germany e-mail address: [email protected] Abstract. Step-indexed semantic interpretations of types were proposed as an alternative to purely syntactic proofs of type safety using subject reduction. The types are interpreted as sets of values indexed by the number of computation steps for which these values are guaranteed to behave like proper elements of the type. Building on work by Ahmed, Appel and others, we introduce a step-indexed semantics for the imperative object calculus of Abadi and Cardelli. Providing a semantic account of this calculus using more ‘traditional’, domain-theoretic approaches has proved challenging due to the combination of dynamically allocated objects, higher-order store, and an expressive type system. Here we show that, using step-indexing, one can interpret a rich type discipline with object types, subtyping, recursive and bounded quantified types in the presence of state. 1. Introduction The imperative object calculus of Abadi and Cardelli is a very small, yet very expressive object-oriented language [2]. Despite the extreme simplicity of its syntax, the calculus models many important concepts of object-oriented programming, as well as the often subtle interaction between them. In particular it raises interesting and non-trivial questions with respect to typing.
    [Show full text]
  • An Interview with Donald Knuth 1974 ACM Turing Award Recipient
    An Interview with Donald Knuth 1974 ACM Turing Award Recipient Interviewed by: Edward Feigenbaum March 14, 2007 and March 21, 2007 Mountain View, California This transcript and the interview on which it is based is from the files of the Computer History Museum in Mountain View, California. It is used here by the ACM with Kind permission from the Museum. CHM Reference number: X3926.2007, © 2007 Computer History Museum DK: Donald Knuth, The 1974 ACM Turing Award Recipient EF: Edward Feigenbaum, a professor at Stanford University EF: My name is Edward Feigenbaum. I’m a professor at Stanford University, in the Computer Science Department. I’m very pleased to have the opportunity to interview my colleague and friend from 1968 on, Professor Don Knuth of the Computer Science Department. Don and I have discussed the question of what viewers and readers of this oral history we think there are. We’re orienting our questions and comments to several groups of you readers and viewers. First, the generally intelligent and enlightened science-oriented person who has seen the field of computer science explode in the past half century and would like to find out what is important, even beautiful, and what some of the field’s problems have been. Second, the student of today who would like orientation and motivation toward computer science as a field of scholarly work and application, much as Don and I had to do in the 1950s. And third, those of you who maybe are not yet born, the history of science scholar of a dozen or 100 years from now, who will want to know more about Donald Knuth, the scientist and programming artist, who produced a memorable body of work in the decades just before and after the turn of the millennium.
    [Show full text]