Equational Reasoning with Applicative Functors. Institute of Information Security
|
|
- Nora French
- 5 years ago
- Views:
Transcription
1 Equational Reasoning with Applicative Functors Andreas Lochbihler Joshua Schneider Institute of Information Security
2 Equational Reasoning with Applicative Functors Andreas Lochbihler Joshua Schneider Institute of Information Security model effects state probabilities error non-determinism streams
3 Equational Reasoning with Applicative Functors Andreas Lochbihler Joshua Schneider Institute of Information Security f (g ) h (k ) k g h f model effects state probabilities error non-determinism streams
4 Equational Reasoning with Applicative Functors Andreas Lochbihler Joshua Schneider Institute of Information Security pure f (g ) pure h (k ) k g h f model effects state probabilities error non-determinism streams
5 Equational Reasoning with Applicative Functors Andreas Lochbihler Joshua Schneider Institute of Information Security pure f (g ) pure h (k ) g k f h don t care model effects state probabilities error non-determinism streams
6 Contributions Isabelle/HOL package for reasoning about applicative effects x functor registration x proof tactic classify effects Meta theory formalised and algorithms verified Used in several examples and case studies A. Lochbihler (ETH Zurich) ITP / 35
7 Task: Label a binary tree with distinct numbers! c b q a d datatype α tree L α N (α tree) (α tree) Example suggested by G. Hutton, D. Fulger: Reasoning about effects: seeing the wood through the trees. TFP 2008 A. Lochbihler (ETH Zurich) ITP / 35
8 Task: Label a binary tree with distinct numbers! c b q a d datatype α tree L α N (α tree) (α tree) :: α tree nat tree Example suggested by G. Hutton, D. Fulger: Reasoning about effects: seeing the wood through the trees. TFP 2008 A. Lochbihler (ETH Zurich) ITP / 35
9 Task: Label a binary tree with distinct numbers! c b q a d datatype α tree L α N (α tree) (α tree) state :: α tree nat tree state where α state nat α nat monadic α M α state return :: α α M ( >) :: α M (α β M) β M (L ) fresh > λx. return (L x ) (N l r) l > λl. r > λr. return (N l r ) Example suggested by G. Hutton, D. Fulger: Reasoning about effects: seeing the wood through the trees. TFP 2008 A. Lochbihler (ETH Zurich) ITP / 35
10 Task: Label a binary tree with distinct numbers! c b q a d datatype α tree L α N (α tree) (α tree) state :: α tree nat tree state where α state nat α nat monadic α M α state applicative α F α state return :: α α M pure :: α α F ( >) :: α M (α β M) β M ( ) :: (α β) F α F β F (L ) fresh > λx. return (L x ) (N l r) l > λl. r > λr. return (N l r ) (L ) pure L fresh (N l r) pure N l r Example suggested by G. Hutton, D. Fulger: Reasoning about effects: seeing the wood through the trees. TFP 2008 A. Lochbihler (ETH Zurich) ITP / 35
11 Labelling trees and lists c a q leaves :: α tree α list leaves (L x) x [ ] leaves (N l r) leaves l ++ leaves r leaves pure leaves [c, a, q] [0, 1, 2] :: α list nat list state [ ] pure [ ] ( xs) pure ( ) fresh xs A. Lochbihler (ETH Zurich) ITP / 35
12 Labelling trees and lists c a q leaves :: α tree α list leaves (L x) x [ ] leaves (N l r) leaves l ++ leaves r leaves pure leaves [c, a, q] [0, 1, 2] :: α list nat list state [ ] pure [ ] ( xs) pure ( ) fresh xs Lemma: pure leaves t (leaves t) Proof by induction on t. Case L x: pure leaves (L x) (leaves (L x))
13 Labelling trees and lists c a q leaves :: α tree α list leaves (L x) x [ ] leaves (N l r) leaves l ++ leaves r leaves pure leaves [c, a, q] [0, 1, 2] :: α list nat list state [ ] pure [ ] ( xs) pure ( ) fresh xs Lemma: pure leaves t (leaves t) Proof by induction on t. Case L x: pure leaves (L x) (leaves (L x)) pure leaves (pure L fresh) pure ( ) fresh pure [ ] x. leaves ( L x ) ( ) x [ ] A. Lochbihler (ETH Zurich) ITP / 35
14 Labelling trees and lists c a q leaves :: α tree α list leaves (L x) x [ ] leaves (N l r) leaves l ++ leaves r leaves pure leaves [c, a, q] [0, 1, 2] :: α list nat list state [ ] pure [ ] ( xs) pure ( ) fresh xs Lemma: pure leaves t (leaves t) Proof by induction on t. Case L x: pure leaves (L x) (leaves (L x)) pure leaves (pure L fresh) pure ( ) fresh pure [ ] holds by the applicative laws x. leaves ( L x ) ( ) x [ ] A. Lochbihler (ETH Zurich) ITP / 35
15 Labelling trees and lists c a q leaves :: α tree α list leaves (L x) x [ ] leaves (N l r) leaves l ++ leaves r leaves pure leaves [c, a, q] [0, 1, 2] :: α list nat list state [ ] pure [ ] ( xs) pure ( ) fresh xs Lemma: pure leaves t (leaves t) Proof by induction on t. Case L x: pure leaves (L x) (leaves (L x)) pure leaves (pure L fresh) pure ( ) fresh pure [ ] holds by the applicative laws x. leaves ( L x ) ( ) x [ ] apply applicative lifting A. Lochbihler (ETH Zurich) ITP / 35
16 Lifting equations over applicative functors [Hinze 2010] pure leaves (pure L fresh) pure ( ) fresh pure [ ] x. leaves (L x) x [ ] A. Lochbihler (ETH Zurich) ITP / 35
17 Lifting equations over applicative functors [Hinze 2010] pure leaves (pure L fresh) pure ( ) fresh pure [ ] λ β Isabelle kernel α ML syntactic formalisation λ β Isabelle HOL α follows x. leaves (L x) x [ ] A. Lochbihler (ETH Zurich) ITP / 35
18 Lifting equations over applicative functors [Hinze 2010] pure leaves (pure L fresh) pure ( ) fresh pure [ ] 1. Convert to canonical form pure (λx. leaves (L x)) fresh pure (λx. x [ ]) fresh x. leaves (L x) x [ ] A. Lochbihler (ETH Zurich) ITP / 35
19 Lifting equations over applicative functors Canonical form applicative expression pure f x 1 x 2... x n [Hinze 2010] [McBride, Paterson] pure leaves (pure L fresh) pure ( ) fresh pure [ ] 1. Convert to canonical form pure (λx. leaves (L x)) fresh pure (λx. x [ ]) fresh x. leaves (L x) x [ ] A. Lochbihler (ETH Zurich) ITP / 35
20 Lifting equations over applicative functors pure function opaque arguments Canonical form applicative expression pure f x 1 x 2... x n [Hinze 2010] [McBride, Paterson] pure leaves (pure L fresh) pure ( ) fresh pure [ ] 1. Convert to canonical form pure (λx. leaves (L x)) fresh pure (λx. x [ ]) fresh x. leaves (L x) x [ ] A. Lochbihler (ETH Zurich) ITP / 35
21 Lifting equations over applicative functors pure function opaque arguments Canonical form applicative expression pure f x 1 x 2... x n [Hinze 2010] [McBride, Paterson] pure leaves (pure L fresh) pure ( ) fresh pure [ ] 1. Convert to canonical form pure (λx. leaves (L x)) fresh 2. Generalise opaque arguments X. pure (λx. leaves (L x)) X pure (λx. x [ ]) fresh pure (λx. x [ ]) X x. leaves (L x) x [ ] A. Lochbihler (ETH Zurich) ITP / 35
22 Lifting equations over applicative functors pure function opaque arguments Canonical form applicative expression pure f x 1 x 2... x n [Hinze 2010] [McBride, Paterson] pure leaves (pure L fresh) pure ( ) fresh pure [ ] 1. Convert to canonical form pure (λx. leaves (L x)) fresh 2. Generalise opaque arguments X. pure (λx. leaves (L x)) X 3. Equality is a congruence X. pure (λx. leaves (L x)) X pure (λx. x [ ]) fresh pure (λx. x [ ]) X pure (λx. x [ ]) X x. leaves (L x) x [ ] A. Lochbihler (ETH Zurich) ITP / 35
23 Lifting equations over applicative functors pure function opaque arguments Canonical form applicative expression pure f x 1 x 2... x n [Hinze 2010] [McBride, Paterson] pure leaves (pure L fresh) pure ( ) fresh pure [ ] pure (λx. leaves (L x)) fresh 2. Generalise opaque arguments X. pure (λx. leaves (L x)) X 3. Equality is a congruence X. pure (λx. leaves (L x)) X 4. Use extensionality 1. Convert to canonical form pure (λx. x [ ]) fresh pure (λx. x [ ]) X pure (λx. x [ ]) X x. leaves (L x) x [ ] A. Lochbihler (ETH Zurich) ITP / 35
24 Lifting equations over applicative functors pure function opaque arguments Canonical form applicative expression pure f x 1 x 2... x n [Hinze 2010] [McBride, Paterson] pure leaves (pure L fresh) pure ( ) fresh pure [ ] pure (λx. leaves (L x)) fresh 2. Generalise opaque arguments X. pure (λx. leaves (L x)) X 3. Equality is a congruence X. pure (λx. leaves (L x)) X 4. Use extensionality 1. Convert to canonical form pure (λx. x [ ]) fresh pure (λx. x [ ]) X pure (λx. x [ ]) X x. leaves (L x) x [ ] Same opaque args. on both sides! A. Lochbihler (ETH Zurich) ITP / 35
25 Tree mirroring c a q mirror :: α tree α tree mirror (L x) L x mirror (N l r) N (mirror r) (mirror l) mirror? pure mirror q a c :: α tree nat tree state (L ) pure L fresh (N l r) pure N l r Lemma: Proof by induction on t. Case N l r: (mirror t) pure mirror t? pure (λr l. N (mirror r ) (mirror l )) r l pure (λl r. mirror (N l r )) l r A. Lochbihler (ETH Zurich) ITP / 35
26 Tree mirroring c a q mirror :: α tree α tree mirror (L x) L x mirror (N l r) N (mirror r) (mirror l) mirror pure mirror q a c :: α tree nat tree state (L ) pure L fresh (N l r) pure N l r Lemma: Proof by induction on t. Case N l r: (mirror t) pure mirror t? pure (λr l. N (mirror r ) (mirror l )) r l pure (λl r. mirror (N l r )) l r A. Lochbihler (ETH Zurich) ITP / 35
27 Tree mirroring and random labels c a q mirror :: α tree α tree mirror (L x) L x mirror (N l r) N (mirror r) (mirror l) mirror pure mirror q a c :: α tree nat tree probability (L ) pure L fresh (N l r) pure N l r Lemma: (mirror t) pure mirror t if effects commute Proof by induction on t. Case N l r: pure (λr l. N (mirror r ) (mirror l )) r l pure (λl r. mirror (N l r )) l r A. Lochbihler (ETH Zurich) ITP / 35
28 Tree mirroring and random labels c a q mirror :: α tree α tree mirror (L x) L x mirror (N l r) N (mirror r) (mirror l) mirror pure mirror q a c Criterion for commutative effects: :: α tree nat tree probability pure (λf (L x y. ) f y x) pure f L x fresh y f y x (N Cl r) puref N x y l f r y x Lemma: (mirror t) pure mirror t if effects commute Proof by induction on t. Case N l r: pure (λr l. N (mirror r ) (mirror l )) r l pure (λl r. mirror (N l r )) l r A. Lochbihler (ETH Zurich) ITP / 35
29 Subtrees c a q mirror pure mirror q a c Lemma: (right t) pure right t Proof by case analysis on t. right pure right Case N l r: pure (λr. r ) r? pure (λ r. r ) l r a c A. Lochbihler (ETH Zurich) ITP / 35
30 Subtrees c a q Criterion for omissible effects: pure (λx y. x) x y x mirror pure mirror K x y x q a c Lemma: if effects are omissible (right t) pure right t Proof by case analysis on t. right pure right Case N l r: pure (λr. r ) r pure (λ r. r ) l r a c A. Lochbihler (ETH Zurich) ITP / 35
31 Combinatorial basis BCKW B K omissible W idempotent commutative Declarative characterisation of liftable equations Modular implementation via bracket abstraction C A. Lochbihler (ETH Zurich) ITP / 35
32 Combinatorial basis BCKW B K omissible state exception probability reader W idempotent commutative C Declarative characterisation of liftable equations Modular implementation via bracket abstraction User declares and proves combinator properties at registration A. Lochbihler (ETH Zurich) ITP / 35
33 Combinatorial basis BCKW B ordered non-determinism K omissible nondeterminism probability non-standard numbers reader stream zip list state exception idempotent monoid monoid W idempotent parser non-determinism with failure subprobability commutative commutative monoid C maybe list Declarative characterisation of liftable equations Modular implementation via bracket abstraction User declares and proves combinator properties at registration A. Lochbihler (ETH Zurich) ITP / 35
34 Summary Lifting.shtml x B K functor registration x proof tactic C W classify effects guides formalisation of the meta theory A. Lochbihler (ETH Zurich) ITP / 35
35 Summary Lifting.shtml x B K W x C functor registration proof tactic classify effects monads? generate? guides beyond equality? formalisation of the meta theory A. Lochbihler (ETH Zurich) ITP / 35
Towards abstract and executable multivariate polynomials in Isabelle
Towards abstract and executable multivariate polynomials in Isabelle Florian Haftmann Andreas Lochbihler Wolfgang Schreiner Institute for Informatics Institute of Information Security RISC TU Munich ETH
More informationThe Lifting Lemma. Ralf Hinze
The Lifting Lemma Ralf Hinze Computing Laboratory, University of Oxford Wolfson Building, Parks Road, Oxford, OX1 3QD, England ralf.hinze@comlab.ox.ac.uk http://www.comlab.ox.ac.uk/ralf.hinze/ June 2009
More informationUnderstanding Idiomatic Traversals Backwards and Forwards
Understanding Idiomatic Traversals Backwards and Forwards Richard Bird Jeremy Gibbons Department of Computer Science, University of Oxford, Wolfson Building, Parks Rd, Oxford OX1 3QD, UK {bird,jg}@cs.ox.ac.uk
More informationUniversal Algebra for Termination of Higher-Order Rewriting. Makoto Hamana
Universal Algebra for Termination of Higher-Order Rewriting Makoto Hamana Department of Computer Science, Gunma University, Japan RTA 05 2005, April 1 Intro: First-Order Term Rewriting System (TRS) Terms
More informationInductive Theorem Proving
Introduction Inductive Proofs Automation Conclusion Automated Reasoning P.Papapanagiotou@sms.ed.ac.uk 11 October 2012 Introduction Inductive Proofs Automation Conclusion General Induction Theorem Proving
More informationAutomated Reasoning Lecture 17: Inductive Proof (in Isabelle)
Automated Reasoning Lecture 17: Inductive Proof (in Isabelle) Jacques Fleuriot jdf@inf.ed.ac.uk Recap Previously: Unification and Rewriting This time: Proof by Induction (in Isabelle) Proof by Mathematical
More informationLattices and Orders in Isabelle/HOL
Lattices and Orders in Isabelle/HOL Markus Wenzel TU München October 8, 2017 Abstract We consider abstract structures of orders and lattices. Many fundamental concepts of lattice theory are developed,
More informationReasoning about Codata
Reasoning about Codata Ralf Hinze Computing Laboratory, University of Oxford Wolfson Building, Parks Road, Oxford, OX1 3QD, England ralf.hinze@comlab.ox.ac.uk http://www.comlab.ox.ac.uk/ralf.hinze/ Abstract.
More informationA Calculus of Definitions
A Calculus of Definitions June 13, 2017 1 Type theory We describe how to implement a core type theory. This is very close to a functional programming language with λ abstraction and data types defined
More informationA Categorical Characterization of Untyped Lambda Calculus
A Categorical Characterization of Untyped Lambda Calculus Master s Thesis Daniel Schmitter March 1, 2013 Advisor: Prof. Dr. Damien Calaque Department of Mathematics, ETH Zurich Abstract The purpose of
More informationWhy walk when you can take the tube?
Under consideration for publication in J. Functional Programming 1 F U N C T I O N A L P E A R L Why walk when you can take the tube? LUCAS DIXON University of Edinburgh PETER HANCOCK and CONOR MCBRIDE
More information1 Problem 1. (20 pts)
CS 336 Programming Languages Homework Solution 4 Winter 2005 Due 2/24/05 1 Problem 1. (20 pts) Do Exercise 18.6.2. We define a meta-operation + on types as follows: If R is a record type with labels given
More informationRed-black Trees of smlnj Studienarbeit. Angelika Kimmig
Red-black Trees of smlnj Studienarbeit Angelika Kimmig January 26, 2004 Contents 1 Introduction 1 2 Development of the Isabelle/HOL Theory RBT 2 2.1 Translation of Datatypes and Functions into HOL......
More informationA New Look At Generalized Rewriting in Type Theory
A New Look At Generalized Rewriting in Type Theory Matthieu Sozeau Harvard University TYPES 09 May 13th 2009 Aussois, France Generalized Rewriting Equational reasoning x = y - x + 1 ==> y + 1 Logical reasoning
More informationThe Under-Performing Unfold
The Under-Performing Unfold A new approach to optimising corecursive programs Jennifer Hackett Graham Hutton University of Nottingham {jph,gmh}@cs.nott.ac.uk Mauro Jaskelioff Universidad Nacional de Rosario,
More informationConcrete Stream Calculus
Under consideration for publication in J. Functional Programming 1 Concrete Stream Calculus An extended study RALF HINZE Computing Laboratory, University of Oxford, Wolfson Building, Parks Road, Oxford,
More informationFunctional Data Structures
Functional Data Structures with Isabelle/HOL Tobias Nipkow Fakultät für Informatik Technische Universität München 2017-2-3 1 Part II Functional Data Structures 2 Chapter 1 Binary Trees 3 1 Binary Trees
More informationCode Generation for a Simple First-Order Prover
Code Generation for a Simple First-Order Prover Jørgen Villadsen, Anders Schlichtkrull, and Andreas Halkjær From DTU Compute, Technical University of Denmark, 2800 Kongens Lyngby, Denmark Abstract. We
More informationA few bridges between operational and denotational semantics of programming languages
A few bridges between operational and denotational semantics of programming languages Soutenance d habilitation à diriger les recherches Tom Hirschowitz November 17, 2017 Hirschowitz Bridges between operational
More informationInteractive Theorem Provers
Interactive Theorem Provers from the perspective of Isabelle/Isar Makarius Wenzel Univ. Paris-Sud, LRI July 2014 = Isabelle λ β Isar α 1 Introduction Notable ITP systems LISP based: ACL2 http://www.cs.utexas.edu/users/moore/acl2
More informationOn the Semantics of Parsing Actions
On the Semantics of Parsing Actions Hayo Thielecke School of Computer Science University of Birmingham Birmingham B15 2TT, United Kingdom Abstract Parsers, whether constructed by hand or automatically
More informationFree Groups. Joachim Breitner. April 17, 2016
Free Groups Joachim Breitner April 17, 2016 Abstract Free Groups are, in a sense, the most generic kind of group. They are defined over a set of generators with no additional relations in between them.
More informationAutomated Reasoning Lecture 2: Propositional Logic and Natural Deduction
Automated Reasoning Lecture 2: Propositional Logic and Natural Deduction Jacques Fleuriot jdf@inf.ed.ac.uk Logic Puzzles 1. Tomorrow will be sunny or rainy. Tomorrow will not be sunny. What will the weather
More informationMathematical Synthesis of Equational Deduction Systems. Marcelo Fiore. Computer Laboratory University of Cambridge
Mathematical Synthesis of Equational Deduction Systems Marcelo Fiore Computer Laboratory University of Cambridge TLCA 2009 3.VII.2009 Context concrete theories meta-theories Context concrete theories meta-theories
More informationLogic for Computational Effects: work in progress
1 Logic for Computational Effects: work in progress Gordon Plotkin and John Power School of Informatics University of Edinburgh King s Buildings Mayfield Road Edinburgh EH9 3JZ Scotland gdp@inf.ed.ac.uk,
More informationF U N C T I O N A L P E A R L S The Bird tree
Under consideration for publication in J. Functional Programming 1 F U N C T I O N A L P E A R L S The Bird tree RALF HINZE Computing Laboratory, University of Oxford Wolfson Building, Parks Road, Oxford,
More informationHigher Order Containers
Higher Order Containers Thorsten Altenkirch 1, Paul Levy 2, and Sam Staton 3 1 University of Nottingham 2 University of Birmingham 3 University of Cambridge Abstract. Containers are a semantic way to talk
More informationThe Reflection Theorem
The Reflection Theorem Formalizing Meta-Theoretic Reasoning Lawrence C. Paulson Computer Laboratory Lecture Overview Motivation for the Reflection Theorem Proving the Theorem in Isabelle Applying the Reflection
More informationEDA045F: Program Analysis LECTURE 10: TYPES 1. Christoph Reichenbach
EDA045F: Program Analysis LECTURE 10: TYPES 1 Christoph Reichenbach In the last lecture... Performance Counters Challenges in Dynamic Performance Analysis Taint Analysis Binary Instrumentation 2 / 44 Types
More informationIsomorphism of Finitary Inductive Types
Isomorphism of Finitary Inductive Types Christian Sattler joint work (in progress) with Nicolai Kraus University of Nottingham May 2014 Motivating Example Generic data may be represented in a multitude
More informationNICTA Advanced Course. Theorem Proving Principles, Techniques, Applications. Gerwin Klein Formal Methods
NICTA Advanced Course Theorem Proving Principles, Techniques, Applications Gerwin Klein Formal Methods 1 ORGANISATORIALS When Mon 14:00 15:30 Wed 10:30 12:00 7 weeks ends Mon, 20.9.2004 Exceptions Mon
More informationSemantics for algebraic operations
MFPS 17 Preliminary Version Semantics for algebraic operations Gordon Plotkin and John Power 1 Laboratory for the Foundations of Computer Science University of Edinburgh King s Buildings, Edinburgh EH9
More informationUncountable computable model theory
Uncountable computable model theory Noam Greenberg Victoria University of Wellington 30 th June 2013 Mathematical structures Model theory provides an abstract formalisation of the notion of a mathematical
More informationFrom parametric polymorphism to models of polymorphic FPC
Under consideration for publication in Math. Struct. in Comp. Science From parametric polymorphism to models of polymorphic FPC Rasmus Ejlers Møgelberg IT University of Copenhagen Rued Langgaards Vej 7
More informationA Recursion Combinator for Nominal Datatypes Implemented in Isabelle/HOL
A Recursion Combinator for Nominal Datatypes Implemented in Isabelle/HOL Christian Urban and Stefan Berghofer Technische Universität München {urbanc,berghofe}@in.tum.de Abstract. The nominal datatype package
More informationAbstract Convexity: Results and Speculations
Abstract Convexity: Results and Speculations Tobias Fritz Max Planck Institut für Mathematik, Bonn Mathematical Colloquium Hagen, 26 Nov 29 Overview. Introducing convex spaces 2. A Hahn-Banach theorem
More informationCompleteness of Star-Continuity
Introduction to Kleene Algebra Lecture 5 CS786 Spring 2004 February 9, 2004 Completeness of Star-Continuity We argued in the previous lecture that the equational theory of each of the following classes
More informationType inference in context
Type inference in context Adam Gundry University of Strathclyde Microsoft Research PhD Scholar Conor McBride University of Strathclyde James McKinna Radboud University Nijmegen MSFP 25 September 2010 Two
More informationTypes and Programming Languages (15-814), Fall 2018 Assignment 4: Data Representation (Sample Solutions)
Types and Programming Languages (15-814), Fall 2018 Assignment 4: Data Representation (Sample Solutions) Contact: 15-814 Course Staff Due Tuesday, October 16, 2018, 10:30am This assignment is due by 10:30am
More informationFORMALISING THE π-calculus USING NOMINAL LOGIC
Logical Methods in Computer Science Vol. 5 (2:16) 2009, pp. 1 36 www.lmcs-online.org Submitted Mar. 24, 2009 Published Jun. 30, 2009 FORMALISING THE π-calculus USING NOMINAL LOGIC JESPER BENGTSON AND JOACHIM
More informationSemantic Labelling for Proving Termination of Combinatory Reduction Systems. Makoto Hamana
Semantic Labelling for Proving Termination of Combinatory Reduction Systems Makoto Hamana Department of Computer Science, Gunma University, Japan WFLP 09 June, 2009. 1 2 Intro: Termination Proof by RPO
More informationImplementation of the stable revivals model in CSP-Prover
in CSP-Prover in CSP-Prover April 4, 2007 The stable Supported by EPSRC grant EP/D037212/1 in CSP-Prover Csp-Prover Motivation and The stable in CSP-Prover Csp is a language to describe processes in concurrent
More informationA Foundation for GADTs and Inductive Families. Makoto Hamana Gunma University, Japan
1 A Foundation for GADTs and Inductive Families Dependent Polynomial Functor Approach Makoto Hamana Gunma University, Japan Joint work with Marcelo Fiore, University of Cambridge WGP 11, 18 September,
More informationCERTIFIED CONTEXT-FREE PARSING: A FORMALISATION OF VALIANT S ALGORITHM IN AGDA
Logical Methods in Computer Science Vol. 12(2:6)2016, pp. 1 28 www.lmcs-online.org Submitted Jul. 3, 2014 Published Jun. 13, 2016 CERTIFIED CONTEXT-FREE PARSING: A FORMALISATION OF VALIANT S ALGORITHM
More informationReckhow s Theorem. Yuval Filmus. November 2010
Reckhow s Theorem Yuval Filmus November 2010 1 Introduction In 5.3.1 of his thesis [2], Reckhow showed that any two Frege systems p-simulate each other. One of the difficulties involves translation of
More informationNunchaku: Flexible Model Finding for Higher-Order Logic
Nunchaku: Flexible Model Finding for Higher-Order Logic Simon Cruanes, Jasmin Blanchette, Andrew Reynolds Veridis, Inria Nancy https://cedeela.fr/~simon/ April 7th, 2016 1 / 21 Summary Introduction Nunchaku
More informationLCF + Logical Frameworks = Isabelle (25 Years Later)
LCF + Logical Frameworks = Isabelle (25 Years Later) Lawrence C. Paulson, Computer Laboratory, University of Cambridge 16 April 2012 Milner Symposium, Edinburgh 1979 Edinburgh LCF: From the Preface the
More informationSecond-Order Algebraic Theories
Second-Order Algebraic Theories (Extended Abstract) Marcelo Fiore and Ola Mahmoud University of Cambridge, Computer Laboratory Abstract. Fiore and Hur [10] recently introduced a conservative extension
More informationInterpreting the Second-Order Lambda Calculus using Qualitative Domains
Department of Mathematics Bachelor Thesis Interpreting the Second-Order Lambda Calculus using Qualitative Domains Author: Anton Golov Supervisor: Dr. Jaap van Oosten September 2014-July 2015 Contents 1
More informationM a s t e r r e s e a rc h I n t e r n s h i p. Formalisation of Ground Inference Systems in a Proof Assistant
M a s t e r r e s e a rc h I n t e r n s h i p Master Thesis Formalisation of Ground Inference Systems in a Proof Assistant Domain: Data Structures and Algorithms - Logic in Computer Science Author: Mathias
More informationMinimally Strict Polymorphic Functions
Minimally Strict Polymorphic Functions Jan Christiansen Christian-Albrechts-Universität Kiel Institut für Informatik 24098 Kiel, Germany jac@informatik.uni-kiel.de Daniel Seidel Rheinische Friedrich-Wilhelms-Universität
More informationLecture 7. Logic. Section1: Statement Logic.
Ling 726: Mathematical Linguistics, Logic, Section : Statement Logic V. Borschev and B. Partee, October 5, 26 p. Lecture 7. Logic. Section: Statement Logic.. Statement Logic..... Goals..... Syntax of Statement
More informationProgramming with Dependent Types in Coq
Programming with Dependent Types in Coq Matthieu Sozeau LRI, Univ. Paris-Sud - Démons Team & INRIA Saclay - ProVal Project PPS Seminar February 26th 2009 Paris, France Coq A higher-order, polymorphic logic:
More informationNotions of Computation Determine Monads
Notions of Computation Determine Monads Gordon Plotkin and John Power Division of Informatics, University of Edinburgh, King s Buildings, Edinburgh EH9 3JZ, Scotland Abstract. We model notions of computation
More informationBeyond First-Order Logic
Beyond First-Order Logic Software Formal Verification Maria João Frade Departmento de Informática Universidade do Minho 2008/2009 Maria João Frade (DI-UM) Beyond First-Order Logic MFES 2008/09 1 / 37 FOL
More informationNormalization by Evaluation
Normalization by Evaluation Andreas Abel Department of Computer Science and Engineering Chalmers and Gothenburg University PhD Seminar in Mathematical Engineering EAFIT University, Medellin, Colombia 9
More informationHOL: Well-founded and Primitive Recursion
Dipl.-Inf. Achim D. Brucker Dr. Burkhart Wolff Computer-supported Modeling and Reasoning http://www.infsec.ethz.ch/ education/permanent/csmr/ (rev. 16814) Submission date: HOL: Well-founded and Primitive
More informationGeneric Fibrational Induction
Archived version from NCDOCKS Institutional Repository http://libres.uncg.edu/ir/asu/ Generic Fibrational Induction By: Ghani, Neil; Johann, Patricia; and Fumex, Clement Abstract This paper provides an
More informationA Differential Model Theory for Resource Lambda Calculi - Part II
A Differential Model Theory for Resource Lambda Calculi - Part II Giulio Manzonetto (joint work with Bucciarelli, Ehrhard, Laird, McCusker) g.manzonetto@cs.ru.nl Intelligent Systems Radboud University
More informationIntroduction to lambda calculus Part 6
Introduction to lambda calculus Part 6 Antti-Juhani Kaijanaho 2017-02-16 1 Untyped lambda calculus 2 Typed lambda calculi 2.1 Dynamically typed lambda calculus with integers 2.2 A model of Lisp 2.3 Simply
More informationEquational Logic. Chapter Syntax Terms and Term Algebras
Chapter 2 Equational Logic 2.1 Syntax 2.1.1 Terms and Term Algebras The natural logic of algebra is equational logic, whose propositions are universally quantified identities between terms built up from
More informationNOTES ON POLYNOMIAL REPRESENTATIONS OF GENERAL LINEAR GROUPS
NOTES ON POLYNOMIAL REPRESENTATIONS OF GENERAL LINEAR GROUPS MARK WILDON Contents 1. Definition of polynomial representations 1 2. Weight spaces 3 3. Definition of the Schur functor 7 4. Appendix: some
More informationDynamic Rippling, Middle-Out Reasoning and Lemma Discovery
Dynamic Rippling, Middle-Out Reasoning and Lemma Discovery Moa Johansson 1, Lucas Dixon 2, and Alan Bundy 2 1 Dipartimento di Informatica, Università degli Studi di Verona 2 School of Informatics, University
More informationA Canonical 1 Local Representation of Binding. α -equivalence is identity. Randy Pollack. Masahiko Sato. LFCS, University of Edinburgh
A Canonical 1 Local Representation of Binding Randy Pollack LFCS, University of Edinburgh Masahiko Sato Graduate School of Informatics, Kyoto University Version of May 12, 2009 1 α -equivalence is identity
More informationFoundations of Programming Languages and Software Engineering
Foundations of Programming Languages and Software Engineering Jan-Georg Smaus (Peter Thiemann) Universität Freiburg July 2011 Abstract Data Types Foundations of Programming Languages and Software Engineering
More informationTheoretical Computer Science. Representing model theory in a type-theoretical logical framework
Theoretical Computer Science 412 (2011) 4919 4945 Contents lists available at ScienceDirect Theoretical Computer Science journal homepage: www.elsevier.com/locate/tcs Representing model theory in a type-theoretical
More informationLocal Representations of Binding
Local Representations of Binding Randy Pollack LFCS, University of Edinburgh Joint work with James McKinna, Christian Urban, Arthur Charguéraud, Brian Aydemir, Benjamin Pierce, Stephanie Weirich Version
More informationCSCE 222 Discrete Structures for Computing. Propositional Logic. Dr. Hyunyoung Lee. !!!!!! Based on slides by Andreas Klappenecker
CSCE 222 Discrete Structures for Computing Propositional Logic Dr. Hyunyoung Lee Based on slides by Andreas Klappenecker 1 Propositions A proposition is a declarative sentence that is either true or false
More informationA Verified ODE solver and Smale s 14th Problem
A Verified ODE solver and Smale s 14th Problem Fabian Immler Big Proof @ Isaac Newton Institute Jul 6, 2017 = Isabelle λ β α Smale s 14th Problem A computer-assisted proof involving ODEs. Motivation for
More informationElement x is R-minimal in X if y X. R(y, x).
CMSC 22100/32100: Programming Languages Final Exam M. Blume December 11, 2008 1. (Well-founded sets and induction principles) (a) State the mathematical induction principle and justify it informally. 1
More informationA NEW FOUNDATION OF A COMPLETE BOOLEAN EQUATIONAL LOGIC
Bulletin of the Section of Logic Volume 38:1/2 (2009), pp. 13 28 George Tourlakis A NEW FOUNDATION OF A COMPLETE BOOLEAN EQUATIONAL LOGIC Abstract We redefine the equational-proofs formalism of [2], [3],
More informationA New Look at Generalized Rewriting in Type Theory
A New Look at Generalized Rewriting in Type Theory Matthieu Sozeau Harvard University 1st Coq Workshop August 21th 2009 Munich, Germany Generalized Rewriting Equational reasoning x = y - x + 1 ==> y +
More informationStructure. Background. them to their higher order equivalents. functionals in Standard ML source code and converts
Introduction 3 Background functionals factor out common behaviour map applies a function to every element of a list fun map [ ] = [ ] map f ( x : : xs ) = f x : : map f xs filter keeps only those elements
More informationProofs Regarding Specification of Spark Aggregation
Proofs Regarding Specification of Spark Aggregation Yu-Fang Chen 1, Chih-Duo Hong 1, Ondřej Lengál 1,2, Shin-Cheng Mu 1, Nishant Sinha 3, and Bow-Yaw Wang 1 1 Academia Sinica, Taiwan 2 Brno University
More informationLecture Notes on Inductive Definitions
Lecture Notes on Inductive Definitions 15-312: Foundations of Programming Languages Frank Pfenning Lecture 2 August 28, 2003 These supplementary notes review the notion of an inductive definition and give
More information1. The Method of Coalgebra
1. The Method of Coalgebra Jan Rutten CWI Amsterdam & Radboud University Nijmegen IMS, Singapore - 15 September 2016 Overview of Lecture one 1. Category theory (where coalgebra comes from) 2. Algebras
More informationOMEGA-CATEGORIES AND CHAIN COMPLEXES. 1. Introduction. Homology, Homotopy and Applications, vol.6(1), 2004, pp RICHARD STEINER
Homology, Homotopy and Applications, vol.6(1), 2004, pp.175 200 OMEGA-CATEGORIES AND CHAIN COMPLEXES RICHARD STEINER (communicated by Ronald Brown) Abstract There are several ways to construct omega-categories
More informationarxiv: v1 [math.lo] 30 Aug 2018
arxiv:1808.10324v1 [math.lo] 30 Aug 2018 Real coextensions as a tool for constructing triangular norms Thomas Vetterlein Department of Knowledge-Based Mathematical Systems Johannes Kepler University Linz
More informationFormalising the π-calculus in Isabelle
Formalising the π-calculus in Isabelle Jesper Bengtson Department of Computer Systems University of Uppsala, Sweden 30th May 2006 Overview This talk will cover the following Motivation Why are we doing
More informationIndexed Containers. Thorsten Altenkirch Peter Morris University of Nottingham Abstract. 1 Introduction
Indexed Containers Thorsten Altenkirch Peter Morris University of Nottingham {txa,pwm}@cs.nott.ac.uk Abstract We show that the syntactically rich notion of inductive families can be reduced to a core type
More informationModular Architecture for Proof Advice AITP Components
Modular Architecture for Proof Advice AITP Components Cezary Kaliszyk 03 April 2016 University of Innsbruck, Austria Talk Overview AI over formal mathematics Premise selection overview The methods tried
More informationPermutation Groups and Transformation Semigroups Lecture 2: Semigroups
Permutation Groups and Transformation Semigroups Lecture 2: Semigroups Peter J. Cameron Permutation Groups summer school, Marienheide 18 22 September 2017 I am assuming that you know what a group is, but
More informationNaturality, but not as you know it
Naturality, but not as you know it Prologue WG2.8 #31, Aussois, October 2013 Naturality, but not as you know it Ralf Hinze Department of Computer Science, University of Oxford Wolfson Building, Parks Road,
More informationInductive Predicates
Inductive Predicates Gert Smolka, Saarland University June 12, 2017 We introduce inductive predicates as they are accommodated in Coq s type theory. Our prime example is the ordering predicate for numbers,
More informationRelational Algebra by Way of Adjunctions. Jeremy Gibbons (joint work with Fritz Henglein, Ralf Hinze, Nicolas Wu) DBPL, October 2015
Relational Algebra by Way of Adjunctions Jeremy Gibbons (joint work with Fritz Henglein, Ralf Hinze, Nicolas Wu) DBPL, October 2015 Relational Algebra by Way of Adjunctions 2 1. Summary bulk types (sets,
More informationCategories and Functors (Lecture Notes for Midlands Graduate School, 2013) Uday S. Reddy The University of Birmingham
Categories and Functors (Lecture Notes for Midlands Graduate School, 2013) Uday S. Reddy The University of Birmingham April 7, 2013 2 Contents 1 Categories 5 1.1 Categories with and without elements.......................
More informationChurch and Curry: Combining Intrinsic and Extrinsic Typing
Church and Curry: Combining Intrinsic and Extrinsic Typing Frank Pfenning Dedicated to Peter Andrews on the occasion of his retirement Department of Computer Science Carnegie Mellon University April 5,
More informationAlgebras for Combinatorial Search
Michael Spivey Oxford University Computing Laboratory Wolfson Building, Parks Road, Oxford OX1 3QD, UK mike@comlab.ox.ac.uk Abstract We show how combinatorial search strategies including depth-first, breadth-first
More informationA Formalised Proof of Craig s Interpolation Theorem in Nominal Isabelle
A Formalised Proof of Craig s Interpolation Theorem in Nominal Isabelle Overview We intend to: give a reminder of Craig s theorem, and the salient points of the proof introduce the proof assistant Isabelle,
More informationWitnessing (Co)datatypes
Witnessing (Co)datatypes Jasmin Christian Blanchette 1,2, Andrei Popescu 3, and Dmitriy Traytel 4 1 Inria Nancy & LORIA, Villers-lès-Nancy, France 2 Max-Planck-Institut für Informatik, Saarbrücken, Germany
More informationIntensionality, Extensionality, and Proof Irrelevance in Modal Type Theory
Intensionality, Extensionality, and Proof Irrelevance in Modal Type Theory Frank Pfenning LICS 01 Boston, Massachusetts June 17, 2001 Acknowledgments: Alberto Momigliano,... 1 Outline 1. Introduction 2.
More informationBiLog: Spatial Logics for Bigraphs 1
BiLog: Spatial Logics for Bigraphs 1 Giovanni Conforti a Damiano Macedonio b Vladimiro Sassone b a University of Dortmund b University of Sussex Abstract Bigraphs are emerging as a (meta-)model for concurrent
More informationWhat are Iteration Theories?
What are Iteration Theories? Jiří Adámek and Stefan Milius Institute of Theoretical Computer Science Technical University of Braunschweig Germany adamek,milius @iti.cs.tu-bs.de Jiří Velebil Department
More informationScience of Computer Programming
Science of Computer Programming 78 (2013) 2108 2159 Contents lists available at ScienceDirect Science of Computer Programming journal homepage: www.elsevier.com/locate/scico Adjoint folds and unfolds An
More information1. Prove: A full m- ary tree with i internal vertices contains n = mi + 1 vertices.
1. Prove: A full m- ary tree with i internal vertices contains n = mi + 1 vertices. Proof: Every vertex, except the root, is the child of an internal vertex. Since there are i internal vertices, each of
More informationWrite your own Theorem Prover
Write your own Theorem Prover Phil Scott 27 October 2016 Phil Scott Write your own Theorem Prover 27 October 2016 1 / 31 Introduction We ll work through a toy LCF style theorem prover for classical propositional
More informationCIS 500: Software Foundations
CIS 500: Software Foundations Midterm I October 3, 2017 Directions: This exam booklet contains both the standard and advanced track questions. Questions with no annotation are for both tracks. Other questions
More informationACTING FREELY GABRIEL GASTER
ACTING FREELY GABRIEL GASTER 1. Preface This article is intended to present a combinatorial proof of Schreier s Theorem, that subgroups of free groups are free. While a one line proof exists using the
More informationAn Introduction to Proof Assistants
An Introduction to Proof Assistants Patrick Schnider Student Seminar in Combinatorics: Mathematical Software, ETH Zürich 1 Motivation The development of proof assistants was motivated by the use of computers
More information