A Modern Perspective on Type Theory

Size: px
Start display at page:

Download "A Modern Perspective on Type Theory"

Transcription

1 A Modern Perspective on Type Theory

2 APPLIED LOGIC SERIES VOLUME 29 Managing Editor Dov M. Gabbay, Department of Computer Science, King s College, London, U.K. Co-Editor Jon Barwise Editorial Assistant Jane Spurr, Department of Computer Science, King s College, London, U.K. SCOPE OF THE SERIES Logic is applied in an increasingly wide variety of disciplines, from the traditional subjects of philosophy and mathematics to the more recent disciplines of cognitive science, computer science, artificial intelligence, and linguistics, leading to new vigor in this ancient subject. Kluwer, through its Applied Logic Series, seeks to provide a home for outstanding books and research monographs in applied logic, and in doing so demonstrates the underlying unity and applicability of logic. The titles published in this series are listed at the end of this volume.

3 A Modern Perspective on Type Theory From its Origins until Today by FAIROUZ KAMAREDDINE Heriot Watt University, Edinburgh, Scotland TWAN LAAN Eindhoven, The Netherlands and ROB NEDERPELT Eindhoven University of Technology, The Netherlands KLUWER ACADEMIC PUBLISHERS NEW YORK, BOSTON, DORDRECHT, LONDON, MOSCOW

4 ebook ISBN: Print ISBN: Springer Science + Business Media, Inc. Print 2004 Kluwer Academic Publishers Dordrecht All rights reserved No part of this ebook may be reproduced or transmitted in any form or by any means, electronic, mechanical, recording, or otherwise, without written consent from the Publisher Created in the United States of America Visit Springer's ebookstore at: and the Springer Global Website Online at:

5 Contents Preface Preliminaries Overview of this book Part I Part II Part III Acknowledgements 0 Introduction Avoiding the paradox in set theory Avoiding the paradox in type theory The approach ix ix ix ix xi xii xiii I The Evolution of Type Theory until the 1940s 1 Prehistory 1a Paradox threats 1b Paradox threats in formal systems 1b1 Functions and their course of values 1b2 The Russell Paradox in Grundgesetze 1b3 How wrong was Frege? 1b4 The importance of Russell s Paradox 2 Type theory in Principia Mathematica 2a Principia s propositional functions 2a1 Definition 2a2 Principia s propositional functions as 2a3 Principia s pfs and their translation in 2a4 Principia s related notions iii

6 iv CONTENTS 2a5 Principia s substitution 2b The Ramified Theory of Types RTT 2b1 Types 2b2 Formalisation of the Ramified Theory of Types 2b3 Discussion and examples 2c Properties of RTT 2c1 Types and free variables 2c2 Strong normalisation 2c3 Subterm property 2d Legal propositional functions Conclusions 3 Deramification 3a History of the deramification 3a1 The problematic character of RTT 3a2 The Axiom of Reducibility 3a3 Deramification 3b The Simple Theory of Types STT 3b1 3b2 3b3 3b4 Constructing the Simple Theory of Types from RTT Church s simply typed Comparison of RTT with Comparison of STT with 3c Are orders to be blamed? 3c1 Kripke s Theory of Truth KTT 3c2 RTT in KTT 3c3 Orders and types Conclusions II Propositions as Types, Pure Type Systems, AUTOMATH Propositions as Types and Pure Type Systems 4a Propositions as Types and Proofs as Terms (PAT) 4a1 Intuitionistic logic 4a2 The discovery of PAT: Curry 4a3 The discovery of PAT: Howard 4a4 The discovery of PAT: de Bruijn 4b Lambda calculus 4c Pure Type Systems 4c1 4c2 The Barendregt cube Metaproperties of PTSs

7 CONTENTS 5 The pre-pat RTT and STT in PAT-style 5a RTT in PAT style 5a1 An introduction to 5a2 The system 5a3 Meta-properties of 5a4 Interpreting RTT in 5a5 Logic in RTT and 5a6 Various implementations of PAT 5b STT in PAT style Conclusions 6 A Correspondence between RTT and the system Nuprl 6a On the role of orders 6b The Nuprl type system 6b1 A fragment of Nuprl in PTS-style 6b2 Orders in Nuprl 6b3 Evaluating the order of a Nuprl term 6c RTT in Nuprl 6c1 Ramified Types in Nuprl 6c2 Propositional Functions of RTT in Nuprl Conclusions 7 Automath 7a Description of AUTOMATH 7a1 Books, lines and expressions 7a2 Correct books 7a3 Definitional equality 7a4 Some elementary properties 7b From AUT-68 towards a PTS 7c 7d 7b1 7b2 7b3 The choice of the correct formation (II) rules and the parameter types The different treatment of constants and variables The definition system and the translation using 7c1 7c2 7c3 7c4 7c5 Definition and elementary properties Reduction and conversion Subject reduction Strong normalisation The formal relation between AUT-68 and More Suitable Pure Type Systems for AUTOMATH 7d1 with parameters, and v

8 vi CONTENTS 7d2 7d3 Conclusions AUT-QE III Extensions of Pure Type Systems Pure Type Systems with definitions 233 8a Definitions in contexts 234 8a1 Comparison with the definitions of AUTOMATH 237 8b Definitions in the terms and the contexts 238 8b1 Comparison with the definitions of AUTOMATH 238 Conclusions The Barendregt cube with parameters 9a On parameters in the Barendregt cube 9b The Barendregt cube refined with parameters Conclusions Pure Type Systems with parameters and definitions a 10b Parametric constants and definitions Properties of terms 10b1 Basic properties 10b2 Church-Rosser for 10b3 Strong normalisation for 10c 10d Properties of legal terms Restrictive use of parameters 10d1 with restricted parameters 10d2 Imitating parameters by 10d3 Refined Barendregt cubes 10e Systems in the refined Barendregt cube 10e1 ML 10e2 LF 10e3 and AUT-68 10e4 and AUT-QE 10e5 PAL 10f First-order predicate logic Conclusions: Yet another extension of PTSs? Practical motivation The heart of type theory Future work

9 CONTENTS vii A Type systems in this book Aa Pure Type Systems Ab The Barendregt cube Ac The Ramified Theory of Types Ac1 RTT Ac2 Ad The Simple Theory of Types Ad1 STT Ad2 Ae Af Ag Church s simply typed A fragment of Nuprl in PTS-style AUTOMATH Ag1 Ag2 AUT-68 Ah Pure Type Systems with definitions Ah1 Ah2 PTSs with definitions in contexts PTSs with definitions in the terms and the contexts Ai Pure Type Systems with parametric constants Aj A and its subsystems Aj1 Aj2 PTSs with parameters and definitions PTSs with restricted parameters and definitions Bibliography Subject Index Name Index List of Figures

10 Preface Preliminaries We assume that the reader is more or less familiar with the basics of typed and type theory. We give a survey of the most important topics concerning typed in Chapter 4. So, it may be a good idea to read Sections 4b and 4c of that chapter first. We used the historical timeline and presented the (Section 4b) and Pure Type Systems (Section 4c) after our discussion of the prehistory and of Frege, Russell and Ramsey s accounts. Throughout the book, we use to represent the set of the natural numbers (including 0), and to represent the set minus the 0. Overview of this book The book is divided into three parts: Part I The first part consists of three chapters and deals with the evolution of type theory until the 1940s. We study the prehistory of type theory up to 1910 and its development between Russell and Whitehead s Principia Mathematica ([145], ) and Church s simply typed of We first argue that the concept of types has always been present in mathematics, though nobody was incorporating them explicitly as such, before the end of the 19th century. Then we proceed by describing how the logical paradoxes entered the formal systems of Frege, Cantor and Peano concentrating on Frege s Grundgesetze der Arithmetik for which Russell applied his famous paradox 1 and this led him to introduce the first formulation of a theory of types, the Ramified Type Theory (RTT) (based on 1 Russell discovered his paradox when he read Cantor s work. ix

11 x Preface Russell s work [131] of 1908 which succeeded [130]; this work is highly influenced by Frege s concept of types). We present RTT formally using the modern notation for type theory. Ramified types have a double hierarchy: one of orders and the other of types. Ramified types had limitations and for this reason, Russell and Whitehead added the so-called axiom of reducibility. Ramified types and the reducibility axiom were not fully accepted. This led to various calls for deramification by many including Hilbert and Ackermann, Ramsey and Leon Chwistek. In this book, we concentrate on the simple theory of types (STT) as envisaged by Ramsey, 1926 (and also independently by Hilbert and Ackermann) which is a simplification of the ramified theory of types by removing the orders. In 1940, Church developed, using his and the simple theory of types, the first most influential type theory: Church s simply typed We present STT and 2 Church s own simply typed 3 ) and we finish by comparing RTT, STT and Chapter 1. In the first chapter we discuss the prehistory of type theory. That is, we study the way in which types implicitly occurred in logic and mathematics before there was an explicit theory of types. We pay special attention to the formalisation of logic that is made in Frege s Begriffsschrift [49] and Grundgesetze der Arithmetik [52, 56], as in this formalisation many basic ideas are presented that are later used in type theory. Moreover, the system of Grundgesetze der Arithmetik is the one for which Russell derives his famous paradox, and this paradox has been the reason for Russell to introduce the first theory of types. Chapter 2. This first type theory is the subject of the second chapter. Whitehead and Russell present their theory, the Ramified Type Theory (RTT), in an informal way. Several rough descriptions of this theory have been given in the literature (see for instance [124, 70, 29, 31]) but we present a formalisation of RTT that is directly based on the presentation of RTT in Whitehead and Russell s Principia Mathematica ([145], ). The construction of this formalisation is not a simple task. Whitehead and Russell do not present a clear syntax for their socalled propositional functions in [145], neither do they make a clear difference between syntax and semantics. We present a formal definition of propositional functions that is faithful to the original ideas exposed in Principia Mathematica. A second technical problem is the notion of substitution, which is totally undefined in Principia Mathematica. The formalisation of the notion of propositional function 2 Note that the simple theory of types (1926) existed before the was invented by Church in 1932 and hence before Church s simply typed of Nevertheless, nowadays, when one refers to simple type theory, one usually means Church s simply typed of It should be noted furthermore, that Russell s type structure was different from that of Church. The former was set-based with linear sequences of types. The latter was function-based. 3 We write for the original calculus of Church as presented in [29]. Note that this is different from the calculus used in frameworks like the Barendregt cube and the Pure Type Systems found in [3].

12 Overview of this book xi makes it possible to express the notion of substitution of Principia Mathematica in terms of We use techniques from typed and untyped to give a precise description of substitution, and to show that substitution is well-defined as long as we restrict ourselves to well-typed propositional functions of RTT. Chapter 3. In 1926, Ramsey [124] proposed an important simplification of RTT, the simple theory of types (STT). This simple type theory has become the basis for many modern type systems, and for the simply typed of Church [29]. The simplification consisted of the removal of one of the two hierarchies from RTT. The hierarchy of types is maintained, while the hierarchy of orders is removed. In Chapter 3 we discuss this process, known as deramification. An important observation of this chapter is that though the orders do not occur in the mainstream of type theories, they still provide an important intuition for logicians. We show that there is a close link between the hierarchy of orders in RTT and the hierarchy of truths that was introduced by Kripke [96]. We also show that Kripke s use of orders is more flexible than Russell s, and that this is due to the fact that orders occur at the semantical level in Kripke s theory, while they occur at the level of syntax in RTT. Part II The second part of the book consists of four chapters and deals with major developments of type theory since the 1940s. Although type theory was not active in the 1950s, in the 1960s there was a revival of interest in types and their applications to computer science and mathematics. But then, both RTT and turned out to be too restrictive for mathematics and computer science where fixed points (to mention one example) play an important role. Since the 1960s, we have seen many new type systems and the influence of types in logic, mathematics and computation continues to grow. Both logicians and computer scientists have developed several branches of typed Also mathematics has benefitted from typed especially since 1967 when de Bruijn used his AUTOMATH for the analysis and checking of mathematical texts. Chapter 4. Though type theory clearly served as a method to prevent certain logical paradoxes, the logical system stood apart from the type system until the 1950s. In Chapter 4 we study the ways in which logic can be included in a type system. The various methods are all based on the idea that the proof of a logical implication can be seen as a function. More precisely: A proof of the proposition is implemented as a function that takes a proof of A as argument, and returns a proof of B. In this way, the proposition can be seen as the type of all functions from (proofs of) A to (proofs of) B. Similarly, a proof of becomes a term of type One calls this principle: propositions as types, or: proofs as terms. Both expressions are abbreviated by PAT. PAT was

13 xii Preface discovered independently by different people. In Section 4a we give a historical sketch. Moreover, in this book we try to present, in a uniform framework, various important type systems that were proposed during this century. An important part of this framework is formed by the so-called Pure Type Systems (PTSs). Therefore, a short introduction to typed lambda calculus and PTSs is essential for the understanding of this book. Hence, in Section 4b we present the basic definitions and properties of the Then in section 4c we introduce a general framework of type systems which includes the most influential type theories developed since the 1960s including the polymorphic type theory, the dependent type theory and the Pure Type Systems (PTSs). We also introduce the so-called Barendregt cube [3] which is a collection of eight influential type systems. PTSs in general and the cube in particular, will be used to represent in the modern setting, some of the historical systems discussed so far. Moreover, PTSs in general and the cube in particular will be subject to various extensions in Part III of this book. Chapter 5. In Chapter 5 we describe how the two most important type systems of the pre-pat-era, RTT and STT, can be described in a PAT style. This gives insight in the various ways in which PAT-implementations can be made. Chapter 6. In Chapter 6, we return to Russell s orders which we use to place RTT in a context with a modern system of computer mathematics (Constable s Nuprl). Nuprl is based on a modern type theory which differs from Pure Type Systems: Martin-Löf s type theory. As another illustration of the generality of PTSs, we present a complex type system (again Nuprl) as a simple and compact PTS. Chapter 7. One of the important applications of PAT is the mechanical verification of mathematical proofs. The first tool for such a verification was AUTOMATH. It was developed in the late 1960s. The languages of the various AUTOMATH systems have been studied intensively. In [3], a description of two of the most important systems within the framework of Pure Type Systems is given, but without explanation. In Chapter 7 we study the original language of AUTOMATH and translate it to a PTS format. In doing so, we obtain descriptions similar to those of [3]. Part III The third part which consists of three chapters, deals with some extensions of type theory, especially those related to functions and parameters (arguments). Chapter 8. In many type theories and lambda calculi, there is no formal possibility to use abbreviations or definitions, i.e., to introduce names for large expressions which can be used several times in a program or a proof. This possibility is essential for practical use, and indeed implementations of Pure Type Systems such as Coq [44] and Nuprl [35] do provide this possibility. Moreover, most implementations of programming languages (Haskell, ML, CAML, etc.) use names for large

14 Acknowledgements xiii expressions via a well-known programming language concept: the so-called let expressions or definitions. This chapter introduces definitions to Pure Type Systems in two different ways: definitions can be added only to the context or can be added to both the contexts and the syntax of terms. We compare the two notions of definitions studied in this chapter with the definitions of AUTOM ATH. Chapter 9. Our study of the function concept leads to a natural refinement of the Barendregt cube with what we call parameters. This leads to the division of the cube into eight smaller cubes which will enable more accurate presentations of various systems. The refinement of this chapter will be used in the next chapter together with the concept of definitions discussed in Chapter 8, to give a powerful refinement of Pure Type Systems in general and of the Barendregt cube in particular. Chapter 10. The description of AUTOMATH given in Chapter 7 is precise, but does not take into account two of its most important mechanisms: the definition mechanism and the parameter mechanism. Many other type systems use these mechanisms as well. This motivates us to extend the framework of PTSs with definitions and parameters in Chapter 10. Our extension results in a refinement of the framework of PTSs. In this refined framework, various modern type systems (like LF and ML) can be described in a more precise way than in the PTS framework without definitions and parameters. Acknowledgements This book is based on various projects by the authors in the past few years. Of these projects we acknowledge: The project De ontwikkeling van het Typebegrip ( the evolution of the type concept ), which was financially supported by the Co-operation Centre Tilburg and Eindhoven Universities (SOBU) and which resulted in the PhD thesis by Twan Laan [98]. NWO, Eindhoven University of Technology, the Royal Society and the British Council provided funding for the trips of Twan Laan to Scotland in spring 1995 and winter 1996 and of Fairouz Kamareddine to the Netherlands between 1993 and The project Advantages of a new lambda-notation, which was financially supported by the Engineering and Physical Sciences Research Council (EP- SRC). That project studied amongst other things, the correspondence between Martin-Löf type theory, Russell s ramified type theory and Pure Type Systems [83], the correspondence between Kripke s theories of truth and Russell s orders [82], and also led to the formalisation of definitions in typed lambda calculi by the authors [14, 81] (in collaboration with Roel Bloo).

15 xiv Preface The international exchange project(s) supported by Eindhoven University of Technology which allowed Fairouz Kamareddine to make various short and long visits to Eindhoven University of Technology during which she collaborated on various topics elaborated in this book [84, 83, 14, 82, 13, 86, 85, 87]. Many people have influenced the work in this book and we cannot mention them all. In particular, we would like to express our gratitude to Harrie de Swart, and Jos Baeten for making this project possible, for the useful discussions and invaluable support, and for facilitating our exchange visits. Henk Barendregt, Dirk van Dalen, Roger Hindley, Randall Holmes, Jonathan Seldin, and Joe Wells provided much valuable feedback. Joe Wells also provided much valued help with for which we are extremely grateful. Last but not least, we are very grateful for Jane Spurr who handled this book in her very prompt, efficient, friendly and professional manner. Producing this manuscript would have been much harder without you Jane. Thank you. Fairouz Kamareddine, Twan Laan and Rob Nederpelt Edinburgh and Eindhoven, March 2004

Lecture slides & distribution files:

Lecture slides & distribution files: Type Theory Lecture slides & distribution files: http://www.cs.rhul.ac.uk/home/zhaohui/ttlectures.html Zhaohui Luo Department of Computer Science Royal Holloway, University of London April 2011 2 Type

More information

the application rule M : x:a: B N : A M N : (x:a: B) N and the reduction rule (x: A: B) N! Bfx := Ng. Their algorithm is not fully satisfactory in the

the application rule M : x:a: B N : A M N : (x:a: B) N and the reduction rule (x: A: B) N! Bfx := Ng. Their algorithm is not fully satisfactory in the The Semi-Full Closure of Pure Type Systems? Gilles Barthe Institutionen for Datavetenskap, Chalmers Tekniska Hogskola, Goteborg, Sweden Departamento de Informatica, Universidade do Minho, Braga, Portugal

More information

Less naive type theory

Less naive type theory Institute of Informatics Warsaw University 26 May 2007 Plan 1 Syntax of lambda calculus Why typed lambda calculi? 2 3 Syntax of lambda calculus Why typed lambda calculi? origins in 1930s (Church, Curry)

More information

Programming Proofs and Proving Programs. Nick Benton Microsoft Research, Cambridge

Programming Proofs and Proving Programs. Nick Benton Microsoft Research, Cambridge Programming Proofs and Proving Programs Nick Benton Microsoft Research, Cambridge Coffee is does Greek 1. To draw a straight line from any point to any point. 2. To produce a finite straight line continuously

More information

As Natural as 0, 1, 2. Philip Wadler University of Edinburgh

As Natural as 0, 1, 2. Philip Wadler University of Edinburgh As Natural as 0, 1, 2 Philip Wadler University of Edinburgh wadler@inf.ed.ac.uk Haskell Hindley-Milner types Java Girard-Reynolds types XML Operational semantics Part 0 Counting starts at zero Carle Carle

More information

EXTENSIONS OF FIRST ORDER LOGIC

EXTENSIONS OF FIRST ORDER LOGIC EXTENSIONS OF FIRST ORDER LOGIC Maria Manzano University of Barcelona CAMBRIDGE UNIVERSITY PRESS Table of contents PREFACE xv CHAPTER I: STANDARD SECOND ORDER LOGIC. 1 1.- Introduction. 1 1.1. General

More information

SJTU SUMMER 2014 SOFTWARE FOUNDATIONS. Dr. Michael Clarkson

SJTU SUMMER 2014 SOFTWARE FOUNDATIONS. Dr. Michael Clarkson SJTU SUMMER 2014 SOFTWARE FOUNDATIONS Dr. Michael Clarkson e Story Begins Gottlob Frege: a German mathematician who started in geometry but became interested in logic and foundations of arithmetic. 1879:

More information

INFORMATION RETRIEVAL SYSTEMS: Theory and Implementation

INFORMATION RETRIEVAL SYSTEMS: Theory and Implementation INFORMATION RETRIEVAL SYSTEMS: Theory and Implementation THE KLUWER INTERNATIONAL SERIES ON INFORMATION RETRIEVAL Series Editor W. Bruce Croft University of Massachusetts Amherst, MA 01003 Also in the

More information

THE DESIGNER S GUIDE TO VERILOG-AMS

THE DESIGNER S GUIDE TO VERILOG-AMS THE DESIGNER S GUIDE TO VERILOG-AMS THE DESIGNER S GUIDE BOOK SERIES Consulting Editor Kenneth S. Kundert Books in the series: The Designer s Guide to Verilog-AMS ISBN: 1-00-80-1 The Designer s Guide to

More information

CS3110 Spring 2017 Lecture 12: DRAFT: Constructive Real Numbers continued

CS3110 Spring 2017 Lecture 12: DRAFT: Constructive Real Numbers continued CS3110 Spring 2017 Lecture 12: DRAFT: Constructive Real Numbers continued Robert Constable Reminder: Prelim in class next Tuesday. It will not cover the real numbers beyond lecture 11 and comments on lecture

More information

Introduction to the Lambda Calculus. Chris Lomont

Introduction to the Lambda Calculus. Chris Lomont Introduction to the Lambda Calculus Chris Lomont 2010 2011 2012 www.lomont.org Leibniz (1646-1716) Create a universal language in which all possible problems can be stated Find a decision method to solve

More information

Introduction to Homotopy Type Theory

Introduction to Homotopy Type Theory Introduction to Homotopy Type Theory Lecture notes for a course at EWSCS 2017 Thorsten Altenkirch March 5, 2017 1 What is this course about? To explain what Homotopy Type Theory is, I will first talk about

More information

Lisp History. Lisp and Prolog Background. Lisp Use. Lisp Availability

Lisp History. Lisp and Prolog Background. Lisp Use. Lisp Availability Lisp and Prolog Background Thank you to Prof. Roosen-Runge and Prof. Gotshalks for the slides that I will be using throughout the course. Lisp History Lisp - invented (about 1958) by the logician and AI

More information

TECHNICAL TRANSLATION

TECHNICAL TRANSLATION TECHNICAL TRANSLATION Technical Translation Usability Strategies for Translating Technical Documentation JODY BYRNE University of Sheffield, UK A C.I.P. Catalogue record for this book is available from

More information

Lisp and Prolog Background

Lisp and Prolog Background Lisp and Prolog Background Thank you to Prof. Roosen-Runge for the slides on background and history. BH2-1 Lisp History Lisp--invented (about 1958) by the logician and AI researcher John McCarthy Widely

More information

Automated type-checking for the ramified theory of types of the Principia Mathematica of Russell and Whitehead

Automated type-checking for the ramified theory of types of the Principia Mathematica of Russell and Whitehead Automated type-checking for the ramified theory of types of the Principia Mathematica of Russell and Whitehead M. Randall Holmes, Boise State University November 28, 2010 1 In this talk, we will report

More information

INDEPENDENT POSTULATES FOR THE "INFORMAL" PART OF PRINCIPIA MATHEMATICA*

INDEPENDENT POSTULATES FOR THE INFORMAL PART OF PRINCIPIA MATHEMATICA* 9- "INFORMAL" PART OF PRINCIPIA 7 INDEPENDENT POSTULATES FOR THE "INFORMAL" PART OF PRINCIPIA MATHEMATICA* BY E. V. HUNTINGTON. Introduction. It has long been recognized that Section A of Whitehead and

More information

Contents. Chapter 1 SPECIFYING SYNTAX 1

Contents. Chapter 1 SPECIFYING SYNTAX 1 Contents Chapter 1 SPECIFYING SYNTAX 1 1.1 GRAMMARS AND BNF 2 Context-Free Grammars 4 Context-Sensitive Grammars 8 Exercises 8 1.2 THE PROGRAMMING LANGUAGE WREN 10 Ambiguity 12 Context Constraints in Wren

More information

A Prolog-based Proof Tool for Type Theory TA λ and Implicational Intuitionistic-Logic

A Prolog-based Proof Tool for Type Theory TA λ and Implicational Intuitionistic-Logic for Type Theory TA λ and Implicational Intuitionistic-Logic L. Yohanes Stefanus University of Indonesia Depok 16424, Indonesia yohanes@cs.ui.ac.id and Ario Santoso Technische Universität Dresden Dresden

More information

Automata and Formal Languages - CM0081 Introduction to Agda

Automata and Formal Languages - CM0081 Introduction to Agda Automata and Formal Languages - CM0081 Introduction to Agda Andrés Sicard-Ramírez Universidad EAFIT Semester 2018-2 Introduction Curry-Howard correspondence Dependent types Constructivism Martin-Löf s

More information

Lecture 5: The Halting Problem. Michael Beeson

Lecture 5: The Halting Problem. Michael Beeson Lecture 5: The Halting Problem Michael Beeson Historical situation in 1930 The diagonal method appears to offer a way to extend just about any definition of computable. It appeared in the 1920s that it

More information

One of a number of approaches to a mathematical challenge at the time (1930): Constructibility

One of a number of approaches to a mathematical challenge at the time (1930): Constructibility λ Calculus Church s λ Calculus: Brief History One of a number of approaches to a mathematical challenge at the time (1930): Constructibility (What does it mean for an object, e.g. a natural number, to

More information

Proving the Genericity Lemma by Leftmost Reduction is Simple

Proving the Genericity Lemma by Leftmost Reduction is Simple Proving the Genericity Lemma by Leftmost Reduction is Simple Jan Kuper University of Twente, Department of Computer Science P.O.Box 217, 7500 AE Enschede, The Netherlands e-mail: jankuper~cs.utwente.ul

More information

Computer Science 190 (Autumn Term, 2010) Semantics of Programming Languages

Computer Science 190 (Autumn Term, 2010) Semantics of Programming Languages Computer Science 190 (Autumn Term, 2010) Semantics of Programming Languages Course instructor: Harry Mairson (mairson@brandeis.edu), Volen 257, phone (781) 736-2724. Office hours Monday and Wednesday,

More information

1.1 On -reduction Type theory has almost always been studied without -conversion (which is the analogue of -conversion on product type level). That is

1.1 On -reduction Type theory has almost always been studied without -conversion (which is the analogue of -conversion on product type level). That is On -conversion in the -cube and the combination with abbreviations Fairouz Kamareddine University of Glasgow Department of Computing Science 17 Lilybank Gardens Glasgow G12 8QQ Scotland FAX: +44 141 330

More information

DRAFT. Dependent types. Chapter The power of and

DRAFT. Dependent types. Chapter The power of and Chapter 4 Dependent types Now we come to the heart of the matter: dependent types. This was the main insight of Per Martin-Löf when he started to develop Type Theory in 1972. Per knew about the propositions

More information

Introduction to the Lambda Calculus

Introduction to the Lambda Calculus Introduction to the Lambda Calculus Overview: What is Computability? Church s Thesis The Lambda Calculus Scope and lexical address The Church-Rosser Property Recursion References: Daniel P. Friedman et

More information

3.7 Denotational Semantics

3.7 Denotational Semantics 3.7 Denotational Semantics Denotational semantics, also known as fixed-point semantics, associates to each programming language construct a well-defined and rigorously understood mathematical object. These

More information

Software System Design and Implementation

Software System Design and Implementation Software System Design and Implementation Motivation & Introduction Gabriele Keller (Manuel M. T. Chakravarty) The University of New South Wales School of Computer Science and Engineering Sydney, Australia

More information

Kurt Gödel and Computability Theory

Kurt Gödel and Computability Theory University of Calgary, Canada www.ucalgary.ca/ rzach/ CiE 2006 July 5, 2006 Importance of Logical Pioneers to CiE Wilhelm Ackermann Paul Bernays Alonzo Church Gerhard Gentzen Kurt Gödel Stephen Kleene

More information

Type raising, continuations, and classical logic

Type raising, continuations, and classical logic Type raising, continuations, and classical logic Philippe de Groote Inria-Lorraine Abstract. There is a striking analogy between type raising, as introduced by Montague (973), and the notion of continuation

More information

Software System Design and Implementation

Software System Design and Implementation Software System Design and Implementation Admin & Motivation & Some History Gabriele Keller Admin: Liam O Connor-Davies The University of New South Wales School of Computer Science and Engineering Sydney,

More information

COMPUTATIONAL SEMANTICS WITH FUNCTIONAL PROGRAMMING JAN VAN EIJCK AND CHRISTINA UNGER. lg Cambridge UNIVERSITY PRESS

COMPUTATIONAL SEMANTICS WITH FUNCTIONAL PROGRAMMING JAN VAN EIJCK AND CHRISTINA UNGER. lg Cambridge UNIVERSITY PRESS COMPUTATIONAL SEMANTICS WITH FUNCTIONAL PROGRAMMING JAN VAN EIJCK AND CHRISTINA UNGER lg Cambridge UNIVERSITY PRESS ^0 Contents Foreword page ix Preface xiii 1 Formal Study of Natural Language 1 1.1 The

More information

Chapter 11 :: Functional Languages

Chapter 11 :: Functional Languages Chapter 11 :: Functional Languages Programming Language Pragmatics Michael L. Scott Copyright 2016 Elsevier 1 Chapter11_Functional_Languages_4e - Tue November 21, 2017 Historical Origins The imperative

More information

5. Introduction to the Lambda Calculus. Oscar Nierstrasz

5. Introduction to the Lambda Calculus. Oscar Nierstrasz 5. Introduction to the Lambda Calculus Oscar Nierstrasz Roadmap > What is Computability? Church s Thesis > Lambda Calculus operational semantics > The Church-Rosser Property > Modelling basic programming

More information

Introduction. chapter Functions

Introduction. chapter Functions chapter 1 Introduction In this chapter we set the stage for the rest of the book. We start by reviewing the notion of a function, then introduce the concept of functional programming, summarise the main

More information

λ calculus Function application Untyped λ-calculus - Basic Idea Terms, Variables, Syntax β reduction Advanced Formal Methods

λ calculus Function application Untyped λ-calculus - Basic Idea Terms, Variables, Syntax β reduction Advanced Formal Methods Course 2D1453, 2006-07 Advanced Formal Methods Lecture 2: Lambda calculus Mads Dam KTH/CSC Some material from B. Pierce: TAPL + some from G. Klein, NICTA Alonzo Church, 1903-1995 Church-Turing thesis First

More information

INTRUSION DETECTION AND CORRELATION. Challenges and Solutions

INTRUSION DETECTION AND CORRELATION. Challenges and Solutions INTRUSION DETECTION AND CORRELATION Challenges and Solutions Advances in Information Security Sushil Jajodia Consulting editor Center for Secure Information Systems George Mason University Fairfax, VA

More information

The type system of Axiom

The type system of Axiom Erik Poll p.1/28 The type system of Axiom Erik Poll Radboud University of Nijmegen Erik Poll p.2/28 joint work with Simon Thompson at University of Kent at Canterbury (UKC) work done last century, so probably

More information

ABriefOverviewofAgda A Functional Language with Dependent Types

ABriefOverviewofAgda A Functional Language with Dependent Types ABriefOverviewofAgda A Functional Language with Dependent Types Ana Bove, Peter Dybjer, and Ulf Norell e-mail: {bove,peterd,ulfn}@chalmers.se Chalmers University of Technology, Gothenburg, Sweden Abstract.

More information

CS3110 Spring 2017 Lecture 10 a Module for Rational Numbers

CS3110 Spring 2017 Lecture 10 a Module for Rational Numbers CS3110 Spring 2017 Lecture 10 a Module for Rational Numbers Robert Constable Abstract The notes and lecture start with a brief summary of the relationship between OCaml types, Coq types and logic that

More information

How to Prove Higher Order Theorems in First Order Logic

How to Prove Higher Order Theorems in First Order Logic How to Prove Higher Order Theorems in First Order Logic Manfred Kerber Fachbereich Informatik, Universitat Kaiserslautern D-6750 Kaiserslautern, Germany kerber@informatik.uni-kl.de Abstract In this paper

More information

On the Logical Foundations of Staged Computation

On the Logical Foundations of Staged Computation On the Logical Foundations of Staged Computation Frank Pfenning PEPM 00, Boston, MA January 22, 2000 1. Introduction 2. Judgments and Propositions 3. Intensional Types 4. Run-Time Code Generation 5. The

More information

Notes on Principia Mathematica

Notes on Principia Mathematica Notes on Principia Mathematica M. Randall Holmes November 5, 2014 These are my notes toward an interpretation of the Principia Mathematica of Russell and Whitehead (hereinafter PM ). Manners forbid saying

More information

THE FOUNDATIONS OF MATHEMATICS

THE FOUNDATIONS OF MATHEMATICS THE FOUNDATIONS OF MATHEMATICS By: Sterling McKay APRIL 21, 2014 LONE STAR - MONTGOMERY Mentor: William R. Brown, MBA Mckay 1 In mathematics, truth is arguably the most essential of its components. Suppose

More information

Memories of the AUTOMATH project

Memories of the AUTOMATH project Invited lecture at the Mathematics Knowledge Management Symposium 25-29 November 2003 Heriot-Watt University, Edinburgh, Scotland Memories of the AUTOMATH project by N.G. de Bruijn N.G. de Bruijn, emeritus

More information

COP4020 Programming Languages. Functional Programming Prof. Robert van Engelen

COP4020 Programming Languages. Functional Programming Prof. Robert van Engelen COP4020 Programming Languages Functional Programming Prof. Robert van Engelen Overview What is functional programming? Historical origins of functional programming Functional programming today Concepts

More information

Conclusions and further reading

Conclusions and further reading Chapter 18 Conclusions and further reading We have not been exhaustive in the description of the Caml Light features. We only introduced general concepts in functional programming, and we have insisted

More information

Functional Programming. Big Picture. Design of Programming Languages

Functional Programming. Big Picture. Design of Programming Languages Functional Programming Big Picture What we ve learned so far: Imperative Programming Languages Variables, binding, scoping, reference environment, etc What s next: Functional Programming Languages Semantics

More information

Programming Language Concepts: Lecture 19

Programming Language Concepts: Lecture 19 Programming Language Concepts: Lecture 19 Madhavan Mukund Chennai Mathematical Institute madhavan@cmi.ac.in http://www.cmi.ac.in/~madhavan/courses/pl2009 PLC 2009, Lecture 19, 01 April 2009 Adding types

More information

Topic 3: Propositions as types

Topic 3: Propositions as types Topic 3: Propositions as types May 18, 2014 Propositions as types We have seen that the main mathematical objects in a type theory are types. But remember that in conventional foundations, as based on

More information

Modal Logic: Implications for Design of a Language for Distributed Computation p.1/53

Modal Logic: Implications for Design of a Language for Distributed Computation p.1/53 Modal Logic: Implications for Design of a Language for Distributed Computation Jonathan Moody (with Frank Pfenning) Department of Computer Science Carnegie Mellon University Modal Logic: Implications for

More information

Topological Structure and Analysis of Interconnection Networks

Topological Structure and Analysis of Interconnection Networks Topological Structure and Analysis of Interconnection Networks Network Theory and Applications Volume 7 Managing Editors: Ding-Zhu Du, University of Minnesota, U.S.A. and Cauligi Raghavendra, University

More information

Packaging Theories of Higher Order Logic

Packaging Theories of Higher Order Logic Packaging Theories of Higher Order Logic Joe Hurd Galois, Inc. joe@galois.com Theory Engineering Workshop Tuesday 9 February 2010 Joe Hurd Packaging Theories of Higher Order Logic 1 / 26 Talk Plan 1 Introduction

More information

Semantics via Syntax. f (4) = if define f (x) =2 x + 55.

Semantics via Syntax. f (4) = if define f (x) =2 x + 55. 1 Semantics via Syntax The specification of a programming language starts with its syntax. As every programmer knows, the syntax of a language comes in the shape of a variant of a BNF (Backus-Naur Form)

More information

Martin-L f's Type Theory. B. Nordstr m, K. Petersson and J. M. Smith. Contents. 5.4 The set of functions (Cartesian product of a family of sets) 24

Martin-L f's Type Theory. B. Nordstr m, K. Petersson and J. M. Smith. Contents. 5.4 The set of functions (Cartesian product of a family of sets) 24 Martin-L f's Type Theory B. Nordstr m, K. Petersson and J. M. Smith Contents 1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 1.1 Dierent formulations of type theory : : : :

More information

The Essence of Reynolds

The Essence of Reynolds The Essence of Reynolds 3. State and Abstraction Uday S. Reddy 1 1 University of Birmingham POPL, 2014 John C. Reynolds, 1935-2013 Emmy Noether, 1882-1935 According to Mac Lane, she emphasized the importance

More information

Programming Language Pragmatics

Programming Language Pragmatics Chapter 10 :: Functional Languages Programming Language Pragmatics Michael L. Scott Historical Origins The imperative and functional models grew out of work undertaken Alan Turing, Alonzo Church, Stephen

More information

Preface. Structure of the Book

Preface. Structure of the Book When the first edition of this book was published back in 2008, the scope was anything to do with smart cards and security tokens in the widest sense. The aim was in fact to provide a complete story, looking

More information

Boolean Reasoning. The Logic of Boolean Equations. Frank Markham Brown Air Force Institute of Technology

Boolean Reasoning. The Logic of Boolean Equations. Frank Markham Brown Air Force Institute of Technology Boolean Reasoning The Logic of Boolean Equations by Frank Markham Brown Air Force Institute of Technology ff Kluwer Academic Publishers Boston/Dordrecht/London Contents Preface Two Logical Languages Boolean

More information

Chapter 2 The Language PCF

Chapter 2 The Language PCF Chapter 2 The Language PCF We will illustrate the various styles of semantics of programming languages with an example: the language PCF Programming language for computable functions, also called Mini-ML.

More information

CS 565: Programming Languages. Spring 2008 Tu, Th: 16:30-17:45 Room LWSN 1106

CS 565: Programming Languages. Spring 2008 Tu, Th: 16:30-17:45 Room LWSN 1106 CS 565: Programming Languages Spring 2008 Tu, Th: 16:30-17:45 Room LWSN 1106 Administrivia Who am I? Course web page http://www.cs.purdue.edu/homes/peugster/cs565spring08/ Office hours By appointment Main

More information

A MECHANIZATION OF TYPE THEORY. Gerard P. HUBT IRIA - LABORIA Rocquencourt FRANCE

A MECHANIZATION OF TYPE THEORY. Gerard P. HUBT IRIA - LABORIA Rocquencourt FRANCE Session 6 Logic: II Theorem Proving and A MECHANIZATION OF TYPE THEORY Gerard P. HUBT IRIA - LABORIA Rocquencourt FRANCE ABSTRACT A refutational system of logic for a language of order w ia presented.

More information

A computer implemented philosophy of mathematics

A computer implemented philosophy of mathematics A computer implemented philosophy of mathematics M. Randall Holmes May 14, 2018 This paper presents a philosophical view of the basic foundations of mathematics, which is implemented in actual computer

More information

Functional Languages. Hwansoo Han

Functional Languages. Hwansoo Han Functional Languages Hwansoo Han Historical Origins Imperative and functional models Alan Turing, Alonzo Church, Stephen Kleene, Emil Post, etc. ~1930s Different formalizations of the notion of an algorithm

More information

Hoare Logic. COMP2600 Formal Methods for Software Engineering. Rajeev Goré

Hoare Logic. COMP2600 Formal Methods for Software Engineering. Rajeev Goré Hoare Logic COMP2600 Formal Methods for Software Engineering Rajeev Goré Australian National University Semester 2, 2016 (Slides courtesy of Ranald Clouston) COMP 2600 Hoare Logic 1 Australian Capital

More information

Stable Harmony. Nils Kurbis

Stable Harmony. Nils Kurbis Stable Harmony Nils Kurbis 1. Gentzen s Thesis and Two Notions of Harmony Gentzen observed that there is a remarkable systematic in the inference patterns for symbols of the calculus of natural deduction.

More information

A NEW PROOF-ASSISTANT THAT REVISITS HOMOTOPY TYPE THEORY THE THEORETICAL FOUNDATIONS OF COQ USING NICOLAS TABAREAU

A NEW PROOF-ASSISTANT THAT REVISITS HOMOTOPY TYPE THEORY THE THEORETICAL FOUNDATIONS OF COQ USING NICOLAS TABAREAU COQHOTT A NEW PROOF-ASSISTANT THAT REVISITS THE THEORETICAL FOUNDATIONS OF COQ USING HOMOTOPY TYPE THEORY NICOLAS TABAREAU The CoqHoTT project Design and implement a brand-new proof assistant by revisiting

More information

Martin-Löf s Type Theory

Martin-Löf s Type Theory Martin-Löf s Type Theory B. Nordström, K. Petersson and J. M. Smith 1 Contents 1 Introduction.............................. 1 1.1 Different formulations of type theory............. 3 1.2 Implementations........................

More information

Fundamentals of Operating Systems. Fifth Edition

Fundamentals of Operating Systems. Fifth Edition Fundamentals of Operating Systems Fifth Edition Fundamentals of Operating Systems A.M. Lister University of Queensland R. D. Eager University of Kent at Canterbury Fifth Edition Springer Science+Business

More information

Delivering MPEG-4 Based Audio-Visual Services

Delivering MPEG-4 Based Audio-Visual Services Delivering MPEG-4 Based Audio-Visual Services MULTIMEDIA SYSTEMS AND APPLICATIONS SERIES Recently Published Titles: Consulting Editor Borko Furht Florida Atlantic University DELIVERING MPEG-4 BASED AUDIO-VISUAL

More information

Lecture 2: SML Basics

Lecture 2: SML Basics 15-150 Lecture 2: SML Basics Lecture by Dan Licata January 19, 2012 I d like to start off by talking about someone named Alfred North Whitehead. With someone named Bertrand Russell, Whitehead wrote Principia

More information

Lexicografie computationala Feb., 2012

Lexicografie computationala Feb., 2012 Lexicografie computationala Feb., 2012 Anca Dinu University of Bucharest Introduction When we construct meaning representations systematically, we integrate information from two different sources: 1. The

More information

XI International PhD Workshop OWD 2009, October Fuzzy Sets as Metasets

XI International PhD Workshop OWD 2009, October Fuzzy Sets as Metasets XI International PhD Workshop OWD 2009, 17 20 October 2009 Fuzzy Sets as Metasets Bartłomiej Starosta, Polsko-Japońska WyŜsza Szkoła Technik Komputerowych (24.01.2008, prof. Witold Kosiński, Polsko-Japońska

More information

1.3. Conditional expressions To express case distinctions like

1.3. Conditional expressions To express case distinctions like Introduction Much of the theory developed in the underlying course Logic II can be implemented in a proof assistant. In the present setting this is interesting, since we can then machine extract from a

More information

Revisiting the notion of function

Revisiting the notion of function The Journal of Logic and Algebraic Programming 54 (2003) 65 107 THE JOURNAL OF LOGIC AND ALGEBRAIC PROGRAMMING www.elsevier.com/locate/jlap Revisiting the notion of function Fairouz Kamareddine a,, Twan

More information

CIS 500: SOFTWARE FOUNDATIONS

CIS 500: SOFTWARE FOUNDATIONS Lecture 1 CIS 500: SOFTWARE FOUNDATIONS Steve Fall, 2013 Administrivia Instructor: Steve Office hours: Wednesday 3:30-5:00 & by appointment Levine 511 TAs: Dmitri Garbuzov Office hours: TBA Jennifer Paykin

More information

Formal Systems and their Applications

Formal Systems and their Applications Formal Systems and their Applications Dave Clarke (Dave.Clarke@cs.kuleuven.be) Acknowledgment: these slides are based in part on slides from Benjamin Pierce and Frank Piessens 1 Course Overview Introduction

More information

Introductory logic and sets for Computer scientists

Introductory logic and sets for Computer scientists Introductory logic and sets for Computer scientists Nimal Nissanke University of Reading ADDISON WESLEY LONGMAN Harlow, England II Reading, Massachusetts Menlo Park, California New York Don Mills, Ontario

More information

Meta-programming with Names and Necessity p.1

Meta-programming with Names and Necessity p.1 Meta-programming with Names and Necessity Aleksandar Nanevski Carnegie Mellon University ICFP, Pittsburgh, 05 October 2002 Meta-programming with Names and Necessity p.1 Meta-programming Manipulation of

More information

HANDBOOK OF LOGIC IN ARTIFICIAL INTELLIGENCE AND LOGIC PROGRAMMING

HANDBOOK OF LOGIC IN ARTIFICIAL INTELLIGENCE AND LOGIC PROGRAMMING HANDBOOK OF LOGIC IN ARTIFICIAL INTELLIGENCE AND LOGIC PROGRAMMING Volume 5 Logic Programming Edited by DOV M. GABBAY and C. J. HOGGER Imperial College of Science, Technology and Medicine London and J.

More information

Summary of Contents LIST OF FIGURES LIST OF TABLES

Summary of Contents LIST OF FIGURES LIST OF TABLES Summary of Contents LIST OF FIGURES LIST OF TABLES PREFACE xvii xix xxi PART 1 BACKGROUND Chapter 1. Introduction 3 Chapter 2. Standards-Makers 21 Chapter 3. Principles of the S2ESC Collection 45 Chapter

More information

Extracting the Range of cps from Affine Typing

Extracting the Range of cps from Affine Typing Extracting the Range of cps from Affine Typing Extended Abstract Josh Berdine, Peter W. O Hearn Queen Mary, University of London {berdine, ohearn}@dcs.qmul.ac.uk Hayo Thielecke The University of Birmingham

More information

(Refer Slide Time: 4:00)

(Refer Slide Time: 4:00) Principles of Programming Languages Dr. S. Arun Kumar Department of Computer Science & Engineering Indian Institute of Technology, Delhi Lecture - 38 Meanings Let us look at abstracts namely functional

More information

The Foundations of Geometry

The Foundations of Geometry The Foundations of Geometry Gerard A. Venema Department of Mathematics and Statistics Calvin College SUB Gottingen 7 219 059 926 2006 A 7409 PEARSON Prentice Hall Upper Saddle River, New Jersey 07458 Contents

More information

4/19/2018. Chapter 11 :: Functional Languages

4/19/2018. Chapter 11 :: Functional Languages Chapter 11 :: Functional Languages Programming Language Pragmatics Michael L. Scott Historical Origins The imperative and functional models grew out of work undertaken by Alan Turing, Alonzo Church, Stephen

More information

SymbolicC++: An Introduction to Computer Algebra using Object-Oriented Programming

SymbolicC++: An Introduction to Computer Algebra using Object-Oriented Programming SymbolicC++: An Introduction to Computer Algebra using Object-Oriented Programming Springer-Verlag London Ltd. Tan Kiat Shi, Willi-Hans Steeb and Yorick Hardy SymbolicC ++: An Introdurtion to Computer

More information

The Verilog Hardware Description Language, Fifth Edition

The Verilog Hardware Description Language, Fifth Edition The Verilog Hardware Description Language, Fifth Edition The Verilog Hardware Description Language, Fifth Edition Donald E. Thomas ECE Department Carnegie Mellon University Pittsburgh, PA Philip R. Moorby

More information

Programming in Haskell

Programming in Haskell Programming in Haskell Haskell is one of the leading languages for teaching functional programming, enabling students to write simpler and cleaner code, and to learn how to structure and reason about programs.

More information

A Structured Programming Approach to Data

A Structured Programming Approach to Data A Structured Programming Approach to Data Derek Coleman A Structured Programming Approach to Data Springer-Verlag New York Derek Coleman Department of Computation Institute of Science Technology University

More information

A BRIEF INTRODUCTION TO TYPE THEORY AND THE UNIVALENCE AXIOM

A BRIEF INTRODUCTION TO TYPE THEORY AND THE UNIVALENCE AXIOM A BRIEF INTRODUCTION TO TYPE THEORY AND THE UNIVALENCE AXIOM JACKSON MACOR Abstract. In this paper, we will introduce the basic concepts and notation of modern type theory in an informal manner. We will

More information

Revisiting Kalmar completeness metaproof

Revisiting Kalmar completeness metaproof Revisiting Kalmar completeness metaproof Angélica Olvera Badillo 1 Universidad de las Américas, Sta. Catarina Mártir, Cholula, Puebla, 72820 México angelica.olverabo@udlap.mx Abstract In this paper, I

More information

CIS 500 Software Foundations Fall December 6

CIS 500 Software Foundations Fall December 6 CIS 500 Software Foundations Fall 2006 December 6 Administrivia Administrivia No recitations this week Extra office hours will be posted to the class mailing list Exam: Wednesday, Dec 20, 9 11 Location:

More information

Administrivia. Existential Types. CIS 500 Software Foundations Fall December 6. Administrivia. Motivation. Motivation

Administrivia. Existential Types. CIS 500 Software Foundations Fall December 6. Administrivia. Motivation. Motivation CIS 500 Software Foundations Fall 2006 Administrivia December 6 Administrivia No recitations this week Extra office hours will be posted to the class mailing list Exam: Wednesday, Dec 20, 9 11 Location:

More information

Formal Semantics in Modern Type Theories: Is It Model-Theoretic, Proof-Theoretic or Both?

Formal Semantics in Modern Type Theories: Is It Model-Theoretic, Proof-Theoretic or Both? Formal Semantics in Modern Type Theories: Is It Model-Theoretic, Proof-Theoretic or Both? Zhaohui Luo Dept of Computer Science Royal Holloway, Univ of London Model-theoretic (traditional): NL set-theoretical

More information

The Isabelle/HOL type-class hierarchy

The Isabelle/HOL type-class hierarchy = Isabelle λ β Isar α The Isabelle/HOL type-class hierarchy Florian Haftmann 8 October 2017 Abstract This primer introduces corner stones of the Isabelle/HOL type-class hierarchy and gives some insights

More information

Beluga: A Framework for Programming and Reasoning with Deductive Systems (System Description)

Beluga: A Framework for Programming and Reasoning with Deductive Systems (System Description) Beluga: A Framework for Programming and Reasoning with Deductive Systems (System Description) Brigitte Pientka and Joshua Dunfield McGill University, Montréal, Canada {bpientka,joshua}@cs.mcgill.ca Abstract.

More information

6.001 Notes: Section 6.1

6.001 Notes: Section 6.1 6.001 Notes: Section 6.1 Slide 6.1.1 When we first starting talking about Scheme expressions, you may recall we said that (almost) every Scheme expression had three components, a syntax (legal ways of

More information

Publication Data. Reading Options. Licence and permissions ISBN Mark Jago, 2007

Publication Data. Reading Options. Licence and permissions ISBN Mark Jago, 2007 Running Head The World is all that is the case http//www.humanities-ebooks.co.uk Philosophy Insights General Editor: Mark ddis Formal Logic Mark Jago What makes an argument valid? For advice on use of

More information

An Introduction to Programming and Proving in Agda (incomplete draft)

An Introduction to Programming and Proving in Agda (incomplete draft) An Introduction to Programming and Proving in Agda (incomplete draft) Peter Dybjer January 29, 2018 1 A first Agda module Your first Agda-file is called BoolModule.agda. Its contents are module BoolModule

More information