Qian Wang Ph.D. Dissertation

Total Page:16

File Type:pdf, Size:1020Kb

Qian Wang Ph.D. Dissertation A SEMANTICS-BASED APPROACH TO PROCESSING FORMAL LANGUAGES by Qian Wang APPROVED BY SUPERVISORY COMMITTEE: ___________________________________________ Gopal Gupta, Chair ___________________________________________ Dung T. Huynh ___________________________________________ Lawrence Chung ____________________________________________ Jing Dong Copyright 2007 Qian Wang All Rights Reserved To my wife Haiying, lovely daughter Selina A SEMANTICS-BASED APPROACH TO PROCESSING FORMAL LANGUAGES by QIAN WANG, B.S., M.S. DISSERTATION Presented to the Faculty of The University of Texas at Dallas in Partial Fulfillment of the Requirements for the Degree of DOCTOR OF PHILOSOPHY IN COMPUTER SCIENCE THE UNIVERSITY OF TEXAS AT DALLAS December, 2007 ACKNOWLEDGEMENTS I am deeply indebted to my supervisor, Professor Gopal Gupta, for his guidance, insight and encouragement through the course of doctoral program and for his careful reading and constructive criticisms and suggestions on the dissertation and research work. I would like to thank members of my committee for agreeing to serve in the committee and for their feedback. I am also grateful to the many anonymous referees who have reviewed parts of this work prior to publication in conference proceedings and whose valuable comments have contributed to the clarifications of the ideas presented in this thesis. While doing my research work I have been supported by grants from the National Science Foundation, the U.S. Department of Education and the Environmental Protection Agency. I have also received support from the Erik Jonsson School of Engineering and Computer Science. For all this support, I am very grateful. I would also like to acknowledge the help of Dan Sahlin of the Swedish Institute of Computer Science, Ericsson, the author of Mixtus Partial Evaluation System, and Michael Leuschel of the University of Dusseldorf and the author of LOGEN Partial Evaluation system. I am also grateful to Constance Heitmeyer and Elizabeth Leonard of the Naval Research Labs for help with SCR. I give my gratitude to Ajay Bansal and Vidya Kona for their help in proof-reading my dissertation. v I also thank my parents Wang Jianhua and Cai Yuejiao for their care and encouragement in my years of study. Finally, I sincerely thank my wife Wang Haiying and my lovely daughter Selina for their complete support during the course of my Ph.D. studies. November 2007 vi A SEMANTICS-BASED APPROACH TO PROCESSING FORMAL LANGUAGES Publication No. ___________________ Qian Wang, Ph.D. The University of Texas at Dallas, 2007 Supervising Professor: Gopal Gupta ABSTRACT There is a large semantic gap between the level at which a solution to a problem is conceived by a domain expert or a requirements engineer and the level at which it is programmed on a computer. Traditional approaches to minimizing the impact of this gap have been based on using modeling languages and/or domain specific languages that have clear formal semantics. Designing the modeling or domain specific language is not enough, as many problems still remain. These problems pertain to being able to rapidly develop an implementation infrastructure for the language in a provably correct manner and being able to interoperate between multiple languages proposed for a given domain. In this dissertation we propose and develop a semantics-based framework---founded on Horn Logical Denotational Semantics---to solve these problems. We show how our approach can be used for rapidly obtaining the implementation infrastructure (interpreter, compiler, debugger, and profiler) for domain specific languages in a provably correct manner, as well as for working with multiple domain specific language in an interoperable manner. We also show how our approach works even in presence of unstructured control constructs. vii TABLE OF CONTENTS Acknowledgements..............................................................................................................v Abstract............................................................................................................................. vii List of ILLUSTRATIONS................................................................................................. xi CHAPTER 1 INTRODUCTION AND OVERVIEW .......................................................1 1.1 Motivation....................................................................................................1 1.2 Research Problems.......................................................................................4 1.3 The Structure of the Dissertation .................................................................6 CHAPTER 2 BACKGROUND AND RELATED WORKS.............................................7 2.1 Introduction..................................................................................................7 2.2 Formal Language .........................................................................................7 2.3 Denotational Semantics ...............................................................................8 2.4 Horn Clause and Logic Programming .......................................................10 2.5 Partial Evaluation.......................................................................................11 2.6 Domain Specific Languages ......................................................................13 2.7 Architecture Description Languages..........................................................15 2.7.1 What is ADL? ................................................................................15 2.7.2 Qualities of an ADL.......................................................................15 2.7.3 Why need ADLs?...........................................................................16 2.7.4 Brief Survey of ADLs....................................................................16 CHAPTER 3 RAPIDLY PROTOTYPING IMPLEMENTATION INFRASTRUCTURE OF DOMAIN SPECIFIC LANGUAGE..................................................................................20 3.1 Introduction................................................................................................20 3.2 Horn Logic Denotations.............................................................................23 3.3 Software Engineering and Domain Specific Languages ...........................25 3.4 A Domain Specific Language for File-Editor Commands ........................27 viii 3.5 Practical Issues in DCG Based Parsing .....................................................31 3.6 Provably Correct Compilation ...................................................................37 3.7 Automatic Generation of Debuggers and Profilers....................................40 3.8 Application of SCR....................................................................................41 3.8.1 SCR: Software Cost Reduction Method ........................................41 3.8.2 The Four-Variable Model ..............................................................42 3.8.3 An Interpreter & a Compiler for SCR............................................43 3.8.4 Generating SCR's Debugger ..........................................................47 3.9 Related Work .............................................................................................49 3.10 Conclusions................................................................................................51 CHAPTER 4 TOWARDS PROVABLY CORRECT CODE GENERATION VIA HORN LOGICAL CONTINUATION SEMANTICS...................................................................52 4.1 Introduction................................................................................................52 4.2 Horn Logical Semantics.............................................................................55 4.3 Definite Clause Semantics .........................................................................61 4.4 Continuation Semantics .............................................................................67 4.5 Related Work .............................................................................................75 4.6 Conclusions................................................................................................77 CHAPTER 5 INTEGRATING ADL BASED ON SEMANTIC APPROACH ..............78 5.1 Motivation..................................................................................................78 5.2 Semantics-based Approach to Integration .................................................83 5.2.1 A Framework for Integrating ADLs ..............................................83 5.2.2 Horn Logical Denotational Semantics...........................................87 5.3 Internal Expression of Architecture Information.......................................89 5.4 Definition of Query Language...................................................................93 5.5 An Interpreter for ADLs to Build Internal Abstract Expression................96 5.5.1 Build Parse Tree.............................................................................97 5.5.2 Define Semantic algebra for ADLs................................................98 5.5.3 Mapping Semantics........................................................................98 5.6 An interpreter for Query Language and Format result information ........100 5.7 Four simple Examples of Query Language .............................................101 5.8 Related Work ...........................................................................................104 ix 5.9 Conclusions..............................................................................................106
Recommended publications
  • Department of Computer Science & Engineering
    COURSE STURCTURE Of 4 YEARS DEGREE B.TECH. (Information Technology) Department of Computer Science & Engineering SCHOOL OF INFORMATION AND COMMUNICATION TECHNOLOGY GAUTAM BUDDHA UNIVERSITY GAUTAM BUDH NAGAR, GREATER NOIDA 2018-2019 4-Years Degree B. TECH. (Information Technology) I-YEAR (I-SEMESTER) (Effective from session: 2018-19) SEMESTER-I S r . Subject Code Courses L-T-P Credits CBCS/AICTE No. THEORY 1 PH102 Engineering Physics 3-1-0 4 CC/BS 2 MA101 Engineering Mathematics – I 3-1-0 4 CC/BS 3 ME101 Engineering Mechanics 3-1-0 4 CC/ESC 4 EE102 Basics Electrical Engineering 3-1-0 4 CC/ESC 5 ES101 Environmental Science 2-0-0 2 AECC/BS 6 EN101 English Proficiency 2-0-0 2 AECC/HSMC PRACTICALS 7 PH 104 Engineering Physics Lab 0-0-2 1 CC/BS 8 EE 104 Basic Electrical Engineering Lab 0-0-2 1 CC/ESC 9 ME102* Workshop Practices 1-0-2 2 CC/ESC 10 EN151 Language Lab 0-0-2 1 AECC/HSMC 11 GP General Proficiency - Non Credit Total 17-4-8 25 Total Contact Hours 29 I-YEAR (II-SEMESTER) (Effective from session: 2018-19) SEMESTER – II S r. Subject Code Courses L-T-P Credits CBCS/AICTE No. THEORY 1 CY101 Engineering Chemistry 3-1-0 4 CC/BS 2 MA102 Engineering Mathematics – II 3-1-0 4 CC/BS 3 EC101 Basic Electronics Engineering 3-1-0 4 CC/ESC 4 CS101 Fundamentals of Computer 3-1-0 4 SEC/ESC Programming 5 BS101 Human Values & Buddhist Ethics 2-0-0 2 AECC/HSMC PRACTICALS 6 CY 103 Engineering Chemistry Lab 0-0-2 1 CC/BS 7 EC 181 Basic Electronics Engineering Lab 0-0-2 1 CC/ESC 8 CS 181 Computer Programming Lab 0-0-2 1 SEC/ESC 9 CE103* Engineering Graphics 1-0-2 2 CC/ESC 10 GP General Proficiency - Non Credit Total 15-4-8 23 Total Contact Hours 27 II-YEAR (III-SEMESTER) (Effective from session: 2018-19) EVALUATION SCHEME PERIO SESSIO MID CBC CREDI COUR DS S.
    [Show full text]
  • Head-Order Techniques and Other Pragmatics of Lambda Calculus Graph Reduction
    HEAD-ORDER TECHNIQUES AND OTHER PRAGMATICS OF LAMBDA CALCULUS GRAPH REDUCTION Nikos B. Troullinos DISSERTATION.COM Boca Raton Head-Order Techniques and Other Pragmatics of Lambda Calculus Graph Reduction Copyright © 1993 Nikos B. Troullinos All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage and retrieval system, without written permission from the publisher. Dissertation.com Boca Raton, Florida USA • 2011 ISBN-10: 1-61233-757-0 ISBN-13: 978-1-61233-757-9 Cover image © Michael Travers/Cutcaster.com Abstract In this dissertation Lambda Calculus reduction is studied as a means of improving the support for declarative computing. We consider systems having reduction semantics; i.e., systems in which computations consist of equivalence-preserving transformations between expressions. The approach becomes possible by reducing expressions beyond weak normal form, allowing expression-level output values, and avoiding compilation-centered transformations. In particular, we develop reduction algorithms which, although not optimal, are highly efficient. A minimal linear notation for lambda expressions and for certain runtime structures is introduced for explaining operational features. This notation is related to recent theories which formalize the notion of substitution. Our main reduction technique is Berkling’s Head Order Reduction (HOR), a delayed substitution algorithm which emphasizes the extended left spine. HOR uses the de Bruijn representation for variables and a mechanism for artificially binding relatively free variables. HOR produces a lazy variant of the head normal form, the natural midway point of reduction. It is shown that beta reduction in the scope of relative free variables is not hard.
    [Show full text]
  • Formal Specification— Z Notation— Syntax, Type and Semantics
    Formal Specification— Z Notation| Syntax, Type and Semantics Consensus Working Draft 2.6 August 24, 2000 Developed by members of the Z Standards Panel BSI Panel IST/5/-/19/2 (Z Notation) ISO Panel JTC1/SC22/WG19 (Rapporteur Group for Z) Project number JTC1.22.45 Project editor: Ian Toyn [email protected] http://www.cs.york.ac.uk/~ian/zstan/ This is a Working Draft by the Z Standards Panel. It has evolved from Consensus Working Draft 2.5 of June 20, 2000 according to remarks received and discussed at Meeting 56 of the Z Panel. ISO/IEC 13568:2000(E) Contents Page Foreword . iv Introduction . v 1 Scope ....................................................... 1 2 Normative references . 1 3 Terms and definitions . 1 4 Symbols and definitions . 3 5 Conformance . 14 6 Z characters . 18 7 Lexis........................................................ 24 8 Concrete syntax . 30 9 Characterisation rules . 38 10 Annotated syntax . 40 11 Prelude . 43 12 Syntactic transformation rules . 44 13 Type inference rules . 54 14 Semantic transformation rules . 66 15 Semantic relations . 71 Annex A (normative) Mark-ups . 79 Annex B (normative) Mathematical toolkit . 90 Annex C (normative) Organisation by concrete syntax production . 107 Annex D (informative) Tutorial . 153 Annex E (informative) Conventions for state-based descriptions . 166 Bibliography . 168 Index . 169 ii c ISO/IEC 2000|All rights reserved ISO/IEC 13568:2000(E) Figures 1 Phases of the definition . 15 B.1 Parent relation between sections of the mathematical toolkit . 90 D.1 Parse tree of birthday book example . 155 D.2 Annotated parse tree of part of axiomatic example .
    [Show full text]
  • By Robert Kowalski
    Edinburgh Research Explorer Review of "Computational logic and human thinking: How to be artificially intelligent" by Robert Kowalski Citation for published version: Bundy, A 2012, 'Review of "Computational logic and human thinking: How to be artificially intelligent" by Robert Kowalski', Artificial Intelligence, vol. 191-192, pp. 96-97. https://doi.org/10.1016/j.artint.2012.05.006 Digital Object Identifier (DOI): 10.1016/j.artint.2012.05.006 Link: Link to publication record in Edinburgh Research Explorer Document Version: Early version, also known as pre-print Published In: Artificial Intelligence General rights Copyright for the publications made accessible via the Edinburgh Research Explorer is retained by the author(s) and / or other copyright owners and it is a condition of accessing these publications that users recognise and abide by the legal requirements associated with these rights. Take down policy The University of Edinburgh has made every reasonable effort to ensure that Edinburgh Research Explorer content complies with UK legislation. If you believe that the public display of this file breaches copyright please contact [email protected] providing details, and we will remove access to the work immediately and investigate your claim. Download date: 27. Sep. 2021 Review of \Computational Logic and Human Thinking: How to be Artificially Intelligent" by Robert Kowalski Alan Bundy School of Informatics, University of Edinburgh, Informatics Forum, 10 Crichton St, Edinburgh, EH8 9AB, Scotland 1 August 2012 Abstract This is a review of the book \Computational Logic and Human Thinking: How to be Artificially Intelligent" by Robert Kowalski. Keywords: computational logic, human thinking, book review.
    [Show full text]
  • Experiments Using Semantic Web Technologies to Connect IUGONET
    Ritschel et al. Earth, Planets and Space (2016) 68:181 DOI 10.1186/s40623-016-0542-x TECHNICAL REPORT Open Access Experiments using Semantic Web technologies to connect IUGONET, ESPAS and GFZ ISDC data portals Bernd Ritschel1*, Friederike Borchert1, Gregor Kneitschel1, Günther Neher2, Susanne Schildbach2, Toshihiko Iyemori3, Yukinobu Koyama3, Akiyo Yatagai4, Tomoaki Hori4, Mike Hapgood5, Anna Belehaki6, Ivan Galkin7 and Todd King8 Abstract E-science on the Web plays an important role and offers the most advanced technology for the integration of data systems. It also makes available data for the research of more and more complex aspects of the system earth and beyond. The great number of e-science projects founded by the European Union (EU), university-driven Japanese efforts in the field of data services and institutional anchored developments for the enhancement of a sustainable data management in Germany are proof of the relevance and acceptance of e-science or cyberspace-based applica- tions as a significant tool for successful scientific work. The collaboration activities related to near-earth space science data systems and first results in the field of information science between the EU-funded project ESPAS, the Japanese IUGONET project and the GFZ ISDC-based research and development activities are the focus of this paper. The main objective of the collaboration is the use of a Semantic Web approach for the mashup of the project related and so far inoperable data systems. Both the development and use of mapped and/or merged geo and space science controlled vocabularies and the connection of entities in ontology-based domain data model are addressed.
    [Show full text]
  • 7. Logic Programming in Prolog
    Artificial Intelligence 7. Logic Programming in Prolog Prof. Bojana Dalbelo Baˇsi´c Assoc. Prof. Jan Snajderˇ University of Zagreb Faculty of Electrical Engineering and Computing Academic Year 2019/2020 Creative Commons Attribution{NonCommercial{NoDerivs 3.0 v1.10 Dalbelo Baˇsi´c, Snajderˇ (UNIZG FER) AI { Logic programming AY 2019/2020 1 / 38 Outline 1 Logic programming and Prolog 2 Inference on Horn clauses 3 Programming in Prolog 4 Non-declarative aspects of Prolog Dalbelo Baˇsi´c, Snajderˇ (UNIZG FER) AI { Logic programming AY 2019/2020 2 / 38 Outline 1 Logic programming and Prolog 2 Inference on Horn clauses 3 Programming in Prolog 4 Non-declarative aspects of Prolog Dalbelo Baˇsi´c, Snajderˇ (UNIZG FER) AI { Logic programming AY 2019/2020 3 / 38 Logic programming Logic programming: use of logic inference as a way of programming Main idea: define the problem in terms of logic formulae, then let the computer do the problem solving (program execution = inference) This is a typical declarative programming approach: express the logic of computation, don't bother with the control flow We focus on the description of the problem (declarative), rather than on how the program is executed (procedural) However, we still need some flow control mechanism, thus: Algorithm = Logic + Control Different from automated theorem proving because: 1 explicit control flow is hard-wired into the program 2 not the full expressivity of FOL is supported Dalbelo Baˇsi´c, Snajderˇ (UNIZG FER) AI { Logic programming AY 2019/2020 4 / 38 Refresher: Declarative programming
    [Show full text]
  • Ontology-Driven Apps Using Generic Applications
    ONTOLOGY-DRIVEN APPS USING GENERIC APPLICATIONS Michael K. Bergman1, Coralville, Iowa USA March 7, 2011 AI3:::Adaptive Information blog As an information society we have become a software society. Software is everywhere, from our phones and our desktops, to our cars, homes and every location in between. The amount of software used worldwide is unknowable; we do not even have agreed measures to quantify its extent or value [1]. We suspect there are at least 1 billion lines of code that have accumulated over time [1,2]. On the order of $875 billion was spent worldwide on software in 2010, of which about half was for packaged software and licenses and the rest for programmer services, consulting and outsourcing [3]. In the U.S. alone, about 2 million people work as programmers or related [4]. It goes without saying that software is a very big deal. No matter what the metrics, it is expensive to develop and maintain software. This is also true for open source, which has its own costs of ownership [5]. Designing software faster with fewer mistakes and more re-use and robustness have clearly been emphases in computer science and the discipline of programming from its inception. This attention has caused a myriad of schools and practices to develop over time. Some of the earlier efforts included computer-aided software engineering (CASE) or Grady Booch’s (already cited in [1]) object-oriented design (OOD). Fourth-generation languages (4GLs) and rapid application development (RAD) were popular in the 1980s and 1990s. Most recently, agile software development or extreme programming have grabbed mindshare.
    [Show full text]
  • Inconsistency Robustness for Logic Programs Carl Hewitt
    Inconsistency Robustness for Logic Programs Carl Hewitt To cite this version: Carl Hewitt. Inconsistency Robustness for Logic Programs. Inconsistency Robustness, 2015, 978-1- 84890-159. hal-01148496v6 HAL Id: hal-01148496 https://hal.archives-ouvertes.fr/hal-01148496v6 Submitted on 27 Apr 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. Copyright Inconsistency Robustness for Logic Programs Carl Hewitt This article is dedicated to Alonzo Church and Stanisław Jaśkowski Abstract This article explores the role of Inconsistency Robustness in the history and theory of Logic Programs. Inconsistency Robustness has been a continually recurring issue in Logic Programs from the beginning including Church's system developed in the early 1930s based on partial functions (defined in the lambda calculus) that he thought would allow development of a general logic without the kind of paradoxes that had plagued earlier efforts by Frege, etc.1 Planner [Hewitt 1969, 1971] was a kind of hybrid between the procedural and logical paradigms in that it featured a procedural embedding of logical sentences in that an implication of the form (p implies q) can be procedurally embedded in the following ways: Forward chaining When asserted p, Assert q When asserted q, Assert p Backward chaining When goal q, SetGoal p When goal p, SetGoal q Developments by different research groups in the fall of 1972 gave rise to a controversy over Logic Programs that persists to this day in the form of following alternatives: 1.
    [Show full text]
  • A Methodology for Creating Reusable Ontologies
    A methodology for creating reusable ontologies Thomas Fruhwirth¨ ∗, Wolfgang Kastner∗, Lukas Krammery ∗ Institute of Computer Engineering, TU Wien y Siemens AG Osterreich¨ Automation Systems Group, 1040 Vienna, Austria 1210 Vienna, Austria ftfruehwirth, [email protected] [email protected] Abstract—Applications within the Internet of Things (IoT) Ontology: collection of terms and relations between them, increasingly build upon Semantic Web technologies to ensure including formal semantics interoperability of devices and applications. Hereby, a central aspect is knowledge representation, and in particular how devices The predominant system for knowledge representation can store and exchange semantic data. This paper defines and within the IoT and therefore also the main focus of this work discusses a methodology for creating application-specific ontolo- are ontologies as defined by the World Wide Web Consortium gies for the IoT. The two main objectives are to reuse existing (W3C). Thereby, an ontology is simply a graph consisting of knowledge on one hand and to derive reusable ontologies on nodes representing specific objects (individuals) or classes of the other hand. Thereby, a multi-agent system for switching objects, and edges representing relations between nodes. The optimization in the smart energy domain serves as a motivating example. graph in turn is nothing more than an elegant and illustrative way for representing the triples it contains, whereby each relation in conjunction with the nodes it connects constitutes I. INTRODUCTION such a triple. Triples are of the form Subject-Predicate-Object, such as in ”Paper” hasColor ”White”. The ever-growing number of standards, protocols, data formats, types of devices, and variety of different applications Even though ontologies are listed as a separate class of within the Internet of Things (IoT) causes severe interoper- systems for knowledge representation, the expressiveness of ability problems.
    [Show full text]
  • Development of Logic Programming: What Went Wrong, What Was Done About It, and What It Might Mean for the Future
    Development of Logic Programming: What went wrong, What was done about it, and What it might mean for the future Carl Hewitt at alum.mit.edu try carlhewitt Abstract follows: A class of entities called terms is defined and a term is an expression. A sequence of expressions is an Logic Programming can be broadly defined as “using logic expression. These expressions are represented in the to deduce computational steps from existing propositions” machine by list structures [Newell and Simon 1957]. (although this is somewhat controversial). The focus of 2. Certain of these expressions may be regarded as this paper is on the development of this idea. declarative sentences in a certain logical system which Consequently, it does not treat any other associated topics will be analogous to a universal Post canonical system. related to Logic Programming such as constraints, The particular system chosen will depend on abduction, etc. programming considerations but will probably have a The idea has a long development that went through single rule of inference which will combine substitution many twists in which important questions turned out to for variables with modus ponens. The purpose of the combination is to avoid choking the machine with special have surprising answers including the following: cases of general propositions already deduced. Is computation reducible to logic? 3. There is an immediate deduction routine which when Are the laws of thought consistent? given a set of premises will deduce a set of immediate This paper describes what went wrong at various points, conclusions. Initially, the immediate deduction routine what was done about it, and what it might mean for the will simply write down all one-step consequences of the future of Logic Programming.
    [Show full text]
  • Logic for Problem Solving
    LOGIC FOR PROBLEM SOLVING Robert Kowalski Imperial College London 12 October 2014 PREFACE It has been fascinating to reflect and comment on the way the topics addressed in this book have developed over the past 40 years or so, since the first version of the book appeared as lecture notes in 1974. Many of the developments have had an impact, not only in computing, but also more widely in such fields as math- ematical, philosophical and informal logic. But just as interesting (and perhaps more important) some of these developments have taken different directions from the ones that I anticipated at the time. I have organised my comments, chapter by chapter, at the end of the book, leaving the 1979 text intact. This should make it easier to compare the state of the subject in 1979 with the subsequent developments that I refer to in my commentary. Although the main purpose of the commentary is to look back over the past 40 years or so, I hope that these reflections will also help to point the way to future directions of work. In particular, I remain confident that the logic-based approach to knowledge representation and problem solving that is the topic of this book will continue to contribute to the improvement of both computer and human intelligence for a considerable time into the future. SUMMARY When I was writing this book, I was clear about the problem-solving interpretation of Horn clauses, and I knew that Horn clauses needed to be extended. However, I did not know what extensions would be most important.
    [Show full text]
  • Formalisation and Execution of Linear Algebra: Theorems and Algorithms
    Formalisation and execution of Linear Algebra: theorems and algorithms Jose Divas´onMallagaray Dissertation submitted in partial fulfilment of the requirements for the degree of Doctor of Philosophy Supervisors: Dr. D. Jes´usMar´ıaAransay Azofra Dr. D. Julio Jes´usRubio Garc´ıa Departamento de Matem´aticas y Computaci´on Logro~no,June 2016 Examining Committee Dr. Francis Sergeraert (Universit´eGrenoble Alpes) Prof. Dr. Lawrence Charles Paulson (University of Cambridge) Dr. Laureano Lamb´an (Universidad de La Rioja) External Reviewers Dr. Johannes H¨olzl (Technische Universit¨atM¨unchen) Ass. Prof. Dr. Ren´eThiemann (Universit¨atInnsbruck) This work has been partially supported by the research grants FPI-UR-12, ATUR13/25, ATUR14/09, ATUR15/09 from Universidad de La Rioja, and by the project MTM2014-54151-P from Ministerio de Econom´ıay Competitividad (Gobierno de Espa~na). Abstract This thesis studies the formalisation and execution of Linear Algebra algorithms in Isabelle/HOL, an interactive theorem prover. The work is based on the HOL Multivariate Analysis library, whose matrix representation has been refined to datatypes that admit a representation in functional programming languages. This enables the generation of programs from such verified algorithms. In par- ticular, several well-known Linear Algebra algorithms have been formalised in- volving both the computation of matrix canonical forms and decompositions (such as the Gauss-Jordan algorithm, echelon form, Hermite normal form, and QR decomposition). The formalisation of these algorithms is also accompanied by the formal proofs of their particular applications such as calculation of the rank of a matrix, solution of systems of linear equations, orthogonal matrices, least squares approximations of systems of linear equations, and computation of determinants of matrices over B´ezoutdomains.
    [Show full text]