Game Semantics for Dependent Types
|
|
- Shana Kelly
- 5 years ago
- Views:
Transcription
1 Bath, 20 ctober, 2015
2 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 Σ-, Π-, intensional Id-types and finite inductive type families; fully complete if Id-types limited;
3 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 Σ-, Π-, intensional Id-types and finite inductive type families; fully complete if Id-types limited; Id-types more intensional than domain model: function extensionality fails; intensional in orthogonal way to HoTT (time vs space): UI holds.
4 Game Semantics? Interpolates between operational and denotational semantics: very intensional with structural clarity of categorical model; Unified framework for intensional, computational semantics: CF (H, N, AJM);
5 Game Semantics? Interpolates between operational and denotational semantics: very intensional with structural clarity of categorical model; Unified framework for intensional, computational semantics: CF (H, N, AJM); references, non-local control, dynamically generated local names, probability, non-determinism, concurrency...; various evaluation strategies; sums, recursive types, polymorphism; propositional logic, impredicative 2 nd order quantification, external 1 st order quantification;
6 Game Semantics? Interpolates between operational and denotational semantics: very intensional with structural clarity of categorical model; Unified framework for intensional, computational semantics: CF (H, N, AJM); references, non-local control, dynamically generated local names, probability, non-determinism, concurrency...; various evaluation strategies; sums, recursive types, polymorphism; propositional logic, impredicative 2 nd order quantification, external 1 st order quantification; internal 1 st order quantification / dependent types surprisingly absent (and surprisingly hard!);
7 Game Semantics? Interpolates between operational and denotational semantics: very intensional with structural clarity of categorical model; Unified framework for intensional, computational semantics: CF (H, N, AJM); references, non-local control, dynamically generated local names, probability, non-determinism, concurrency...; various evaluation strategies; sums, recursive types, polymorphism; propositional logic, impredicative 2 nd order quantification, external 1 st order quantification; internal 1 st order quantification / dependent types surprisingly absent (and surprisingly hard!); Tight correspondence with syntax (full abstraction, full faithful completeness): often unique semantics in this respect.
8 Computation / Logic data type / proposition computational process / argument program / proof environment / refutation variable declarations / axiom links substitution / cut termination / correctness pure sequential functional behaviour (no state, parallelism, control ops) /.. Games 2-player game (duality!) play: alternating seq. of moves layer () strategy pponent () strategy copycat strategies interaction winning history-freeness/innocence + determinism + well-bracketing of strategies
9 Computation / Logic data type / proposition computational process / argument program / proof environment / refutation variable declarations / axiom links substitution / cut termination / correctness pure sequential functional behaviour (no state, parallelism, control ops) /.. Games 2-player game (duality!) play: alternating seq. of moves layer () strategy pponent () strategy copycat strategies interaction winning history-freeness/innocence + determinism + well-bracketing of strategies
10 An example: layer: pponent: x : B, y : (B B) y(x) : B [tt/x, (λ z:b z)/y] B (B B ) B tt tt ff ff
11 An example: layer: pponent: x : B, y : (B B) y(x) : B [(λ z:b ff)/y] B (B B ) B ff ff
12 Games and winning strategies form a smcc Game: I: the game with one play of length 0; A B: playing A and B simultaneously through interleaving, where only pponent can switch games; A B: swap, (A) and B simultaneously, layer switches.
13 Games and winning strategies form a smcc Game: I: the game with one play of length 0; A B: playing A and B simultaneously through interleaving, where only pponent can switch games; A B: swap, (A) and B simultaneously, layer switches. Also model simple type theory (STT): have a ccc Game! : A B :=!A B;!A: playing ω equivalent copies of A simultaneously, where only pponent can switch games; roduct A&B: pponent chooses to play A or B (unit: I).
14 Games and winning strategies form a smcc Game: I: the game with one play of length 0; A B: playing A and B simultaneously through interleaving, where only pponent can switch games; A B: swap, (A) and B simultaneously, layer switches. Also model simple type theory (STT): have a ccc Game! : A B :=!A B;!A: playing ω equivalent copies of A simultaneously, where only pponent can switch games; roduct A&B: pponent chooses to play A or B (unit: I). Ground types (finite inductive types): for a set X, game X with one pponent move, followed by any of the layer moves x X.
15 An example: copycats (identity morphisms) layer: pponent: x : A x : A A A a a a. a.
16 An example: interaction (composition) layer: pponent: y : N 2y : N x : N x + 1 : N parallel composition... N N x x + 1 N N y 2y
17 An example: interaction (composition) layer: pponent: x : N x + 1 : N 2(x + 1) : N N N N x x + 1 2(x + 1)... plus hiding similarly in general
18 Use the term simple type theory (STT) to refer to a simple λ-calculus with binary products, function types and finite inductive types {a i 1 i n}, or a total finitary CF with binary products, with βη-rules and CF commutative conversions for case-constructs. Straightforward consequence of AJM: Theorem The interpretation of STT in Game! is fully and faithfully complete.
19 Dependent type theory (DTT)? What is it? Curry-Howard for predicate logic: types with free (term) variables, constructions Σ, Π, Id (cf.,, =) on types. Judgements like x : A B(x) type and x : A b(x) : B(x). rder in context matters! No clean separation syntax types and terms.
20 Dependent type theory (DTT)? What is it? Curry-Howard for predicate logic: types with free (term) variables, constructions Σ, Π, Id (cf.,, =) on types. Judgements like x : A B(x) type and x : A b(x) : B(x). rder in context matters! No clean separation syntax types and terms. Why care? Move towards richer type systems: e.g. GADTs in Haskell. Types allowed to refer to data: e.g. n : N List(n) type. Specification by typing: certification by type checking. rogramming logic as a proof assistant. Logical Frameworks.
21 Dependent types and their terms: n : N List(n) type n : N, x : List(n) reverse(x) : List(n) Π- and Σ-types (generalising and ): λ n λ x reverse(x) : Π n:n List(n) List(n) mult : Π k,l,m:n matrix(k, l) matrix(l, m) matrix(k, m) 9, [No, wise, fish, would, go, anywhere, without, a, porpoise] : Σ n:n List(n)
22 Dependent types and their terms: n : N List(n) type n : N, x : List(n) reverse(x) : List(n) Π- and Σ-types (generalising and ): λ n λ x reverse(x) : Π n:n List(n) List(n) mult : Π k,l,m:n matrix(k, l) matrix(l, m) matrix(k, m) 9, [No, wise, fish, would, go, anywhere, without, a, porpoise] : Σ n:n List(n) Id-type: refl : Id N (0, (λ x x)(0)) x, y : B case(x,case(y,refl,refl),case(y,refl,refl)) : Id B (lsor(x,y),rsor(x,y)) Finite inductive type families: x : months days(x) type 31 : days(ctober).
23 A Faithful Translation to Simple Type Theory (STT) Idea: DTT talks about same algorithms as STT but can assign them a more precise type/specification. Formally: have translation of DTT into STT. Let DTT inherit the equational theory of STT to make translation faithful.
24 A Faithful Translation to Simple Type Theory (STT) Idea: DTT talks about same algorithms as STT but can assign them a more precise type/specification. Formally: have translation of DTT into STT. Let DTT inherit the equational theory of STT to make translation faithful. x : A (a i i {b i,j j}) type {b i,j i, j} type x : A Σ y:b C type B T C T type x : A Π y:b C type B T C T type x : A, y : B, y : B Id B (y, y ) type B T type x : A B(a) type B(x) T type + translation on terms.
25 The idea of our interpretation [[ ]] will be to construct a category CtxtGame! of dependent context games with a functor ( ) to Game!, such that Syntax DTT ( ) T Syntax STT [[ ]] CtxtGame! ( ) [[ ]] Game!. Games model of DTT will therefore automatically be faithful.
26 Dependent Games and Strategies Game B with dependency on A consists of: game (B) (without dependency); continuous function str(a) B Sub( (B)) from strategies on A to subgames ( -closed subsets of plays) of (B). Alternatively: continuous function str(a) B Game.
27 Dependent Games and Strategies Game B with dependency on A consists of: game (B) (without dependency); continuous function str(a) B Sub( (B)) from strategies on A to subgames ( -closed subsets of plays) of (B). Alternatively: continuous function str(a) B Game. Can define I, & and on games with dependency and make into ccc with homset DGame! (A)(B, C) := wstr(π A (B C)). (Arises from model of LL.)
28 We define a game Π A B A (B) of dependent functions. Idea: the choice of a fibre B(a) for the output of a dependent function f : Π A B is entirely the responsibility of the context that provides the argument a.
29 We define a game Π A B A (B) of dependent functions. Idea: the choice of a fibre B(a) for the output of a dependent function f : Π A B is entirely the responsibility of the context that provides the argument a. pponent can determine fibre B(τ) of B: explicitly, revealing winning strategy τ on A, by playing in!a; implicitly, by playing in (B); layer has to stay within B(τ) for all τ consistent with pponent s behaviour.
30 We define a game Π A B A (B) of dependent functions. Idea: the choice of a fibre B(a) for the output of a dependent function f : Π A B is entirely the responsibility of the context that provides the argument a. pponent can determine fibre B(τ) of B: explicitly, revealing winning strategy τ on A, by playing in!a; implicitly, by playing in (B); layer has to stay within B(τ) for all τ consistent with pponent s behaviour. That is, as long as there is such a τ; otherwise, anything goes. Indeed, pponent is totally free and might not respect the type dependency, as ( ) should be faithful (to match ( ) T ).
31 Non-example of dependently typed algorithm: scheduling finance meetings layer/academic: pponent/education Finance Business Manager Manager: x : months 31 : days(x) Π( months, days ) 31 layer chooses fibre: e.g. February doesn t have a 31 st day. Mr Manager shouldn t allow that...
32 Example of dependently typed algorithm: Academic/layer: pponent/education Finance Business Manager Manager: x : months case days,months (x, {31, 1,..., 1, 31}) : days(x) [January/x] Π( months, days ) January 31
33 Example (fibre-wise identities): layer: pponent: x : A, y : B(x) y : B(x) choose your favourite Π( [[A]], [[B]] [[B]]) b b b. b
34 Theorem Have indexed ccc Game op! ob(dgame! (A)) := {continuous str(a) DGame CCCat of dependent games: B Sub( (B))} hom-sets DGame! (A)(B, C) := wstr(π A (B C)) fibrewise identities as in example; fibrewise comp. & change of base: usual AJM-composition.
35 Theorem Have indexed ccc Game op! ob(dgame! (A)) := {continuous str(a) DGame CCCat of dependent games: B Sub( (B))} hom-sets DGame! (A)(B, C) := wstr(π A (B C)) fibrewise identities as in example; fibrewise comp. & change of base: usual AJM-composition. As we don t have (additive) Σ-types, not a model of DTT! Well! I ve often seen a cat without a grin, thought Alice; but a grin without a cat! It s the most curious thing I ever saw in all my life.
36 Theorem Have indexed ccc Game op! ob(dgame! (A)) := {continuous str(a) DGame CCCat of dependent games: B Sub( (B))} hom-sets DGame! (A)(B, C) := wstr(π A (B C)) fibrewise identities as in example; fibrewise comp. & change of base: usual AJM-composition. As we don t have (additive) Σ-types, not a model of DTT! Well! I ve often seen a cat without a grin, thought Alice; but a grin without a cat! It s the most curious thing I ever saw in all my life. Theorem Formally add them: get model CtxtGame! of DTT with ΣΠ-types! bj: lists [X k ] k, where str( (X 1 )& & (X k 1 )) X k Sub( (X k )). Mor: lists of winning strategies on Π-games of more variables.
37 We can also interpret finite inductive type families x : A (a i i {b i,j j} type: [[a i ]] {b i,j j} {b i,j i, j} else {b i,j i, j} ; identity types x : A Id B (s, t) type: σ (σ; [[s]]) (σ; [[t]]) ([[B]]).
38 Non-Example: layer: x : B, y : B p : Id B (x, y) pponent : [tt/x, ff/y] Π( B, Π( B, Id B ) tt ff tt...as tt does not lie in intersection tt ff.
39 Example: layer: x : B refl x : Id B (x, x) pponent: Π( B, Id B {diag B }) x x...as x lies in x x.
40 lace in intensionality spectrum Id-types: Domains HoTT Games Failure of Equality Reflection Streicher Intensionality Criteria (I1) and (I2) Streicher Intensionality Criterion (I3) Failure of Function Extensionality (FunExt) Failure of Uniqueness of Identity roofs (UI). Discrete ground types (0-types), but function hierarchy generates (open) propositional identities: observational equivalences.
41 Completeness Results Summarising, we have Theorem (Soundness and Faithfulness) We have a faithful model of DTT with Σ-, Π-, intensional Id-types and finite inductive type families: faithful functor Syntax DTT [[ ]] CtxtGame!.
42 Completeness Results Summarising, we have Theorem (Soundness and Faithfulness) We have a faithful model of DTT with Σ-, Π-, intensional Id-types and finite inductive type families: faithful functor Syntax DTT [[ ]] CtxtGame!. Actually, the model has strong completeness properties. Theorem (Full Completeness) This interpretation is full when restricted to the types of the form A or Π A Id B (f, g) with A and B built without Id-types: Restricted Types SyntaxDTT [[ ]] CtxtGame! full.
43 Future Work Ultimate goal: intensional, computational analysis of HoTT. game semantics of higher inductive types / quotient types; examining function extensionality and univalence; universes and a more intensional notion of type family; infinite inductive type families and their definability results; examining completeness properties of the model for the complete type hierarchy, including Id-types; constructing models of DTT with effects.
44 In particular, for the first item: HtpyGame... Gpd Set Game Game A collapsing time-like identity, a.k.a. extensional collapse Gpd Set collapsing space-like identity, a.k.a. 0-truncation X X 0. wstr(a)/obs.equiv.
45 Bonus Example (Higher order dependent functions): approving holiday plans layer/hd Student: pponent/supervisor : w : years, x : Π(y : days(w), Π(z : holidays(w, y), B)) going on holidays? : B [2015/w, acceptable holidays/x] Π(years, Π( Π(days, Π(holidays, B ))), B ) International Talk Like a irate Day ff ff (ITLD happens every year, so don t need to ask about the year. Moreover, layer is also in charge of supplying the date, so we don t have to determine the date before specifying the holiday.)
46 Bonus Example (Higher order dependent functions): approving holiday plans layer/hd Student: pponent/supervisor : w : years, x : Π(y : days(w), Π(z : holidays(w, y), B)) going on holidays? : B [2015/w, acceptable holidays/x] disobedient student... Π(years, Π( Π(days, Π(holidays, B ))), B ) International Talk Like a irate Day ff tt
47 Bonus Example (Higher order dependent functions): approving holiday plans layer/hd Student: pponent/supervisor : w : years, x : Π(y : days(w), Π(z : holidays(w, y), B)) going on holidays? : B [2015/w, acceptable holidays/x] Π(years, Π( Π(days, Π(holidays, B ))), B ) Holi tt tt (Note that Holi happens every year with variable Gregorian date and that layer gets to choose the day so can even specify the holiday before the day.)
(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 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 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 informationa brief introduction to (dependent) type theory
a brief introduction to (dependent) type theory Cory Knapp January 14, 2015 University of Birmingham what is type theory? What is type theory? formal language of terms with types x : A x has type A What
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 informationIntroduction 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 informationTyped Lambda Calculus for Syntacticians
Department of Linguistics Ohio State University January 12, 2012 The Two Sides of Typed Lambda Calculus A typed lambda calculus (TLC) can be viewed in two complementary ways: model-theoretically, as 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 informationTyped Lambda Calculus
Department of Linguistics Ohio State University Sept. 8, 2016 The Two Sides of A typed lambda calculus (TLC) can be viewed in two complementary ways: model-theoretically, as a system of notation for functions
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 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 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 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 informationThe Next 700 Syntactic Models of Type Theory
The Next 700 Syntactic Models of Type Theory Simon Boulier 1 Pierre-Marie Pédrot 2 Nicolas Tabareau 1 1 INRIA, 2 University of Ljubljana CPP 17th January 2017 Pédrot & al (INRIA & U Ljubljana) The Next
More informationSheaves and Stacks. November 5, Sheaves and Stacks
November 5, 2014 Grothendieck topologies Grothendieck topologies are an extra datum on a category. They allow us to make sense of something being locally defined. Give a formal framework for glueing problems
More informationInductive Types for Free
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 Ideology
More informationPart I Logic programming paradigm
Part I Logic programming paradigm 1 Logic programming and pure Prolog 1.1 Introduction 3 1.2 Syntax 4 1.3 The meaning of a program 7 1.4 Computing with equations 9 1.5 Prolog: the first steps 15 1.6 Two
More informationIntroduction to Type Theory August 2007 Types Summer School Bertinoro, It. Herman Geuvers Nijmegen NL
Introduction to Type Theory August 2007 Types Summer School Bertinoro, It Herman Geuvers Nijmegen NL Lecture 2: Dependent Type Theory, Logical Framework 1 For λ : Direct representation (shallow embedding)
More informationGame Semantics: an Overview
Game Semantics: an Overview Guy McCusker Game Semantics: an Overview p.1/45 What did he say? Qu est-ce ue c est la sémantiue des jeux? Or in English... Game Semantics: an Overview p.2/45 What did he say?
More informationLecture 5 - Axiomatic semantics
Program Verification March 2014 Lecture 5 - Axiomatic semantics Lecturer: Noam Rinetzky Scribes by: Nir Hemed 1.1 Axiomatic semantics The development of the theory is contributed to Robert Floyd, C.A.R
More informationLess 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 informationAXIOMS FOR THE INTEGERS
AXIOMS FOR THE INTEGERS BRIAN OSSERMAN We describe the set of axioms for the integers which we will use in the class. The axioms are almost the same as what is presented in Appendix A of the textbook,
More informationCOS 320. Compiling Techniques
Topic 5: Types COS 320 Compiling Techniques Princeton University Spring 2016 Lennart Beringer 1 Types: potential benefits (I) 2 For programmers: help to eliminate common programming mistakes, particularly
More informationHarvard School of Engineering and Applied Sciences CS 152: Programming Languages
Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Lecture 19 Tuesday, April 3, 2018 1 Introduction to axiomatic semantics The idea in axiomatic semantics is to give specifications
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 informationCalculus of Inductive Constructions
Calculus of Inductive Constructions Software Formal Verification Maria João Frade Departmento de Informática Universidade do Minho 2008/2009 Maria João Frade (DI-UM) Calculus of Inductive Constructions
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 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 information3.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 informationModule 6. Knowledge Representation and Logic (First Order Logic) Version 2 CSE IIT, Kharagpur
Module 6 Knowledge Representation and Logic (First Order Logic) 6.1 Instructional Objective Students should understand the advantages of first order logic as a knowledge representation language Students
More informationSecond-Order Type Systems
#1 Second-Order Type Systems Homework 5 Summary Student : 37.9704 Student : 44.4466 ORIGINAL : 50.2442 Student : 50.8275 Student : 50.8633 Student : 50.9181 Student : 52.1347 Student : 52.1633 Student
More informationRecent Work in Homotopy Type Theory
Recent Work in Homotopy Type Theory Steve Awodey Carnegie Mellon University AMS Baltimore January 2014 Introduction Homotopy Type Theory is a newly discovered connection between logic and topology, based
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 information5. 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 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 informationTHE DOLD-KAN CORRESPONDENCE
THE DOLD-KAN CORRESPONDENCE 1. Simplicial sets We shall now introduce the notion of a simplicial set, which will be a presheaf on a suitable category. It turns out that simplicial sets provide a (purely
More informationLogic as a framework for NL semantics. Outline. Syntax of FOL [1] Semantic Theory Type Theory
Logic as a framework for NL semantics Semantic Theory Type Theory Manfred Pinkal Stefan Thater Summer 2007 Approximate NL meaning as truth conditions. Logic supports precise, consistent and controlled
More informationProgramming in Omega Part 1. Tim Sheard Portland State University
Programming in Omega Part 1 Tim Sheard Portland State University Tim Sheard Computer Science Department Portland State University Portland, Oregon PSU PL Research at Portland State University The Programming
More informationSymmetry in Type Theory
Google May 29th, 2012 What is Symmetry? Definition Symmetry: Two or more things that initially look distinct, may actually be instances of a more general underlying principle. Why do we care? Simplicity.
More informationModelling environments in call-by-value programming languages
Modelling environments in call-by-value programming languages Paul Blain Levy University of Birmingham, Birmingham B15 2TT, UK pbl@cs.bham.ac.uk and John Power 1 University of Edinburgh, Edinburgh EH9
More informationType Theory in Type Theory using Quotient Inductive Types
Type Theory in Type Theory using Quotient Inductive Types Thorsten Altenkirch University of Nottingham {txa,auk}@cs.nott.ac.uk Ambrus Kaposi Abstract We present an internal formalisation of dependent type
More informationSemantics of programming languages
Semantics of programming languages Informatics 2A: Lecture 27 John Longley School of Informatics University of Edinburgh jrl@inf.ed.ac.uk 21 November, 2011 1 / 19 1 2 3 4 2 / 19 Semantics for programming
More informationTowards a Logical Reconstruction of Relational Database Theory
Towards a Logical Reconstruction of Relational Database Theory On Conceptual Modelling, Lecture Notes in Computer Science. 1984 Raymond Reiter Summary by C. Rey November 27, 2008-1 / 63 Foreword DB: 2
More informationDistributed Systems Programming (F21DS1) Formal Verification
Distributed Systems Programming (F21DS1) Formal Verification Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Focus on
More information1. true / false By a compiler we mean a program that translates to code that will run natively on some machine.
1. true / false By a compiler we mean a program that translates to code that will run natively on some machine. 2. true / false ML can be compiled. 3. true / false FORTRAN can reasonably be considered
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 informationTypes Summer School Gothenburg Sweden August Dogma oftype Theory. Everything has a type
Types Summer School Gothenburg Sweden August 2005 Formalising Mathematics in Type Theory Herman Geuvers Radboud University Nijmegen, NL Dogma oftype Theory Everything has a type M:A Types are a bit like
More informationProgramming with Math and Logic
.. Programming with Math and Logic an invitation to functional programming Ed Morehouse Wesleyan University The Plan why fp? terms types interfaces The What and Why of Functional Programming Computing
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 informationSafe Stratified Datalog With Integer Order Does not Have Syntax
Safe Stratified Datalog With Integer Order Does not Have Syntax Alexei P. Stolboushkin Department of Mathematics UCLA Los Angeles, CA 90024-1555 aps@math.ucla.edu Michael A. Taitslin Department of Computer
More informationIntroduction 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 informationThe Truth about Types. Bartosz Milewski
The Truth about Types Bartosz Milewski Truth Truth Logic Types Categories Truth intro Unit type Terminal object true I () : () Proofs Logic Types Categories Proof of proposition A Type A is inhabited Morphism
More informationProgram Calculus Calculational Programming
Program Calculus Calculational Programming National Institute of Informatics June 21 / June 28 / July 5, 2010 Program Calculus Calculational Programming What we will learn? Discussing the mathematical
More informationOn a few open problems of the Calculus of Inductive Constructions and on their practical consequences
On a few open problems of the Calculus of Inductive Constructions and on their practical consequences Hugo Herbelin PPS, 24 September 2009 (updated May 2010) 1 Outline - From the Calculus of Constructions
More informationGoal. CS152: Programming Languages. Lecture 15 Parametric Polymorphism. What the Library Likes. What The Client Likes. Start simpler.
Goal Understand what this interface means and why it matters: CS152: Programming Languages Lecture 15 Parametric Polymorphism Dan Grossman Spring 2011 type a mylist; val mt_list : a mylist val cons : a
More informationThe Formal Semantics of Programming Languages An Introduction. Glynn Winskel. The MIT Press Cambridge, Massachusetts London, England
The Formal Semantics of Programming Languages An Introduction Glynn Winskel The MIT Press Cambridge, Massachusetts London, England Series foreword Preface xiii xv 1 Basic set theory 1 1.1 Logical notation
More informationLecture 3: Typed Lambda Calculus and Curry-Howard
Lecture 3: Typed Lambda Calculus and Curry-Howard H. Geuvers Radboud University Nijmegen, NL 21st Estonian Winter School in Computer Science Winter 2016 H. Geuvers - Radboud Univ. EWSCS 2016 Typed λ-calculus
More informationIntroduction 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 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 informationCSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter p. 1/27
CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter 2.1-2.7 p. 1/27 CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer
More informationTHE 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 informationCSCC24 Functional Programming Scheme Part 2
CSCC24 Functional Programming Scheme Part 2 Carolyn MacLeod 1 winter 2012 1 Based on slides from Anya Tafliovich, and with many thanks to Gerald Penn and Prabhakar Ragde. 1 The Spirit of Lisp-like Languages
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 informationNote that in this definition, n + m denotes the syntactic expression with three symbols n, +, and m, not to the number that is the sum of n and m.
CS 6110 S18 Lecture 8 Structural Operational Semantics and IMP Today we introduce a very simple imperative language, IMP, along with two systems of rules for evaluation called small-step and big-step semantics.
More informationCOMP80 Lambda Calculus Programming Languages Slides Courtesy of Prof. Sam Guyer Tufts University Computer Science History Big ideas Examples:
COMP80 Programming Languages Slides Courtesy of Prof. Sam Guyer Lambda Calculus Formal system with three parts Notation for functions Proof system for equations Calculation rules called reduction Idea:
More informationTWO COORDINATIZATION THEOREMS FOR PROJECTIVE PLANES
TWO COORDINATIZATION THEOREMS FOR PROJECTIVE PLANES HARRY ALTMAN A projective plane Π consists of a set of points Π p, a set of lines Π L, and a relation between them, denoted and read on, satisfying the
More informationLecture 1: Overview
15-150 Lecture 1: Overview Lecture by Stefan Muller May 21, 2018 Welcome to 15-150! Today s lecture was an overview that showed the highlights of everything you re learning this semester, which also meant
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 informationCubical Homotopy Type Theory
Cubical Homotopy Type Theory Steve Awodey Carnegie Mellon University Logic Colloquium and CLMPS August 2015 Outline I. Basic ideas of Homotopy Type Theory. II. The univalence axiom. III. Higher inductive
More informationLambda Calculus. Type Systems, Lectures 3. Jevgeni Kabanov Tartu,
Lambda Calculus Type Systems, Lectures 3 Jevgeni Kabanov Tartu, 13.02.2006 PREVIOUSLY ON TYPE SYSTEMS Arithmetical expressions and Booleans Evaluation semantics Normal forms & Values Getting stuck Safety
More informationDependent Types and Irrelevance
Dependent Types and Irrelevance Christoph-Simon Senjak Technische Universität München Institut für Informatik Boltzmannstraße 3 85748 Garching PUMA Workshop September 2012 Dependent Types Dependent Types
More informationDatabases = Categories
Databases = Categories David I. Spivak dspivak@math.mit.edu Mathematics Department Massachusetts Institute of Technology Presented on 2010/09/16 David I. Spivak (MIT) Databases = Categories Presented on
More informationFoundations and Applications of Higher-Dimensional Directed Type Theory
1 Overview Foundations and Applications of Higher-Dimensional Directed Type Theory Intuitionistic type theory [43] is an expressive formalism that unifies mathematics and computation. A central concept
More informationLecture 3: Recursion; Structural Induction
15-150 Lecture 3: Recursion; Structural Induction Lecture by Dan Licata January 24, 2012 Today, we are going to talk about one of the most important ideas in functional programming, structural recursion
More information9/19/12. Why Study Discrete Math? What is discrete? Sets (Rosen, Chapter 2) can be described by discrete math TOPICS
What is discrete? Sets (Rosen, Chapter 2) TOPICS Discrete math Set Definition Set Operations Tuples Consisting of distinct or unconnected elements, not continuous (calculus) Helps us in Computer Science
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 informationContents. 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 informationCSc 372. Comparative Programming Languages. 2 : Functional Programming. Department of Computer Science University of Arizona
1/37 CSc 372 Comparative Programming Languages 2 : Functional Programming Department of Computer Science University of Arizona collberg@gmail.com Copyright c 2013 Christian Collberg 2/37 Programming Paradigms
More informationKnowledge Representation and Reasoning Logics for Artificial Intelligence
Knowledge Representation and Reasoning Logics for Artificial Intelligence Stuart C. Shapiro Department of Computer Science and Engineering and Center for Cognitive Science University at Buffalo, The State
More information3.4 Deduction and Evaluation: Tools Conditional-Equational Logic
3.4 Deduction and Evaluation: Tools 3.4.1 Conditional-Equational Logic The general definition of a formal specification from above was based on the existence of a precisely defined semantics for the syntax
More informationZ Notation. June 21, 2018
Z Notation June 21, 2018 1 Definitions There are many different ways to introduce an object in a Z specification: declarations, abbreviations, axiomatic definitions, and free types. Keep in mind that the
More informationIntroduction to dependent types in Coq
October 24, 2008 basic use of the Coq system In Coq, you can play with simple values and functions. The basic command is called Check, to verify if an expression is well-formed and learn what is its type.
More informationFundamentals and lambda calculus. Deian Stefan (adopted from my & Edward Yang s CSE242 slides)
Fundamentals and lambda calculus Deian Stefan (adopted from my & Edward Yang s CSE242 slides) Logistics Assignments: Programming assignment 1 is out Homework 1 will be released tomorrow night Podcasting:
More informationDynamic Logic David Harel, The Weizmann Institute Dexter Kozen, Cornell University Jerzy Tiuryn, University of Warsaw The MIT Press, Cambridge, Massac
Dynamic Logic David Harel, The Weizmann Institute Dexter Kozen, Cornell University Jerzy Tiuryn, University of Warsaw The MIT Press, Cambridge, Massachusetts, 2000 Among the many approaches to formal reasoning
More informationKnowledge Representation and Reasoning Logics for Artificial Intelligence
Knowledge Representation and Reasoning Logics for Artificial Intelligence Stuart C. Shapiro Department of Computer Science and Engineering and Center for Cognitive Science University at Buffalo, The State
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 informationLecture Notes on Data Representation
Lecture Notes on Data Representation 15-814: Types and Programming Languages Frank Pfenning Lecture 9 Tuesday, October 2, 2018 1 Introduction In this lecture we ll see our type system in action. In particular
More informationNotes on categories, the subspace topology and the product topology
Notes on categories, the subspace topology and the product topology John Terilla Fall 2014 Contents 1 Introduction 1 2 A little category theory 1 3 The subspace topology 3 3.1 First characterization of
More informationTextbook: Chapter 6! CS425 Fall 2013 Boris Glavic! Chapter 3: Formal Relational Query. Relational Algebra! Select Operation Example! Select Operation!
Chapter 3: Formal Relational Query Languages CS425 Fall 2013 Boris Glavic Chapter 3: Formal Relational Query Languages Relational Algebra Tuple Relational Calculus Domain Relational Calculus Textbook:
More informationProgramming Languages Third Edition
Programming Languages Third Edition Chapter 12 Formal Semantics Objectives Become familiar with a sample small language for the purpose of semantic specification Understand operational semantics Understand
More informationConstructing the Propositional Truncation using Non-recursive HITs
Constructing the Propositional Truncation using Non-recursive HITs Floris van Doorn Carnegie Mellon University January 19, 2016 Floris van Doorn (CMU) Constructing Propositional Truncation January 19,
More informationCMPS 277 Principles of Database Systems. https://courses.soe.ucsc.edu/courses/cmps277/fall11/01. Lecture #11
CMPS 277 Principles of Database Systems https://courses.soe.ucsc.edu/courses/cmps277/fall11/01 Lecture #11 1 Limitations of Relational Algebra & Relational Calculus Outline: Relational Algebra and Relational
More informationDATABASE THEORY. Lecture 11: Introduction to Datalog. TU Dresden, 12th June Markus Krötzsch Knowledge-Based Systems
DATABASE THEORY Lecture 11: Introduction to Datalog Markus Krötzsch Knowledge-Based Systems TU Dresden, 12th June 2018 Announcement All lectures and the exercise on 19 June 2018 will be in room APB 1004
More informationMLW. Henk Barendregt and Freek Wiedijk assisted by Andrew Polonsky. March 26, Radboud University Nijmegen
1 MLW Henk Barendregt and Freek Wiedijk assisted by Andrew Polonsky Radboud University Nijmegen March 26, 2012 inductive types 2 3 inductive types = types consisting of closed terms built from constructors
More informationType Systems COMP 311 Rice University Houston, Texas
Rice University Houston, Texas 1 Type Systems for Programming Language were invented by mathematicians before electronic computers were invented. What is a type? A meaningful subset of the set of the domain
More informationFundamentals and lambda calculus
Fundamentals and lambda calculus Again: JavaScript functions JavaScript functions are first-class Syntax is a bit ugly/terse when you want to use functions as values; recall block scoping: (function ()
More informationMAT 3271: Selected Solutions to the Assignment 6
Chapter 2: Major Exercises MAT 3271: Selected Solutions to the Assignment 6 1. Since a projective plan is a model of incidence geometry, Incidence Axioms 1-3 and Propositions 2.1-2.5 (which follow logically
More informationLambda Calculus and Type Inference
Lambda Calculus and Type Inference Björn Lisper Dept. of Computer Science and Engineering Mälardalen University bjorn.lisper@mdh.se http://www.idt.mdh.se/ blr/ October 13, 2004 Lambda Calculus and Type
More informationA Model of Type Theory in Simplicial Sets
A Model of Type Theory in Simplicial Sets A brief introduction to Voevodsky s Homotopy Type Theory T. Streicher Fachbereich 4 Mathematik, TU Darmstadt Schlossgartenstr. 7, D-64289 Darmstadt streicher@mathematik.tu-darmstadt.de
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 information