Inductive Types for Free
|
|
- Lenard Cross
- 5 years ago
- Views:
Transcription
1 Inductive Types for Free Representing Nested Inductive Types using W-types Michael Abbott (U. Leicester) Thorsten Altenkirch (U. Nottingham) Neil Ghani (U. Leicester) Inductive Types for Free p.1/22
2 Ideology Inductive Types for Free p.2/22
3 Ideology David Turner: Elementary Strong Functional Programming Inductive Types for Free p.2/22
4 Ideology David Turner: Elementary Strong Functional Programming Martin-Löf Type Theory Inductive Types for Free p.2/22
5 Ideology David Turner: Elementary Strong Functional Programming Martin-Löf Type Theory Types = sets, programs = total functions. Inductive Types for Free p.2/22
6 Ideology David Turner: Elementary Strong Functional Programming Martin-Löf Type Theory Types = sets, programs = total functions. Dependent types to avoid accidental partiality (e.g. hd). Inductive Types for Free p.2/22
7 Ideology David Turner: Elementary Strong Functional Programming Martin-Löf Type Theory Types = sets, programs = total functions. Dependent types to avoid accidental partiality (e.g. hd). E.g.: Conor McBride s Epigram system. Inductive Types for Free p.2/22
8 Plan of the talk Inductive and coinductive types. Container types for dummies. Properties of container types. W-types are sufficent for inductive types. Further work and applications Related work Inductive Types for Free p.3/22
9 Inductive and coinductive types Widespread in functional programming (e.g. Haskell) Lam Int Lam Lam Lam Inductive Types for Free p.4/22
10 Inductive and coinductive types Widespread in functional programming (e.g. Haskell) Lam Int Lam Lam Lam Categorically: Initial algebra of a functor Lam Inductive Types for Free p.4/22
11 vs. In a total setting (terminal coalgebras): Inductive Types for Free p.5/22
12 vs. In a total setting (terminal coalgebras): finite lists Inductive Types for Free p.5/22
13 vs. In a total setting (terminal coalgebras): finite lists potentially infinite lists Inductive Types for Free p.5/22
14 vs. In a total setting (terminal coalgebras): finite lists potentially infinite lists infinite lists Inductive Types for Free p.5/22
15 vs. In a total setting (terminal coalgebras): finite lists potentially infinite lists infinite lists Inductive Types for Free p.5/22
16 vs. In a total setting (terminal coalgebras): finite lists potentially infinite lists infinite lists Inductive Types for Free p.5/22
17 vs. In a total setting (terminal coalgebras): finite lists potentially infinite lists infinite lists can be nested Inductive Types for Free p.5/22
18 vs. In a total setting (terminal coalgebras): finite lists potentially infinite lists infinite lists can be nested Inductive Types for Free p.5/22
19 vs. In a total setting (terminal coalgebras): finite lists potentially infinite lists infinite lists can be nested Inductive Types for Free p.5/22
20 vs. In a total setting (terminal coalgebras): finite lists potentially infinite lists infinite lists can be nested Inductive Types for Free p.5/22
21 Axiomatically? How do we say? All inductive or coinductive datatypes Inductive Types for Free p.6/22
22 Axiomatically? How do we say? All inductive or coinductive datatypes Not every parametrized type has an initial algebra (or terminal coalgebra) in set theory, e.g. Inductive Types for Free p.6/22
23 Axiomatically? How do we say? All inductive or coinductive datatypes Not every parametrized type has an initial algebra (or terminal coalgebra) in set theory, e.g. Inductive Types for Free p.6/22
24 Axiomatically? How do we say? All inductive or coinductive datatypes Not every parametrized type has an initial algebra (or terminal coalgebra) in set theory, e.g. Inductive Types for Free p.6/22
25 Axiomatically? How do we say? All inductive or coinductive datatypes Not every parametrized type has an initial algebra (or terminal coalgebra) in set theory, e.g. Strictly positive types, e.g. Inductive Types for Free p.6/22
26 Axiomatically? How do we say? All inductive or coinductive datatypes Not every parametrized type has an initial algebra (or terminal coalgebra) in set theory, e.g. Strictly positive types, e.g. ordinal notations Inductive Types for Free p.6/22
27 Axiomatically? How do we say? All inductive or coinductive datatypes Not every parametrized type has an initial algebra (or terminal coalgebra) in set theory, e.g. Strictly positive types, e.g. ordinal notations How do we say? Strictly positive Inductive Types for Free p.6/22
28 Containers and -types Container types are a syntax-free representation of strictly positive types. Inductive Types for Free p.7/22
29 Containers and -types Container types are a syntax-free representation of strictly positive types. In an extensive LCCC: W-types ( ) are sufficent to show that container types are closed under Inductive Types for Free p.7/22
30 Containers and -types Container types are a syntax-free representation of strictly positive types. In an extensive LCCC: W-types ( ) are sufficent to show that container types are closed under (here) Inductive Types for Free p.7/22
31 Containers and -types Container types are a syntax-free representation of strictly positive types. In an extensive LCCC: W-types ( ) are sufficent to show that container types are closed under (here) (journal paper, submitted) Inductive Types for Free p.7/22
32 Containers and -types Container types are a syntax-free representation of strictly positive types. In an extensive LCCC: W-types ( ) are sufficent to show that container types are closed under (here) (journal paper, submitted) Application: Generic Programming e.g. see our work on derivatives of datatypes Inductive Types for Free p.7/22
33 Containers and -types Container types are a syntax-free representation of strictly positive types. In an extensive LCCC: W-types ( ) are sufficent to show that container types are closed under (here) (journal paper, submitted) Application: Generic Programming e.g. see our work on derivatives of datatypes Application: Small trusted cores e.g. for Epigram Inductive Types for Free p.7/22
34 Containers for dummies Inductive Types for Free p.8/22
35 Containers for dummies A container type is given by Inductive Types for Free p.8/22
36 Containers for dummies A container type is given by A collection of shapes {, e.g.,, } Inductive Types for Free p.8/22
37 Containers for dummies A container type is given by A collection of shapes {, e.g.,, An assignment of positions to shapes }, e.g. Inductive Types for Free p.8/22
38 Containers for dummies... We can use a container by Inductive Types for Free p.9/22
39 Containers for dummies... We can use a container by Choosing a shape, e.g. Inductive Types for Free p.9/22
40 Containers for dummies... We can use a container by Choosing a shape, e.g. Filling the positions with payload (here natural numbers), e.g Inductive Types for Free p.9/22
41 Container for scientists Inductive Types for Free p.10/22
42 Container for scientists A container type a set of shapes is given by a family of sets of position, e.g. for any. is a set Inductive Types for Free p.10/22
43 Container for scientists A container type a set of shapes is given by a family of sets of position, e.g. for any. The extension endofunctor is a set of a container is the Inductive Types for Free p.10/22
44 Container for scientists A container type a set of shapes is given by a family of sets of position, e.g. for any. The extension endofunctor is a set of a container is the Straightforward extension to. -ary containers Inductive Types for Free p.10/22
45 Example: Lists Inductive Types for Free p.11/22
46 Inductive Types for Free p.11/22 Example: Lists
47 Inductive Types for Free p.11/22 Example: Lists
48 Inductive Types for Free p.11/22 Example: Lists
49 Morphisms of containers Given containers and a morphism is given by Inductive Types for Free p.12/22
50 Morphisms of containers Given containers and a morphism is given by Inductive Types for Free p.12/22
51 Morphisms of containers Given containers and a morphism is given by its extension is the natural transformation Inductive Types for Free p.12/22
52 Representation theorem Theorem (AAG,FOSSACS 03) The extension functor is full and faithful. Inductive Types for Free p.13/22
53 Representation theorem Theorem (AAG,FOSSACS 03) The extension functor is full and faithful. Consequence: All polymorphic functions (i.e. natural transformations) are given by Inductive Types for Free p.13/22
54 Representation theorem Theorem (AAG,FOSSACS 03) The extension functor is full and faithful. Consequence: All polymorphic functions (i.e. natural transformations) are given by A length transformer, Inductive Types for Free p.13/22
55 Representation theorem Theorem (AAG,FOSSACS 03) The extension functor is full and faithful. Consequence: All polymorphic functions (i.e. natural transformations) are given by A length transformer A where-did-you-come-from function., Inductive Types for Free p.13/22
56 Closure properties Containers are closed under (*) Constant functors, Coproducts ( ) Products ( Constant exponentation Composition of functors ) initial algebras ( ) [ICALP 04] terminal coalgebras ( ) [Journal paper] Inductive Types for Free p.14/22
57 Closure properties Containers are closed under (*) Constant functors, Coproducts ( ) Products ( Constant exponentation Composition of functors ) initial algebras ( ) [ICALP 04] terminal coalgebras ( ) [Journal paper] (*) In any Martin-Löf category = LCCC (locally cartesian closed category) + W-types. Inductive Types for Free p.14/22
58 Coproducts of containers Given containers Inductive Types for Free p.15/22
59 Coproducts of containers Given containers Inductive Types for Free p.15/22
60 Inductive Types for Free p.15/22 Coproducts of containers Given containers
61 Products of containers Given containers Inductive Types for Free p.16/22
62 Products of containers Given containers Inductive Types for Free p.16/22
63 Inductive Types for Free p.16/22 Products of containers Given containers
64 Initial algebras ( ) Given a 2-ary container Inductive Types for Free p.17/22
65 Initial algebras ( ) Given a 2-ary container Inductive Types for Free p.17/22
66 Initial algebras ( ) Given a 2-ary container Inductive Types for Free p.17/22
67 Initial algebras ( ) Given a 2-ary container Inductive Types for Free p.17/22
68 Initial algebras ( ) Given a 2-ary container Inductive Types for Free p.17/22
69 Reply to referee comment... Now, the above is a strictly positive definition so should have a least as well as a greatest solution which are not in general isomorphic. Thus the corollary mentioned in the proof of 4.1 would be wrong and as a result the entire argument collapses. I thus fear that the paper must be rejected;... Inductive Types for Free p.18/22
70 Reply to referee comment... Now, the above is a strictly positive definition so should have a least as well as a greatest solution which are not in general isomorphic. Thus the corollary mentioned in the proof of 4.1 would be wrong and as a result the entire argument collapses. I thus fear that the paper must be rejected;... Reply: Since there are no infinite paths in a finite tree, there is only one solution to this isomorphism, the initial one. This is reflected in the proof of proposition 4.1! Inductive Types for Free p.18/22
71 Constructing the iso Inductive Types for Free p.19/22
72 Inductive Types for Free p.19/22 Constructing the iso
73 Inductive Types for Free p.19/22 Constructing the iso
74 Terminal coalgebras [Journal submiss Inductive Types for Free p.20/22
75 Terminal coalgebras [Journal submiss The same construction works for the -case. Inductive Types for Free p.20/22
76 Terminal coalgebras [Journal submiss The same construction works for the Now we have to show that the solution is initial! -case. Inductive Types for Free p.20/22
77 Terminal coalgebras [Journal submiss The same construction works for the Now we have to show that the solution is initial! We need -types, the dual of -types. -case. Inductive Types for Free p.20/22
78 Terminal coalgebras [Journal submiss The same construction works for the Now we have to show that the solution is initial! We need -types, the dual of -types. However, -types. -case. -types can be constructed from Inductive Types for Free p.20/22
79 Terminal coalgebras [Journal submiss The same construction works for the Now we have to show that the solution is initial! We need -types, the dual of -types. However, -types. -case. -types can be constructed from See: Containers - Constructing Strictly Positive Types on my publication page. Inductive Types for Free p.20/22
80 Further work Quotient containers to model types like bags. First steps, see our MPC paper. Constructing Polymorphic Programs with Quotient Types Dependent containers Work in progress. Inductive Types for Free p.21/22
81 Related work Joyal 86 Foncteurs Analytiques et Espèces de Structures Jay 95 A semantics for shape Dybjer 97 Representing inductively defined sets by wellorderings in Martin-Löf s type theory Hoogendijk and de Moor 00 Container Types Categorically Moerdijk and Palmgren 00 Wellfounded Trees in Categories Hasegawa 02 Two applications of analytic functors Gambino and Hyland 03 Wellfounded Trees and Dependent Polynomial Functors Inductive Types for Free p.22/22
Constructing Strictly Positive Families
Constructing Strictly Positive Families Peter Morris Thorsten Altenkirch Neil Ghani School of Computer Science and Information Technology University of Nottingham, England, Email:{pwm,txa,nxg}@csnottacuk
More informationDependent Polymorphism. Makoto Hamana
1 Dependent Polymorphism Makoto Hamana Department of Computer Science, Gunma University, Japan http://www.cs.gunma-u.ac.jp/ hamana/ This Talk 2 [I] A semantics for dependently-typed programming [II] A
More informationCategorical models of type theory
1 / 59 Categorical models of type theory Michael Shulman February 28, 2012 2 / 59 Outline 1 Type theory and category theory 2 Categorical type constructors 3 Dependent types and display maps 4 Fibrations
More informationUniverses. Universes for Data. Peter Morris. University of Nottingham. November 12, 2009
for Data Peter Morris University of Nottingham November 12, 2009 Introduction Outline 1 Introduction What is DTP? Data Types in DTP Schemas for Inductive Families 2 of Data Inductive Types Inductive Families
More informationFrom natural numbers to the lambda calculus
From natural numbers to the lambda calculus Benedikt Ahrens joint work with Ralph Matthes and Anders Mörtberg Outline 1 About UniMath 2 Signatures and associated syntax Outline 1 About UniMath 2 Signatures
More informationWhen is an abstract data type a functor?
When is an abstract data type a functor? Pablo Nogueira School of Computer Science and IT University of Nottingham, UK Abstract A parametric algebraic data type in a functional program is a functor if
More informationACLT: Algebra, Categories, Logic in Topology - Grothendieck's generalized topological spaces (toposes)
ACLT: Algebra, Categories, Logic in Topology - Grothendieck's generalized topological spaces (toposes) Steve Vickers CS Theory Group Birmingham 1. Sheaves "Sheaf = continuous set-valued map" TACL Tutorial
More informationRepresenting Cyclic Structures as Nested Datatypes. Makoto Hamana
Representing Cyclic Structures as Nested Datatypes Makoto Hamana Department of Computer Science, Gunma University, Japan Joint work with Neil Ghani Tarmo Uustalu Varmo Vene U. Nottingham U. Tallinn U.
More informationNegations in Refinement Type Systems
Negations in Refinement Type Systems T. Tsukada (U. Tokyo) 14th March 2016 Shonan, JAPAN This Talk About refinement intersection type systems that refute judgements of other type systems. Background Refinement
More informationTopos Theory. Lectures 3-4: Categorical preliminaries II. Olivia Caramello. Topos Theory. Olivia Caramello. Basic categorical constructions
Lectures 3-4: Categorical preliminaries II 2 / 17 Functor categories Definition Let C and D be two categories. The functor category [C,D] is the category having as objects the functors C D and as arrows
More informationModular dependent induction in Coq, Mendler-style. Paolo Torrini
Modular dependent induction in Coq, Mendler-style Paolo Torrini Dept. of Computer Science, KU Leuven ITP 16, Nancy, 22.08.2016 * The Author left the Institution in April 2016 motivation: cost-effective
More informationArithmetic universes as generalized point-free spaces
Arithmetic universes as generalized point-free spaces Steve Vickers CS Theory Group Birmingham * Grothendieck: "A topos is a generalized topological space" *... it's represented by its category of sheaves
More informationCoalgebraic Semantics in Logic Programming
Coalgebraic Semantics in Logic Programming Katya Komendantskaya School of Computing, University of Dundee, UK CSL 11, 13 September 2011 Katya (Dundee) Coalgebraic Semantics in Logic Programming TYPES 11
More informationBag Equivalence via a Proof-Relevant Membership Relation
Bag Equivalence via a Proof-Relevant Membership Relation Nils Anders Danielsson Chalmers University of Technology and University of Gothenburg Abstract. Two lists are bag equivalent if they are permutations
More informationFrom signatures to monads in UniMath
From signatures to monads in UniMath Benedikt Ahrens, Ralph Matthes, Anders Mörtberg To cite this version: Benedikt Ahrens, Ralph Matthes, Anders Mörtberg. From signatures to monads in UniMath. 2016.
More informationThe Algebra of Programming in Haskell
The Algebra of Programming in Haskell Bruno Oliveira The Algebra of Programming in Haskell p.1/21 Datatype Generic Programming - Motivation/Goals The project is to develop a novel mechanism for parameterizing
More informationABriefOverviewofAgda 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 informationImplementing the Opetopes:
Implementing the Opetopes: Programming with Higher Dimensional Trees Eric Finster May 22, 2018 Abstract The opetopes, introduced by Baez and Dolan in [BD97] as a part of their proposed definition of higher
More informationMathematics for Computer Scientists 2 (G52MC2)
Mathematics for Computer Scientists 2 (G52MC2) L07 : Operations on sets School of Computer Science University of Nottingham October 29, 2009 Enumerations We construct finite sets by enumerating a list
More informationArrays and Memory Allocation
Arrays II O. Institute of Cybernetics at TUT Theory Days, Koke, 3-5 Feb. 2006 Outline 1 Arrays: a Memory Model for Computations with Side Effects Previous Works 2 Potentially Infinite Arrays are comonadic
More informationDiscrete Mathematics Lecture 4. Harper Langston New York University
Discrete Mathematics Lecture 4 Harper Langston New York University Sequences Sequence is a set of (usually infinite number of) ordered elements: a 1, a 2,, a n, Each individual element a k is called a
More informationTheory of Computer Science. D2.1 Introduction. Theory of Computer Science. D2.2 LOOP Programs. D2.3 Syntactic Sugar. D2.
Theory of Computer Science April 20, 2016 D2. LOOP- and WHILE-Computability Theory of Computer Science D2. LOOP- and WHILE-Computability Malte Helmert University of Basel April 20, 2016 D2.1 Introduction
More informationTowards the syntax and semantics of higher dimensional type theory
Towards the syntax and semantics of higher dimensional type theory Thorsten Altenkirch Nicolai Kraus Oxford, HoTT/UF 18, 8 July [picture by Andrej Bauer, (CC BY-SA 2.5 SI)] The goal: type theory in type
More informationInitial Algebra Semantics for Cyclic Sharing Structures. Makoto Hamana
Initial Algebra Semantics for Cyclic Sharing Structures Makoto Hamana Department of Computer Science, Gunma University, Japan July, 2009, TLCA 09 http://www.cs.gunma-u.ac.jp/ hamana/ This Work How to inductively
More informationProgramming with Universes, Generically
Programming with Universes, Generically Andres Löh Well-Typed LLP 24 January 2012 An introduction to Agda Agda Functional programming language Static types Dependent types Pure (explicit effects) Total
More informationContents Introduction and Technical Preliminaries Composition of Schema Mappings: Syntax and Semantics
1 Introduction and Technical Preliminaries... 1 1.1 Historical Background... 1 1.2 Introduction to Lattices, Algebras and Intuitionistic Logics... 5 1.3 Introduction to First-Order Logic (FOL)... 12 1.3.1
More informationAn introduction to Homotopy Type Theory
An introduction to Homotopy Type Theory Nicola Gambino University of Palermo Leicester, March 15th, 2013 Outline of the talk Part I: Type theory Part II: Homotopy type theory Part III: Voevodsky s Univalent
More informationACLT: Algebra, Categories, Logic in Topology - Grothendieck's generalized topological spaces (toposes)
ACLT: Algebra, Categories, Logic in Topology - Grothendieck's generalized topological spaces (toposes) Steve Vickers CS Theory Group Birmingham 4. Toposes and geometric reasoning How to "do generalized
More informationIntroductory 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 informationGame Semantics for Dependent Types
Bath, 20 ctober, 2015 verview Game theoretic model of dependent type theory (DTT): refines model in domains and (total) continuous functions; call-by-name evaluation; faithful model of (total) DTT with
More informationHaskell Programming with Nested Types: A Principled Approach
Haskell Programming with Nested Types: A Principled Approach Patricia Johann and Neil Ghani ({patricia,ng}@cis.strath.ac.uk) University of Strathclyde, Glasgow, G1 1XH, Scotland Abstract. Initial algebra
More informationOverview. CS389L: Automated Logical Reasoning. Lecture 6: First Order Logic Syntax and Semantics. Constants in First-Order Logic.
Overview CS389L: Automated Logical Reasoning Lecture 6: First Order Logic Syntax and Semantics Işıl Dillig So far: Automated reasoning in propositional logic. Propositional logic is simple and easy to
More informationCubical sets as a classifying topos
Chalmers CMU Now: Aarhus University Homotopy Type Theory The homotopical interpretation of type theory: types as spaces upto homotopy dependent types as fibrations (continuous families of spaces) identity
More informationELEMENTARY NUMBER THEORY AND METHODS OF PROOF
CHAPTER 4 ELEMENTARY NUMBER THEORY AND METHODS OF PROOF Copyright Cengage Learning. All rights reserved. SECTION 4.6 Indirect Argument: Contradiction and Contraposition Copyright Cengage Learning. All
More information(Effectul) Game Semantics for Dependent Types
Eindhoven, 3 April 2016 Overview Game theoretic models of dependent type theory (DTT): get faithful model of (total) DTT with Σ-, Π-, intensional Id-types and finite inductive type families; fully complete
More informationAll About Comonads (Part 1) An incomprehensible guide to the theory and practice of comonadic programming in Haskell
All About Comonads (Part 1) An incomprehensible guide to the theory and practice of comonadic programming in Haskell Edward Kmett http://comonad.com/ Categories Categories have objects and arrows Every
More information1 Elementary number theory
Math 215 - Introduction to Advanced Mathematics Spring 2019 1 Elementary number theory We assume the existence of the natural numbers and the integers N = {1, 2, 3,...} Z = {..., 3, 2, 1, 0, 1, 2, 3,...},
More informationPartiality, State and Dependent Types
Partiality, State and Dependent Types Kasper Svendsen 1, Lars Birkedal 1, and Aleksandar Nanevski 2 1 IT University of Copenhagen {kasv,birkedal}@itu.dk 2 IMDEA Software aleks.nanevski@imdea.org Abstract.
More informationCONTENTS Equivalence Classes Partition Intersection of Equivalence Relations Example Example Isomorphis
Contents Chapter 1. Relations 8 1. Relations and Their Properties 8 1.1. Definition of a Relation 8 1.2. Directed Graphs 9 1.3. Representing Relations with Matrices 10 1.4. Example 1.4.1 10 1.5. Inverse
More informationMetrics on diagrams and persistent homology
Background Categorical ph Relative ph More structure Department of Mathematics Cleveland State University p.bubenik@csuohio.edu http://academic.csuohio.edu/bubenik_p/ July 18, 2013 joint work with Vin
More informationIntroduction to Co-Induction in Coq
August 2005 Motivation Reason about infinite data-structures, Reason about lazy computation strategies, Reason about infinite processes, abstracting away from dates. Finite state automata, Temporal logic,
More informationUnivalent Foundations Project (a modified version of an NSF grant application)
Univalent Foundations Project (a modified version of an NSF grant application) Vladimir Voevodsky October 1, 2010 1 General outline of the proposed project While working on the completion of the proof
More informationCOALGEBRAIC MODELS FOR COMBINATORIAL MODEL CATEGORIES
COALGEBRAIC MODELS FOR COMBINATORIAL MODEL CATEGORIES MICHAEL CHING AND EMILY RIEHL Abstract. We show that the category of algebraically cofibrant objects in a combinatorial and simplicial model category
More informationFully Generic Programming Over Closed Universes of Inductive- Recursive Types
Portland State University PDXScholar Dissertations and Theses Dissertations and Theses Spring 6-6-2017 Fully Generic Programming Over Closed Universes of Inductive- Recursive Types Larry Diehl Portland
More informationLecture 18: Groupoids and spaces
Lecture 18: Groupoids and spaces The simplest algebraic invariant of a topological space T is the set π 0 T of path components. The next simplest invariant, which encodes more of the topology, is the fundamental
More informationarxiv: v1 [math.ag] 26 Mar 2012
Cartesian modules in small categories arxiv:1203.5724v1 [math.ag] 26 Mar 2012 Edgar Enochs enochs@ms.uky.edu Department of Mathematics University of Kentucky Lexington, KY 40506-0027 U.S.A Sergio Estrada
More informationInductive datatypes in HOL. lessons learned in Formal-Logic Engineering
Inductive datatypes in HOL lessons learned in Formal-Logic Engineering Stefan Berghofer and Markus Wenzel Institut für Informatik TU München = Isabelle λ β HOL α 1 Introduction Applications of inductive
More informationStructural polymorphism in Generic Haskell
Structural polymorphism in Generic Haskell Andres Löh andres@cs.uu.nl 5 February 2005 Overview About Haskell Genericity and other types of polymorphism Examples of generic functions Generic Haskell Overview
More informationWellfounded Recursion with Copatterns
Wellfounded Recursion with Copatterns Andreas Abel Department of Computer Science and Engineering Chalmers and Gothenburg University, Sweden 25th Nordic Workshop on Programming Theory Tallinn, Estonia
More informationBringing Functions into the Fold Tom Schrijvers. Leuven Haskell User Group
Bringing Functions into the Fold Tom Schrijvers Leuven Haskell User Group Data Recursion Genericity Schemes Expression Problem Rank-N Polymorphism Monads GADTs DSLs Type Type Families Classes Effect Free
More informationMonads and More: Part 3
Monads and More: Part 3 Tarmo Uustalu, Tallinn Nottingham, 14 18 May 2007 Arrows (Hughes) Arrows are a generalization of strong monads on symmetric monoidal categories (in their Kleisli triple form). An
More informationCS611 Lecture 33 Equirecursive types & Recursive domain equations November 19, 2001
CS611 Lecture 33 Equirecursive types & Recursive domain equations November 19, 001 Scribe: Hongzhou Liu and Junhwan Kim Lecturer: Andrew Myers 1 Semantics of recursive types, part There are two basic approaches
More informationExplicit Substitutions and Higher-Order Syntax
Explicit Substitutions and Higher-Order Syntax Neil Ghani School of Computer Science and IT, University of Nottingham, Jubilee Campus, Wollaton Rd, Nottingham NG8 1BB, UK, nxg@cs.nott.ac.uk Tarmo Uustalu
More informationSpecification, Verification, and Interactive Proof
Specification, Verification, and Interactive Proof SRI International May 23, 2016 PVS PVS - Prototype Verification System PVS is a verification system combining language expressiveness with automated tools.
More informationA Functorial Query Language. Ryan Wisnesky Harvard University DCP 2014
A Functorial Query Language Ryan Wisnesky ryan@cs.harvard.edu Harvard University DCP 2014 1 History In the early 1990s, Rosebrugh et al noticed that finitely presented categories could be thought of as
More informationRecursive Types. Chapter 7
Chapter 7 Recursive Types By adding special rules for natural numbers to λ, we obtained system T. We may now want to have separate rules for other data structures: lists, binary trees, streams. We can
More informationVerified Characteristic Formulae for CakeML. Armaël Guéneau, Magnus O. Myreen, Ramana Kumar, Michael Norrish April 27, 2017
Verified Characteristic Formulae for CakeML Armaël Guéneau, Magnus O. Myreen, Ramana Kumar, Michael Norrish April 27, 2017 Goal: write programs in a high-level (ML-style) language, prove them correct interactively,
More informationDefinition: A context-free grammar (CFG) is a 4- tuple. variables = nonterminals, terminals, rules = productions,,
CMPSCI 601: Recall From Last Time Lecture 5 Definition: A context-free grammar (CFG) is a 4- tuple, variables = nonterminals, terminals, rules = productions,,, are all finite. 1 ( ) $ Pumping Lemma for
More informationSubstitution in Structural Operational Semantics and value-passing process calculi
Substitution in Structural Operational Semantics and value-passing process calculi Sam Staton Computer Laboratory University of Cambridge Abstract Consider a process calculus that allows agents to communicate
More informationAn introduction to Category Theory for Software Engineers*
An introduction to Category Theory for Software Engineers* Dr Steve Easterbrook Associate Professor, Dept of Computer Science, University of Toronto sme@cs.toronto.edu *slides available at http://www.cs.toronto.edu/~sme/presentations/cat101.pdf
More informationA Database of Categories
A Database of Categories Michael Fleming Department of Computer Science University of Waterloo Waterloo, Ont, Canada Ryan Gunther Department of Computer Science University of Waterloo Waterloo, Ont, Canada
More informationProbabilistic systems a place where categories meet probability
Probabilistic systems a place where categories meet probability Ana Sokolova SOS group, Radboud University Nijmegen University Dortmund, CS Kolloquium, 12.6.6 p.1/32 Outline Introduction - probabilistic
More informationCategory Theory. Andrew Pitts. Module L108, Part III and MPhil. ACS 2019 Computer Science Tripos University of Cambridge L0 1
Category Theory Andrew Pitts Module L108, Part III and MPhil. ACS 2019 Computer Science Tripos University of Cambridge L0 1 Course web page Go to http://www.cl.cam.ac.uk/teaching/1819/l108 for these slides
More informationInterleaving data and effects
Under consideration for publication in J. Functional Programming 1 Interleaving data and effects ROBERT ATKEY University of Strathclyde PATRICIA JOHANN Appalachian State University (e-mail: robert.atkey@strath.ac.uk,
More informationPost and Jablonsky Algebras of Compositions (Superpositions)
Pure and Applied Mathematics Journal 2018 (6): 95-100 http://www.sciencepublishinggroup.com/j/pamj doi: 10.11648/j.pamj.2018006.13 SSN: 2326-990 (Print) SSN: 2326-9812 (Online) Post and Jablonsky Algebras
More informationProgramming with Dependent Types Interactive programs and Coalgebras
Programming with Dependent Types Interactive programs and Coalgebras Anton Setzer Swansea University, Swansea, UK 14 August 2012 1/ 50 A Brief Introduction into ML Type Theory Interactive Programs in Dependent
More informationThe Essence of Ornaments
Under consideration for publication in J. Functional Programming 1 The Essence of Ornaments Pierre-Evariste Dagand Sorbonne Universités, UPMC Univ Paris 06, CNRS, Inria, LIP6 UMR 7606 (e-mail: pierre-evariste.dagand@lip6.fr)
More informationPoint-Set Topology II
Point-Set Topology II Charles Staats September 14, 2010 1 More on Quotients Universal Property of Quotients. Let X be a topological space with equivalence relation. Suppose that f : X Y is continuous and
More informationAn introduction to simplicial sets
An introduction to simplicial sets 25 Apr 2010 1 Introduction This is an elementary introduction to simplicial sets, which are generalizations of -complexes from algebraic topology. The theory of simplicial
More informationUsing Agda to Explore Path-Oriented Models of Type Theory
1/22 Using Agda to Explore Path-Oriented Models of Type Theory Andrew Pitts joint work with Ian Orton Computer Laboratory Outline 2/22 The mathematical problem find new models of Homotopy Type Theory Why
More informationInteractive Programming in Agda Objects and Graphical User Interfaces
Under consideration for publication in J. Functional Programming 1 Interactive Programming in Agda Objects and Graphical User Interfaces ANDREAS ABEL Department of Computer Science and Engineering, Gothenburg
More informationThomas Jech. Set Theory. The Third Millennium Edition, revised and expanded. 4y Springer
Thomas Jech Set Theory The Third Millennium Edition, revised and expanded 4y Springer Part I. Basic Set Theory 1. Axioms of Set Theory 3 Axioms of Zermelo-Fraenkel. Why Axiomatic Set Theory? Language of
More informationGeneric programming with ornaments and dependent types
Utrecht University Master Thesis Computing Science Generic programming with ornaments and dependent types Yorick Sijsling Supervisors dr. Wouter Swierstra prof. dr. Johan Jeuring June 29, 2016 Abstract
More informationTransporting Functions across Ornaments
Under consideration for publication in J. Functional Programming 1 Transporting Functions across Ornaments PIERRE-ÉVARISTE DAGAND Inria CONOR McBRIDE University of Strathclyde (e-mail: pierre-evariste.dagand@inria.fr,conor@cis.strath.ac.uk)
More informationUnivalent fibrations in type theory and topology
Univalent fibrations in type theory and topology Dan Christensen University of Western Ontario Wayne State University, April 11, 2016 Outline: Background on type theory Equivalence and univalence A characterization
More informationLecture 0: Reivew of some basic material
Lecture 0: Reivew of some basic material September 12, 2018 1 Background material on the homotopy category We begin with the topological category TOP, whose objects are topological spaces and whose morphisms
More informationTalen en Compilers. Jurriaan Hage , period 2. November 13, Department of Information and Computing Sciences Utrecht University
Talen en Compilers 2017-2018, period 2 Jurriaan Hage Department of Information and Computing Sciences Utrecht University November 13, 2017 1. Introduction 1-1 This lecture Introduction Course overview
More informationThe three faces of homotopy type theory. Type theory and category theory. Minicourse plan. Typing judgments. Michael Shulman.
The three faces of homotopy type theory Type theory and category theory Michael Shulman 1 A programming language. 2 A foundation for mathematics based on homotopy theory. 3 A calculus for (, 1)-category
More informationDiscrete Mathematics SECOND EDITION OXFORD UNIVERSITY PRESS. Norman L. Biggs. Professor of Mathematics London School of Economics University of London
Discrete Mathematics SECOND EDITION Norman L. Biggs Professor of Mathematics London School of Economics University of London OXFORD UNIVERSITY PRESS Contents PART I FOUNDATIONS Statements and proofs. 1
More informationTOPOLOGY, DR. BLOCK, FALL 2015, NOTES, PART 3.
TOPOLOGY, DR. BLOCK, FALL 2015, NOTES, PART 3. 301. Definition. Let m be a positive integer, and let X be a set. An m-tuple of elements of X is a function x : {1,..., m} X. We sometimes use x i instead
More informationT. Background material: Topology
MATH41071/MATH61071 Algebraic topology Autumn Semester 2017 2018 T. Background material: Topology For convenience this is an overview of basic topological ideas which will be used in the course. This material
More informationThe design of a programming language for provably correct programs: success and failure
The design of a programming language for provably correct programs: success and failure Don Sannella Laboratory for Foundations of Computer Science School of Informatics, University of Edinburgh http://homepages.inf.ed.ac.uk/dts
More informationContractive Signatures with Recursive Types, Type Parameters, and Abstract Types
Contractive Signatures with Recursive Types, Type Parameters, and Abstract Types Hyeonseung Im 1, Keiko Nakata 2, and Sungwoo Park 3 1 LRI - Université Paris-Sud 11, Orsay, France 2 Institute of Cybernetics
More informationLecture 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 informationGeneric discrimination
Generic discrimination Fritz Henglein henglein@diku.dk Department of Computer Science University of Copenhagen (DIKU) SSGEP, Oxford, 2015-07-06 Some simple problems Given a list of pointers, how many unique
More informationA 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 informationA NOTE ON MORPHISMS DETERMINED BY OBJECTS
A NOTE ON MORPHISMS DETERMINED BY OBJECTS XIAO-WU CHEN, JUE LE Abstract. We prove that a Hom-finite additive category having determined morphisms on both sides is a dualizing variety. This complements
More informationOn the Recognizability of Arrow and Graph Languages
On the Recognizability of Arrow and Graph Languages Christoph Blume Sander Bruggink Barbara König Universität Duisburg-Essen, Germany Background Applications of finite automata and regular (word) languages
More informationA First-Order Logic with First-Class Types
A First-Order Logic with First-Class Types joint work with Peter H. Schmitt and Mattias Ulbrich Institute for Theoretical Computer Science The 8th KeY Symposium, Speyer, 2009 Java Card DL modal logic based
More informationFriends with Benefits
Friends with Benefits Jasmin Blanchette, Aymeric Bouzy, Andreas Lochbihler, Andrei Popescu, Dmitriy Traytel To cite this version: Jasmin Blanchette, Aymeric Bouzy, Andreas Lochbihler, Andrei Popescu, Dmitriy
More informationType-driven Development of Communicating Systems in Idris
Type-driven Development of Communicating Systems in Idris Edwin Brady (ecb10@st-andrews.ac.uk) University of St Andrews, Scotland, UK @edwinbrady Lambda World, October 1st 2016 Idris is a pure functional
More informationRecursively defined cpo algebras
Recursively defined cpo algebras Ohad Kammar and Paul Blain Levy July 13, 2018 Ohad Kammar and Paul Blain Levy Recursively defined cpo algebras July 13, 2018 1 / 16 Outline 1 Bilimit compact categories
More informationTowards elementary -toposes
Towards elementary -toposes Michael Shulman 1 1 (University of San Diego) September 13, 2018 Vladimir Voevodsky Memorial Conference Institute for Advanced Study Outline 1 A bit of history 2 Elementary
More informationCategory Theory & Functional Data Abstraction
Category Theory & Functional Data Abstraction Brandon Shapiro Math 100b 1. Introduction Throughout mathematics, particularly algebra, there are numerous commonalities between the studies of various objects
More informationGeneric Programming with Adjunctions
Generic Programming with Adjunctions 0.0 Generic Programming with Adjunctions Ralf Hinze Computing Laboratory, University of Oxford Wolfson Building, Parks Road, Oxford, OX1 3QD, England ralf.hinze@comlab.ox.ac.uk
More informationAn 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 informationINTRODUCTION TO ALGEBRAIC GEOMETRY, CLASS 6
INTRODUCTION TO ALGEBRAIC GEOMETRY, CLASS 6 RAVI VAKIL Contents 1. Loose ends 1 2. Playing around with the structure sheaf of the plane 2 3. Defining affine varieties and prevarieties 3 At the end, I collected
More informationDeforestation, program transformation, and cut-elimination
Electronic Notes in Theoretical Computer Science 44 No. 1 (2001) URL: http://www.elsevier.nl/locate/entcs/volume44.html 40 pages Deforestation, program transformation, and cut-elimination Robin Cockett
More informationLess Is More. Generic Programming Theory and Practice. José Pedro Magalhães
Less Is More Generic Programming Theory and Practice José Pedro Magalhães Promotoren: Co-promotor: Prof.dr. J.T. Jeuring Prof.dr. S.D. Swierstra Dr. A. Löh This work has been supported by the Fundação
More informationCrash Course in Monads. Vlad Patryshev
Crash Course in Monads Vlad Patryshev Introduction Monads in programming seem to be the most mysterious notion of the century. I find two reasons for this: lack of familiarity with category theory; many
More information