Outils Pour La Formalisation En Analyse Classique Damien Rouhling

Total Page:16

File Type:pdf, Size:1020Kb

Outils Pour La Formalisation En Analyse Classique Damien Rouhling Outils pour la Formalisation en Analyse Classique Une Étude de Cas en Théorie du Contrôle Damien Rouhling Inria Sophia Antipolis Méditerranée Présentée en vue de l’obtention du Devant le jury, composé de : grade de docteur en Informatique d’Université Côte d’Azur. Jesús Aransay Yves Bertot Dirigée par : Yves Bertot. Sylvie Boldo Cyril Cohen Co-encadrée par : Cyril Cohen. Éric Goubault Étienne Lozes Soutenue le : 30 septembre 2019. Lawrence Paulson Outils pour la Formalisation en Analyse Classique Une Étude de Cas en Théorie du Contrôle Jury : Directeurs Yves Bertot, Directeur de Recherche, Inria Sophia Antipolis Méditerranée Cyril Cohen, Chargé de Recherche, Inria Sophia Antipolis Méditerranée Rapporteurs Sylvie Boldo, Directrice de Recherche, Inria Saclay Île de France Lawrence Paulson, Professor, University of Cambridge Examinateurs Jesús Aransay, Profesor Contratado Doctor, Universida de La Rioja Éric Goubault, Professeur, École Polytechnique Étienne Lozes, Professeur, Université de Nice Sophia Antipolis Formalisation Tools for Classical Analysis A Case Study in Control Theory Jury: Advisors Yves Bertot, Directeur de Recherche, Inria Sophia Antipolis Méditerranée Cyril Cohen, Chargé de Recherche, Inria Sophia Antipolis Méditerranée Rapporteurs Sylvie Boldo, Directrice de Recherche, Inria Saclay Île de France Lawrence Paulson, Professor, University of Cambridge Examiners Jesús Aransay, Profesor Contratado Doctor, Universida de La Rioja Éric Goubault, Professeur, École Polytechnique Étienne Lozes, Professeur, Université de Nice Sophia Antipolis Outils pour la Formalisation en Analyse Classique Une Étude de Cas en Théorie du Contrôle Résumé : Il s’agit de mettre à l’épreuve une bibliothèque d’analyse dans l’assistant de preuve Coq au travers d’une étude de cas en théorie du contrôle. Nous formalisons une preuve de stabilité pour le pendule inversé, un exemple classique en théorie du contrôle. Le contrôle du pendule inversé est un défi en raison de sa non-linéarité, à tel point que ce système est souvent utilisé comme référence pour l’essai de nouvelles techniques de contrôle. Durant cette étude de cas, nous identifions des défauts des outils aujourd’hui accessibles pour la formalisation en analyse classique et nous en développons d’autres afin d’atteindre le but de cette étude de cas. En particulier, nous essayons d’imiter le style de preuve sur papier grâce à de nouvelles notations et de nouveaux mécanismes d’inférence. C’est une étape essentielle pour rendre la preuve formelle plus accessible aux mathématiciens. Ensuite, nous développons une nouvelle bibliothèque d’analyse classique en Coq, qui in- tègre ces nouveaux outils et qui essaie de pallier les limitations de la bibliothèque que nous avons testée, en particulier dans le domaine du raisonnement asymptotique. Nous testons aussi cette nouvelle bibliothèque sur la même preuve formelle et tirons des conclusions sur ses forces et faiblesses. Enfin, nous esquissons une nouvelle méthodologie pour répondre aux limitations de notre bibliothèque dans le domaine du calcul. Nous exploitons une technique appelée raffinement afin de refactoriser la méthode de preuve par réflexion, une technique qui automatise les preuves grâce au calcul et qui de plus réduit la taille des termes de preuves. Nous mettons en œuvre cette méthodologie sur l’exemple du raisonnement arithmétique dans les anneaux et expliquons comment ce travail pourrait servir à généraliser des outils déjà existants. Mots clés : Preuve formelle, Coq, analyse classique, théorie du contrôle, pendule inversé, automatisation, calcul. Formalisation Tools for Classical Analysis A Case Study in Control Theory Abstract: In this thesis, we put a library for analysis in the Coq proof assistant to the test through a case study in control theory. We formalise a proof of stability for the inverted pendulum, a standard example in control theory. Controlling the inverted pendulum is challenging because of its non-linearity, so that this system is often used as a benchmark for new control techniques. Through this case study, we identify issues in the tools that are currently available for the formalisation of classical analysis and we develop new ones in order to achieve our formalisation goal. In particular, we try to imitate the pen-and-paper proof style thanks to new notations and inference mechanisms. This is an essential step to make formal proofs more accessible to mathematicians. We then develop a new library for classical analysis in Coq that integrates these new tools and tries to palliate the limitations of the library we tested, especially in the domain of asymptotic reasoning. We also experiment with this new library on the same formal proof and draw lessons on its strengths and weaknesses. Finally, we sketch a new methodology in order to address the limitations of our library in the particular domain of computation. We exploit a technique called refinement to refactor the methodology of proof by reflection, a technique that automates proofs through computation and also reduces the size of proof terms. We implement this methodology on the example of arithmetic reasoning in rings and discuss how this work could be used to generalise existing tools. Keywords: Formal proof, Coq, classical analysis, control theory, inverted pendulum, automation, computation. REMERCIEMENTS – ACKNOWLEDGEMENTS Je ne peux commencer cette thèse sans remercier mes directeurs, Yves Bertot et Cyril Cohen, pour tout le soutien et tous les conseils qu’ils m’ont prodigués au cours de ces trois années de travail ensemble. Merci tout particulièrement pour l’autonomie et la confiance que vous m’avez accordées : j’ai pu librement choisir mon sujet et ma façon de l’aborder. Grâce à vous, je me suis senti déjà reconnu comme un chercheur à part entière et pas seulement comme un esclave – je veux dire, étudiant. Merci à toi, Cyril, pour ton enthousiasme et ton dynamisme. Auprès de toi j’ai appris qu’aucun projet n’est trop grand, aucun obstacle n’est trop difficile à franchir, tant qu’on garde à l’esprit qu’écrire une preuve fastidieuse fait perdre du temps qu’il vaudrait mieux passer à trouver des solutions généralisables. Cette thèse existe aussi grâce à ton courage et à ta fantaisie. Courage de nous lancer dans des projets ambitieux, fantaisie de ne pas reculer devant le déraisonnable, comme ce papier commencé à une semaine de la deadline. Yves, merci pour tes commentaires toujours éclairants, qui m’ont souvent aidé à sortir la tête du guidon et à prendre du recul. Je te remercie aussi pour ces interludes géométriques, pâtissiers ou sous-marins qui m’ont forcé, pour mon plus grand bien, à faire des pauses. Merci surtout pour ton humanité. Je me suis toujours senti écouté, compris et respecté dans mes choix familiaux et professionnels. I would like to thank my jury for accepting to review my work. I am particularly grateful to Sylvie Boldo and Lawrence Paulson, who dared being rap- porteurs even though the summer break would leave them little time to read this thesis and write their reports. Many thanks to Jesús Aransay, Éric Goubault and Étienne Lozes for showing interest in my work and for accepting to participate in this jury. Parce que faire de la recherche en informatique, ce n’est pas seulement jouer avec un ordinateur, mais c’est aussi et surtout interagir avec d’autres chercheurs a priori humains, je remercie toutes les personnes que j’ai rencontrées lors de ce doctorat et qui ont rendu cette interaction possible. xi Je tiens à remercier tous les membres, permanents ou non, de l’équipe Marelle pour l’am- biance chaleureuse à laquelle ils contribuent. Merci en particulier au « club d’échecs » local (Bo- ris, Laurent et Maxime) et au « club d’escalade » local (Benjamin et Enrico) and thanks to those who climbed with us (Anders, Cinzia, Florian, Luc, Matej, Sophie et Vincent). Merci à Cécile et Sophie pour ces pauses goûter toujours riches en discussions intéressantes. Je te remercie, Laurence, pour ta gentillesse tout autant que pour ton caractère sans concessions. Je suis très reconnaissant envers Nathalie, qui se démène pour alléger nos charges administratives et avec qui je partage de nombreuses valeurs. Merci pour tes romans, dont j’attends la suite avec impatience. J’ai aussi une pensée particulière pour José, qui nous a quitté récemment, avec qui j’ai longuement échangé dans le bus en attendant qu’il franchisse les bouchons. Merci à tous ceux qui ont bien voulu m’écouter parler de ma recherche. Merci en particulier à mon comité de suivi doctoral, Xavier Allamigeon et Yves Papegay, pour leurs retours et leurs encouragements. Merci aux équipes Gallinette, Gallium et SpecFun ainsi qu’au projet FastRelax pour leurs invitations qui ont donné lieu à des échanges très intéressants. Je remercie aussi Assia Mahboubi, qui a suivi mon parcours avec attention depuis mon arrivée dans le monde de la recherche et qui, je crois, a eu une grande influence sur ce parcours. Je remercie enfin tous ceux qui m’ont soutenu et encouragé. Merci en particulier à mes amis et ma famille, que j’ai peu vus ces dernières années mais qui comptent beaucoup pour moi. Merci à Antoine, Antonin, Armaël, Bénédicte, Benjamin, Charles, Charlotte, Francis, Ga- briel, Guillaume, Guillaume (le petit qui a grandi), Isaline, Jimmy, Mehdi, Méril, Pierre, Quentin, Régis, Rémi, Sandrine, Victor et aux autres que j’oublie. Je remercie les membres de l’Échiquier Antibois pour leur convivialité et tout ce qu’ils m’ont appris. Je remercie mes parents, qui m’ont appris la valeur du travail et m’ont poussé à suivre mes rêves jusqu’au bout. Merci à toi, Laura, qui me suit sans (trop) ronchonner depuis quelques années déjà. Merci d’être là pour me secouer et m’encourager à tirer le maximum de ce que j’ai déjà accompli. Merci à toi, Alban, pour le bonheur que tu m’apportes et à toi, qui n’es pas encore né, et qui m’en apporteras sans doute tout autant.
Recommended publications
  • Safety and Conservativity of Definitions in HOL and Isabelle/HOL
    This is a repository copy of Safety and conservativity of definitions in HOL and Isabelle/HOL. White Rose Research Online URL for this paper: http://eprints.whiterose.ac.uk/161207/ Version: Published Version Article: Kunčar, O. and Popescu, A. orcid.org/0000-0001-8747-0619 (2018) Safety and conservativity of definitions in HOL and Isabelle/HOL. Proceedings of the ACM on Programming Languages, 2 (POPL). 24. ISSN 2475-1421 https://doi.org/10.1145/3158112 Reuse This article is distributed under the terms of the Creative Commons Attribution (CC BY) licence. This licence allows you to distribute, remix, tweak, and build upon the work, even commercially, as long as you credit the authors for the original work. More information and the full terms of the licence here: https://creativecommons.org/licenses/ Takedown If you consider content in White Rose Research Online to be in breach of UK law, please notify us by emailing [email protected] including the URL of the record and the reason for the withdrawal request. [email protected] https://eprints.whiterose.ac.uk/ Safety and Conservativity of Definitions in HOL and Isabelle/HOL ONDŘEJ KUNČAR, Technische Universität München, Germany ANDREI POPESCU, Middlesex University London, United Kingdom and Institute of Mathematics Simion Stoilow of the Romanian Academy, Romania Deinitions are traditionally considered to be a safe mechanism for introducing concepts on top of a logic known to be consistent. In contrast to arbitrary axioms, deinitions should in principle be treatable as a form of abbreviation, and thus compiled away from the theory without losing provability.
    [Show full text]
  • Submission Data for 2020-2021 CORE Conference Ranking Process International Joint Conference on Automated Reasoning
    Submission Data for 2020-2021 CORE conference Ranking process International Joint Conference on Automated Reasoning Franz Baader, Viorica Sofronie-Stokkermans Conference Details Conference Title: International Joint Conference on Automated Reasoning Acronym : IJCAR Rank: A* Requested Rank Rank: A* Recent Years Proceedings Publishing Style Proceedings Publishing: series Link to most recent proceedings: https://link.springer.com/conference/ijcar Further details: The proceedings are published in Springer Lecture Notes in Computer Science (LNCS) subseries Lecture Notes in Artificial Intelligence (LNAI). The proceedings usually contain regular papers and system descriptions accepted at the main conference. (IJCAR 2020 also contained a small number of short papers, which were clearly marked as short papers.) Most Recent Years Most Recent Year Year: 2018 URL: http://ijcar2018.org Location: Oxford, UK Papers submitted: 108 Papers published: 46 Acceptance rate: 43 Source for numbers: http://ijcar.org//conferences General Chairs Name: Ian Horrocks Affiliation: University of Oxford, UK Gender: M H Index: 96 GScholar url: https://scholar.google.com/citations?hl=en&user=0ypdmcYAAAAJ DBLP url: https://dblp.org/pid/h/IanHorrocks.html Program Chairs Name: Didier Galmiche Affiliation: UniversitÃľ de Lorraine, France Gender: M H Index: 19 (according to Semantic Scholar) GScholar url: https://scholar.google.com/scholar?hl=de&as_sdt=0%2C5&q=Didier+Galmiche&oq= DBLP url: https://dblp.org/pid/82/76.html 1 Second Most Recent Year Year: 2016 URL: https://www.uc.pt/en/congressos/ijcar2016
    [Show full text]
  • Towards a Practical, Verified Kernel
    Towards a Practical, Verified Kernel Kevin Elphinstone∗ Gerwin Klein∗ PhilipDerrin TimothyRoscoe† Gernot Heiser∗‡ National ICT Australia§ Abstract properties such as guaranteed termination of system calls, and the kernel never throwing an internal exception. In the paper we examine one of the issues in designing, Successful OS kernels have generally been the result of specifying, implementing and formally verifying a small careful attention to performance issues, and repeatedly it- operating system kernel — how to provide a productive erating bottom-up implementations of low-level function- and iterative developmentmethodology for both operating ality, in some cases changing high-level interfaces and system developers and formal methods practitioners. functionality to accommodate implementation constraints We espouse the use of functional programming lan- and performance goals. This is, unfortunately, in conflict guages as a medium for prototyping that is readily with formal methods, which typically work by top-down amenable to formalisation with a low barrier to entry for refining models of system properties, and rarely deal with kernel developers, and report early experience in the pro- low-level implementation features. cess of designing and building seL4: a new, practical, and This paper describes our approach to resolving this ten- formally verified microkernel. sion, and reports on our experience so far in applying it to seL4. We use a high-level language (Literate Haskell) to simultaneously develop a specification of the kernel and a 1 Introduction reference implementation for evaluation and testing. The implementation can be used in conjunction with a sim- We describe our approachto constructing seL4 — a useful ulator such as QEMU for running real application bina- yet formally verified operating system kernel, by means of ries, while the specification generates input to an interac- a novel development process which aims to reconcile the tive theorem prover (Isabelle) for formal proof of proper- conflicting methodologies of kernel developers and for- ties.
    [Show full text]
  • A Type and Scope Safe Universe of Syntaxes with Binding: Their Semantics and Proofs
    ZU064-05-FPR jfp19 26 March 2020 16:6 Under consideration for publication in J. Functional Programming 1 A Type and Scope Safe Universe of Syntaxes with Binding: Their Semantics and Proofs GUILLAUME ALLAIS, ROBERT ATKEY University of Strathclyde (UK) JAMES CHAPMAN Input Output HK Ltd. (HK) CONOR MCBRIDE University of Strathclyde (UK) JAMES MCKINNA University of Edinburgh (UK) Abstract Almost every programming language’s syntax includes a notion of binder and corresponding bound occurrences, along with the accompanying notions of α-equivalence, capture-avoiding substitution, typing contexts, runtime environments, and so on. In the past, implementing and reasoning about programming languages required careful handling to maintain the correct behaviour of bound variables. Modern programming languages include features that enable constraints like scope safety to be expressed in types. Nevertheless, the programmer is still forced to write the same boilerplate over again for each new implementation of a scope safe operation (e.g., renaming, substitution, desugaring, printing, etc.), and then again for correctness proofs. We present1 an expressive universe of syntaxes with binding and demonstrate how to (1) implement scope safe traversals once and for all by generic programming; and (2) how to derive properties of these traversals by generic proving. Our universe description, generic traversals and proofs, and our examples have all been formalised in Agda and are available in the accompanying material available online at https://github.com/gallais/generic-syntax. 1 Introduction In modern typed programming languages, programmers writing embedded DSLs (Hudak (1996)) and researchers formalising them can now use the host language’s type system to help them.
    [Show full text]
  • Verification of Sequential Imperative Programs in Isabelle/HOL
    f f f f f f f f f f f f f f f f f f f f Verification of Sequential Imperative Programs in Isabelle/HOL Norbert Schirmer Lehrstuhl fur¨ Software & Systems Engineering Institut fur¨ Informatik Technische Universitat¨ Munchen¨ Lehrstuhl fur¨ Software & Systems Engineering Institut fur¨ Informatik Technische Universitat¨ Munchen¨ Verification of Sequential Imperative Programs in Isabelle/HOL Norbert Schirmer Vollstandiger¨ Abdruck der von der Fakultat¨ fur¨ Informatik der Technischen Universitat¨ Munchen¨ zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften (Dr. rer. nat.) genehmigten Dissertation. Vorsitzender: Univ.-Prof. Dr. Helmut Seidl Prufer¨ der Dissertation: 1. Univ.-Prof. Tobias Nipkow, Ph.D. 2. Univ.-Prof. Dr. Wolfgang J. Paul Universitat¨ des Saarlandes Die Dissertation wurde am 31.10.2005 bei der Technischen Universitat¨ Munchen¨ eingereicht und durch die Fakultat¨ fur¨ Informatik am 21.04.2006 angenommen. i Kurzfassung Ziel der Dissertation ist es, eine Verifikationsumgebung fur¨ sequentielle imperative Programme zu schaffen. Zunachst¨ wird unabhangig¨ von einer konkreten Program- miersprache ein allgemeines Sprachmodell entwickelt, das ausdrucksstark genug ist um alle gangigen¨ Programmiersprachkonzepte abzudecken: Gegenseitig rekur- sive Prozeduren, abrupte Terminierung und Ausnahmebehandlung, Laufzeitfeh- ler, lokale und globale Variablen, Zeiger und Halde, Ausdrucke¨ mit Seiteneffekten, Zeiger auf Prozeduren, partielle Applikation, dynamischer Methoden Aufruf und unbeschrankter¨ Indeterminismus. Fur¨ dieses Sprachmodell wird eine Hoare Logik sowohl fur¨ partielle alsauch fur¨ totale Korrektheit entwickelt. Darauf aufbauend wird ein Verifikations-Bedingungs- Generator implementiert. Die Hoare Logik erlaubt die Integration von statischer Programmanalyse und Software Model Checkern in die Verifikation. Desweiteren wird eine Teilsprache von C in die Verifikationsumgebung eingebet- tet, um die Durchgangigkeit¨ zu einer realen Programmiersprache zu demonstrieren.
    [Show full text]
  • Agda User Manual Release 2.6.3
    Agda User Manual Release 2.6.3 The Agda Team Sep 23, 2021 Contents 1 Overview 3 2 Getting Started 5 2.1 What is Agda?..............................................5 2.2 Installation................................................7 2.3 ‘Hello world’ in Agda.......................................... 13 2.4 A Taste of Agda............................................. 14 2.5 A List of Tutorials............................................ 22 3 Language Reference 25 3.1 Abstract definitions............................................ 25 3.2 Built-ins................................................. 27 3.3 Coinduction............................................... 40 3.4 Copatterns................................................ 42 3.5 Core language.............................................. 45 3.6 Coverage Checking............................................ 48 3.7 Cubical.................................................. 51 3.8 Cumulativity............................................... 65 3.9 Data Types................................................ 66 3.10 Flat Modality............................................... 69 3.11 Foreign Function Interface........................................ 70 3.12 Function Definitions........................................... 75 3.13 Function Types.............................................. 78 3.14 Generalization of Declared Variables.................................. 79 3.15 Guarded Cubical............................................. 84 3.16 Implicit Arguments...........................................
    [Show full text]
  • Current Issue of FACS FACTS
    Issue 2021-2 July 2021 FACS A C T S The Newsletter of the Formal Aspects of Computing Science (FACS) Specialist Group ISSN 0950-1231 FACS FACTS Issue 2021-2 July 2021 About FACS FACTS FACS FACTS (ISSN: 0950-1231) is the newsletter of the BCS Specialist Group on Formal Aspects of Computing Science (FACS). FACS FACTS is distributed in electronic form to all FACS members. Submissions to FACS FACTS are always welcome. Please visit the newsletter area of the BCS FACS website for further details at: https://www.bcs.org/membership/member-communities/facs-formal-aspects- of-computing-science-group/newsletters/ Back issues of FACS FACTS are available for download from: https://www.bcs.org/membership/member-communities/facs-formal-aspects- of-computing-science-group/newsletters/back-issues-of-facs-facts/ The FACS FACTS Team Newsletter Editors Tim Denvir [email protected] Brian Monahan [email protected] Editorial Team: Jonathan Bowen, John Cooke, Tim Denvir, Brian Monahan, Margaret West. Contributors to this issue: Jonathan Bowen, Andrew Johnstone, Keith Lines, Brian Monahan, John Tucker, Glynn Winskel BCS-FACS websites BCS: http://www.bcs-facs.org LinkedIn: https://www.linkedin.com/groups/2427579/ Facebook: http://www.facebook.com/pages/BCS-FACS/120243984688255 Wikipedia: http://en.wikipedia.org/wiki/BCS-FACS If you have any questions about BCS-FACS, please send these to Jonathan Bowen at [email protected]. 2 FACS FACTS Issue 2021-2 July 2021 Editorial Dear readers, Welcome to the 2021-2 issue of the FACS FACTS Newsletter. A theme for this issue is suggested by the thought that it is just over 50 years since the birth of Domain Theory1.
    [Show full text]
  • Objective Metatheory of Cubical Type Theories (Thesis Proposal) Jonathan Sterling August 15, 2020
    Objective Metatheory of Cubical Type Theories (thesis proposal) Jonathan Sterling August 15, 2020 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 Thesis Committee: Robert Harper, Chair Lars Birkedal Jeremy Avigad Karl Crary Favonia Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy. Copyright © 2020 Jonathan Sterling I gratefully acknowledge the support of the Air Force Office of Scientific Research through MURI grant FA9550-15-1-0053. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author and do not necessarily reflect the views of the AFOSR. Contents 1 Introduction 1 1.1 Computation in dependent type theory ................. 1 1.2 Syntactic, phenomenal, and semantic aspects of equality . 3 1.3 Subjective metatheory: the mathematics of formalisms . 6 1.4 Objective metatheory: a syntax-invariant perspective . 6 1.5 Towards principled implementation of proof assistants . 20 1.6 Thesis Statement ............................. 20 1.7 Acknowledgments ............................. 21 2 Background and Prior Work 23 2.1 RedPRL: a program logic for cubical type theory . 23 2.2 The redtt proof assistant ......................... 28 2.3 XTT: cubical equality and gluing .................... 39 3 Proposed work 45 3.1 Algebraic model theory .......................... 46 3.2 Contexts and injective renamings .................... 46 3.3 Characterizing normal forms ....................... 48 3.4 Normalization of cartesian cubical type theory . 49 3.5 redtt reloaded: abstract elaboration ................... 50 3.6 Timeline and fallback positions ..................... 50 A redtt: supplementary materials 51 A.1 The RTT core language ......................... 51 A.2 Normalization by evaluation for RTT . 59 A.3 Elaboration relative to a boundary ..................
    [Show full text]
  • Haskell Communities and Activities Report
    Haskell Communities and Activities Report http://www.haskell.org/communities/ Eighth Edition – May 13, 2005 Andres L¨oh (ed.) Perry Alexander Lloyd Allison Tiago Miguel Laureano Alves Krasimir Angelov Alistair Bayley J´er´emy Bobbio Bj¨orn Bringert Niklas Broberg Paul Callaghan Mark Carroll Manuel Chakravarty Olaf Chitil Koen Claessen Catarina Coquand Duncan Coutts Philippa Cowderoy Alain Cr´emieux Iavor Diatchki Atze Dijkstra Shae Erisson Sander Evers Markus Forsberg Simon Foster Leif Frenzel Andr´eFurtado John Goerzen Murray Gross Walter Gussmann Jurriaan Hage Sven Moritz Hallberg Thomas Hallgren Keith Hanna Bastiaan Heeren Anders H¨ockersten John Hughes Graham Hutton Patrik Jansson Johan Jeuring Paul Johnson Isaac Jones Oleg Kiselyov Graham Klyne Daan Leijen Huiqing Li Andres L¨oh Rita Loogen Salvador Lucas Christoph Luth¨ Ketil Z. Malde Christian Maeder Simon Marlow Conor McBride John Meacham Serge Mechveliani Neil Mitchell William Garret Mitchener Andy Moran Matthew Naylor Rickard Nilsson Jan Henry Nystr¨om Sven Panne Ross Paterson Jens Petersen John Peterson Simon Peyton-Jones Jorge Sousa Pinto Bernie Pope Claus Reinke Frank Rosemeier David Roundy George Russell Chris Ryder David Sabel Uwe Schmidt Martijn Schrage Peter Simons Anthony Sloane Dominic Steinitz Donald Bruce Stewart Martin Sulzmann Autrijus Tang Henning Thielemann Peter Thiemann Simon Thompson Phil Trinder Arjan van IJzendoorn Tuomo Valkonen Eelco Visser Joost Visser Malcolm Wallace Ashley Yakeley Jory van Zessen Bulat Ziganshin Preface You are reading the 8th edition of the Haskell Communities and Activities Report (HCAR). These are interesting times to be a Haskell enthusiast. Everyone seems to be talking about darcs (→ 6.3) and Pugs (→ 6.1) these days, and it is nice to see Haskell being mentioned in places where it usually was not.
    [Show full text]
  • 162581776.Pdf
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by The IT University of Copenhagen's Repository Verification of High-Level Transformations with Inductive Refinement Types Ahmad Salim Al-Sibahi Thomas P. Jensen DIKU/Skanned.com/ITU INRIA Rennes Denmark France Aleksandar S. Dimovski Andrzej Wąsowski ITU/Mother Teresa University, Skopje ITU Denmark/Macedonia Denmark Abstract 1 Introduction High-level transformation languages like Rascal include ex- Transformations play a central role in software development. pressive features for manipulating large abstract syntax trees: They are used, amongst others, for desugaring, model trans- first-class traversals, expressive pattern matching, backtrack- formations, refactoring, and code generation. The artifacts ing and generalized iterators. We present the design and involved in transformations—e.g., structured data, domain- implementation of an abstract interpretation tool, Rabit, for specific models, and code—often have large abstract syn- verifying inductive type and shape properties for transfor- tax, spanning hundreds of syntactic elements, and a corre- mations written in such languages. We describe how to per- spondingly rich semantics. Thus, writing transformations form abstract interpretation based on operational semantics, is a tedious and error-prone process. Specialized languages specifically focusing on the challenges arising when analyz- and frameworks with high-level features have been devel- ing the expressive traversals and pattern matching. Finally, oped to address this challenge of writing and maintain- we evaluate Rabit on a series of transformations (normaliza- ing transformations. These languages include Rascal [28], tion, desugaring, refactoring, code generators, type inference, Stratego/XT [12], TXL [16], Uniplate [31] for Haskell, and etc.) showing that we can effectively verify stated properties.
    [Show full text]
  • Domain-Specific Languages for Modeling and Simulation
    Domain-specifc Languages for Modeling and Simulation Dissertation zur Erlangung des akademischen Grades Doktor-Ingenieur (Dr.-Ing.) der Fakultät für Informatik und Elektrotechnik der Universität Rostock vorgelegt von Tom Warnke, geb. am 25.01.1988 in Malchin aus Rostock Rostock, 14. September 2020 https://doi.org/10.18453/rosdok_id00002966 Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz. Gutachter: Prof. Dr. Adelinde M. Uhrmacher (Universität Rostock) Prof. Rocco De Nicola (IMT Lucca) Prof. Hans Vangheluwe (Universität Antwerpen) Eingereicht am 14. September 2020 Verteidigt am 8. Januar 2021 Abstract Simulation models and simulation experiments are increasingly complex. One way to handle this complexity is developing software languages tailored to specifc application domains, so-called domain-specifc languages (DSLs). This thesis explores the potential of employing DSLs in modeling and simulation. We study diferent DSL design and implementation techniques and illustrate their benefts for expressing simulation models as well as simulation experiments with several examples. Regarding simulation models, we focus on discrete-event models based on continuous- time Markov chains (CTMCs). Most of our work revolves around ML-Rules, an rule-based modeling language for biochemical reaction networks. First, we relate the expressive power of ML-Rules to other currently available modeling languages for this application domain. Then we defne the abstract syntax and operational semantics for ML-Rules, mapping models to CTMCs in an unambiguous and precise way. Based on the formal defnitions, we present two approaches to implement ML-Rules as a DSL. The core of both implementations is fnding the matches for the patterns on the left side of ML-Rules’ rules.
    [Show full text]
  • Curriculum Vitae of Danny Dorling
    January 2021 1993 to 1996: British Academy Fellow, Department of Geography, Newcastle University 1991 to 1993: Joseph Rowntree Foundation Curriculum Vitae Fellow, Many Departments, Newcastle University 1987 to 1991: Part-Time Researcher/Teacher, Danny Dorling Geography Department, Newcastle University Telephone: +44(0)1865 275986 Other Posts [email protected] skype: danny.dorling 2020-2023 Advisory Board Member: ‘The political economies of school exclusion and their consequences’ (ESRC project ES/S015744/1). Current appointment: Halford Mackinder 2020-Assited with the ‘Time to Care’ Oxfam report. Professor of Geography, School of 2020- Judge for data visualisation competition Geography and the Environment, The Nuffield Trust, the British Medical Journal, the University of Oxford, South Parks Road, British Medical Association and NHS Digital. Oxford, OX1 3QY 2019- Judge for the annual Royal Geographical th school 6 form essay competition. 2019 – UNDP (United Nations Development Other Appointments Programme) Human Development Report reviewer. 2019 – Advisory Broad member: Sheffield Visiting Professor, Department of Sociology, University Nuffield project on an Atlas of Inequality. Goldsmiths, University of London, 2013-2016. 2019 – Advisory board member - Glasgow Centre for Population Health project on US mortality. Visiting Professor, School of Social and 2019- Editorial Board Member – Bristol University Community Medicine, University of Bristol, UK Press, Studies in Social Harm Book Series. 2018 – Member of the Bolton Station Community Adjunct Professor in the Department of Development Partnership. Geography, University of Canterbury, NZ 2018-2022 Director of the Graduate School, School of Geography and the Environment, Oxford. 2018 – Member of the USS review working group of the Council of the University of Oxford.
    [Show full text]