A Canonical 1 Locally Named Representation of Binding. α -equivalence is identity. Randy Pollack. Masahiko Sato. LFCS, University of Edinburgh

Size: px
Start display at page:

Download "A Canonical 1 Locally Named Representation of Binding. α -equivalence is identity. Randy Pollack. Masahiko Sato. LFCS, University of Edinburgh"

Transcription

1 A Canonical 1 Locally Named Representation of Binding Randy Pollack LFCS, University of Edinburgh Masahiko Sato Graduate School of Informatics, Kyoto University Version of September 3, α -equivalence is identity

2 Details of This Work Isabelle theory files: Full paper on previous work (to appear in J. Symbolic Computation): Workshop paper on current work: See my web page for these slides and above papers

3 Outline Introduction: Local Representations Symbolic Expressions (sexpr) Variable-Closed Sexprs A Canonical Representation Adequacy of the Representation Examples Conclusion

4 Introduction: Local Representations Outline Introduction: Local Representations Symbolic Expressions (sexpr) Variable-Closed Sexprs A Canonical Representation Adequacy of the Representation Examples Conclusion

5 Introduction: Local Representations Local Representations Syntactically distinct classes for (locally) bound variables vs (globally bound) free parameters. Different styles: Locally named: two species of names; name-carrying abstraction. McKinna/Pollack [TLCA 1993] formalized Pure Type System metatheory. Not canonical representation. Locally nameless: names for parameters, de Bruijn indices for locally bound variables. Ademir, Chargueraud, Pierce, Pollack and Weirich [POPL 08]. Canonical representation. This talk: make locally named representation canonical and do it abstractly.

6 Introduction: Local Representations Why Local Representations? They are concrete: Close to informal usage. Anything true can be proved. Relatively light infrastructure (compared to Twelf or nominal Isabelle). Can be used in intensional constructive logics (e.g. Coq). Technically convenient: Correct terms are an inductively defined subset of a datatype. Constructors (incl. abstraction) are injective. Straightforward definitions by primitive recursion. Natural inversion principles.

7 Introduction: Local Representations Why Locally Named Representation? Here I get onto religious ground. Locally nameless still has de Bruijn infelicity: Induction hypotheses have to be generalized. Technical issues such as opening an abstraction more complicated. Locally named is more beautiful than locally nameless.

8 Introduction: Local Representations Strengthened Induction and Inversion Necessary McKinna/Pollack [TLCA 93] [JAR 1999]. Ademir, Chargueraud, Pierce, Pollack and Weirich [POPL 08] Urban and Pollack [WMM 07] Strong Induction Principles in the Locally Nameless Representation of Binders. In this talk I ignore this issue: see above papers

9 Introduction: Local Representations We Will show: A canonical, locally named representation refining the representation of McKinna/Pollack (1993) in substitution preserving isomorphism with nominal terms. The canonical choice of binding names is interesting and abstract.

10 Symbolic Expressions (sexpr) Outline Introduction: Local Representations Symbolic Expressions (sexpr) Variable-Closed Sexprs A Canonical Representation Adequacy of the Representation Examples Conclusion

11 Symbolic Expressions (sexpr) Syntax of pre-terms Names: Countable set V of atoms used for local variables: x, y, z. Countable set X of atoms, used for global parameters: X, Y, Z. Only relation needed on V, X is decidable equality. Nominal Isabelle atom types are convenient. Symbolic Expressions ( S ): Datatype of pre-terms (pure λ ) ranged over by M, N, P, Q : M ::= x X P Q [x]m Usual induction principles for this datatype. Name-carrying syntax. In general, may be other classes of variables, parameters and expressions e.g. types and terms in System F.

12 Symbolic Expressions (sexpr) Occurrences of Names Occurrences of global names (parameters) X A means X does not occur syntactically in A. Easily defined by structural recursion In nominal Isabelle, our corresponds to nominal freshness (also written ). Free occurrences of Local Variables (LV) Defined by structural recursion. Respects intended scoping of abstraction. LV(X) LV(x) LV(M N) LV([x]M) = {} = {x} = LV(M) LV(N) = LV(M) {x}

13 Symbolic Expressions (sexpr) Substitution, Concretely Concretely defined by structural recursion: [M/X]x = x [M/X]Y = if X = Y then M else Y [M/X]N N = ([M/X]N) [M/X]N [M/X]([x]N) = [x][m/x]n Deterministic: no choosing arbitrary names. Thus has natural properties; e.g. [X/X]M = M. X M = [P/X]M = M. Does not prevent capture, e.g. [x/x][x]x = [x]x. Will only be use in safe ways. Substitution is a B-algebra homomorophism; see Pollack and Sato (J. Symb. Comp.).

14 Symbolic Expressions (sexpr) Not Substitution: a purely technical operation Used to fill a hole (free variable) created by going under a binder. Defined by structural recursion: [M/y]x = if y = x then M else x [M/y]X = X [M/y]([x]N) = [x](if y = x then N else [M/y]N) [M/y]N 1 N 2 = ([M/y]N 1 ) [M/y]N 2 Respects intended scope of binding. Does not prevent capture, e.g. [x/y][x]y = [x]x. Not a B-algebra homomorophism.

15 Outline Introduction: Local Representations Symbolic Expressions (sexpr) Variable-Closed Sexprs A Canonical Representation Adequacy of the Representation Examples Conclusion

16 Overview: Symbolic expressions vs λ -terms Sexprs do not faithfully represent λ -terms for two reasons. 1. Local variables may appear unbound in sexprs. x is an sexpr, but is not intended to represent any λ -term. Remark: X is an sexpr representing a λ -term with one (particular) global variable. The fix: select the set of sexprs with no unbound local variables. Call this subset vclosed for variable closed. Substitution is well-behaved on vclosed. 2. Different sexprs in vclosed may represent the same λ -term. [x]x and [y]y ; not canonical. The fix: select a canonical subset of vclosed. Show that it is an adequate representation of λ -terms.

17 Overview: Symbolic expressions vs λ -terms Sexprs do not faithfully represent λ -terms for two reasons. 1. Local variables may appear unbound in sexprs. x is an sexpr, but is not intended to represent any λ -term. Remark: X is an sexpr representing a λ -term with one (particular) global variable. The fix: select the set of sexprs with no unbound local variables. Call this subset vclosed for variable closed. Substitution is well-behaved on vclosed. 2. Different sexprs in vclosed may represent the same λ -term. [x]x and [y]y ; not canonical. The fix: select a canonical subset of vclosed. Show that it is an adequate representation of λ -terms.

18 Overview: Symbolic expressions vs λ -terms Sexprs do not faithfully represent λ -terms for two reasons. 1. Local variables may appear unbound in sexprs. x is an sexpr, but is not intended to represent any λ -term. Remark: X is an sexpr representing a λ -term with one (particular) global variable. The fix: select the set of sexprs with no unbound local variables. Call this subset vclosed for variable closed. Substitution is well-behaved on vclosed. 2. Different sexprs in vclosed may represent the same λ -term. [x]x and [y]y ; not canonical. The fix: select a canonical subset of vclosed. Show that it is an adequate representation of λ -terms.

19 Overview: Symbolic expressions vs λ -terms Sexprs do not faithfully represent λ -terms for two reasons. 1. Local variables may appear unbound in sexprs. x is an sexpr, but is not intended to represent any λ -term. Remark: X is an sexpr representing a λ -term with one (particular) global variable. The fix: select the set of sexprs with no unbound local variables. Call this subset vclosed for variable closed. Substitution is well-behaved on vclosed. 2. Different sexprs in vclosed may represent the same λ -term. [x]x and [y]y ; not canonical. The fix: select a canonical subset of vclosed. Show that it is an adequate representation of λ -terms.

20 Variable-Closed Sexprs Variable-Closed Sexprs A predicate meaning no free variables. vclosed X vclosed M vclosed N vclosed M N vclosed M vclosed [x][x/x]m An abstraction is vclosed when.... Every parameter is vclosed and no variable is vclosed. vclosed M is provably equivalent to LV(M) = {}. Thus vclosed is intuitively correct. Use vclosed induction instead of sexpr structural induction no case for unbound variables.

21 Variable-Closed Sexprs Variable-Closed and Substitution Operations [M/X]N and [M/x]N are capture free on vclosed. vclosed is trivially closed under substitution: vclosed M vclosed N = vclosed [M/X]N Think of vclosed as a weak typing judgement. vclosed terms behave well for substitution, just as well-typed terms behave well for computation. Remark: The vclosed representation has been used for a big formalisation of type theory [McKinna/Pollack, TLCA 93]. Remember: vclosed representation not canonical.

22 A Canonical Representation A Canonical Representation Consider again the vclosed rules: vclosed X vclosed M vclosed N vclosed M N vclosed M vclosed [x][x/x]m Local variable x not determined in the rule for abstraction. To define a canonical subset L F, choose x deterministically: X : L F M : L F N : L F M N : L F M : L F x = F X (M) [x][x/x]m : L F parameterized by a height function F : X S V. Clearly M : L F = vclosed M, so substitution is capture free. Not obvious that L F is closed under substitution. Still to do: specify F such that L F well behaved.

23 A Canonical Representation Notation Define abs X (M) = [F X (M)][F X (M)/X]M. Abstraction rule can now be written more abstractly. X : L F M : L F N : L F M N : L F M : L F abs X (M) : L F Everything is now parameterised by a height function F, so drop the explicit subscript.

24 A Canonical Representation A Good Height Function Interpret V as N. H : X S N defined by structural recursion: H X (Y ) H X (x) H X (M N) H X ([x]m) = = 0 { 1 if X = Y 0 if X Y = { max(h X (M), H X (N)) HX (M) if H X (M) = 0 or H X (M) > x x + 1 otherwise = L H is isomorphic to nominal lambda terms. This is too concrete; what properties are really needed?

25 A Canonical Representation Three Properties of Good F : X S V (HE) F is equivariant: (HP) F is preserved by substitution: M : L = F X (M) = F [π]x ([π]m). M : L Q : L X Y X Q = F X (M) = F X ([Q/Y ]M). (HF) F X (M) does not occur in binding position on any path from the root of M to any occurrence of X in M. M : L = F X (M) / E X (M) where E X (M) : X S (V set) is defined: E X (α) E X (M N) E X ([x]m) = {} if α is atomic = E{ X (M) E X (N) {} if X M = {x} E X (M) otherwise

26 A Canonical Representation Consistency and Independence of Goodness (HE), (HP) and (HF) are consistent: H is good. (HE), (HP) and (HF) are independent: no two imply the third. Proof by examples Now develop a theory of good F sufficient to prove adequacy of the representation. Many interesting properties follow from goodness of F : L is equivariant: M : L [π]m : L Height lemma: F X (M) / LV(M) = N : L. [N/F X (M)][F X (M)/X]M = [N/X]M. See most recent paper on my webpage.

27 Adequacy of the Representation Outline Introduction: Local Representations Symbolic Expressions (sexpr) Variable-Closed Sexprs A Canonical Representation Adequacy of the Representation Examples Conclusion

28 Adequacy of the Representation Isomorphism with Nominal Done formally in Isabelle. A, B, C range over nominal terms. Define a representation function by primitive recursion :!X = X!(A B) =!A!B![X]A = abs X (!A) Need (HE) ( F equivariant), to show! is a function. Assuming F is good,! is an isomorphic function that preserves substitution: M : L = A.!A = M! is surjective,!a =!B = A = B! is injective,!(a[x::=b]) = [!B/X]!A! respects substitution.

29 Adequacy of the Representation A Converse: Is Goodness of F Required? In this direction we assume! is a substitution preserving isomorphism and have to prove F is good. Still working on this.

30 Examples Outline Introduction: Local Representations Symbolic Expressions (sexpr) Variable-Closed Sexprs A Canonical Representation Adequacy of the Representation Examples Conclusion

31 Examples Example: β -reduction [x]p : L N : L ([x]p) N [N/x]P M 1 M 2 N : L M 1 N M 2 N M N abs X (M) abs X (N) (β) M : L N 1 N 2 M N 1 M N 2 (ξ) Note rule (ξ)! High level notation abs _ (_) hides details. is well behaved, e.g. is equivariant. M N implies M : L and N : L.

32 Examples Example: Simple Type Assignment Let S, T range over simple types. A type context, Γ, is a set of pairs (X, T ) such that no two different pairs have the same first component. (X, T ) Γ Γ X : T Type assignment is equivariant. Γ M : S T Γ M N : T Γ (X, S) M : T Γ abs X (M) : S T Γ M : S Γ M : T = M : L. To prove weakening of we must derive a strengthened induction principle, as usual. Nominal Isabelle can do this automatically.

33 Conclusion Outline Introduction: Local Representations Symbolic Expressions (sexpr) Variable-Closed Sexprs A Canonical Representation Adequacy of the Representation Examples Conclusion

34 Conclusion Conclusion Canonical name-carrying representation of binding. Well formed terms: inductively defined subset of a datatype. All definitions by structural recursion. All constructors injective. More beautiful than [McKinna/Pollack, TLCA 93] ours is canonical. More beautiful than locally nameless [Ayedemir et al., POPL 08]... name carrying, no indexes. Light infrastructure. Formalisable in intensional constructive logic in a few days. Large scale use still requires infrastructure. Nominal Isabelle package provides some free automation.

A Canonical 1 Local Representation of Binding. α -equivalence is identity. Randy Pollack. Masahiko Sato. LFCS, University of Edinburgh

A 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 information

Local Representations of Binding

Local 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 information

Editorial Manager(tm) for Journal of Automated Reasoning Manuscript Draft

Editorial Manager(tm) for Journal of Automated Reasoning Manuscript Draft Editorial Manager(tm) for Journal of Automated Reasoning Manuscript Draft Manuscript Number: Title: A Canonical Locally Named Representation of Binding Article Type: Special Issue TAASN Keywords: binding;

More information

Formal SOS-Proofs for the Lambda-Calculus

Formal SOS-Proofs for the Lambda-Calculus LSFA 8 Formal SOS-Proofs for the Lambda-Calculus Christian Urban 1 and Julien Narboux TU Munich, Germany University of Strasbourg, France Abstract We describe in this paper formalisations for the properties

More information

HOAS by example What is a Formal System? A Simply Typed Framework What Does it Mean? Canonical LF References HOAS. Randy Pollack

HOAS by example What is a Formal System? A Simply Typed Framework What Does it Mean? Canonical LF References HOAS. Randy Pollack HOAS Randy Pollack Version of November 2, 2011 Outline 1 HOAS by example 2 What is a Formal System? 3 A Simply Typed Framework 4 What Does it Mean? 5 Canonical LF Judgement Forms and Rules Hereditary Substitution

More information

The Locally Nameless Representation

The Locally Nameless Representation Noname manuscript No. (will be inserted by the editor) The Locally Nameless Representation Arthur Charguéraud Received: date / Accepted: date Abstract This paper provides an introduction to the locally

More information

Nominal Inversion Principles

Nominal Inversion Principles Nominal Inversion Principles Stefan Berghofer and Christian Urban Technische Universität München Institut für Informatik, Boltzmannstraße 3, 85748 Garching, Germany Abstract. When reasoning about inductively

More information

Lectures on The Lambda Calculus (I)

Lectures on The Lambda Calculus (I) Lectures on The Lambda Calculus (I) Masahiko Sato Graduate School of Informatics, Kyoto University Autumn school Proof and Computation Fischbachau, Germany October 4, 2016 Overview In these lectures, I

More information

Automated Reasoning Lecture 5: First-Order Logic

Automated Reasoning Lecture 5: First-Order Logic Automated Reasoning Lecture 5: First-Order Logic Jacques Fleuriot jdf@inf.ac.uk Recap Over the last three lectures, we have looked at: Propositional logic, semantics and proof systems Doing propositional

More information

A Formalised Proof of Craig s Interpolation Theorem in Nominal Isabelle

A 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 information

A Recursion Combinator for Nominal Datatypes Implemented in Isabelle/HOL

A 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 information

A Common Notation System for the Lambda-Calculus and Combinatory Logic

A Common Notation System for the Lambda-Calculus and Combinatory Logic A Common Notation System for the Lambda-Calculus and Combinatory Logic Masahiko Sato Graduate School of Informatics, Kyoto University Joint work with Takafumi Sakurai and Helmut Schwichtenberg IFIP WG

More information

Nominal Unification. Key words: Abstract Syntax, Alpha-Conversion, Binding Operations, Unification

Nominal Unification. Key words: Abstract Syntax, Alpha-Conversion, Binding Operations, Unification Nominal Unification Christian Urban a Andrew M. Pitts a Murdoch J. Gabbay b a University of Cambridge, Cambridge, UK b INRIA, Paris, France Abstract We present a generalisation of first-order unification

More information

HORSes: format, termination and confluence

HORSes: format, termination and confluence HORSes: format, termination and confluence Jean-Pierre Jouannaud INRIA-LIAMA and singhua Software Chair Joint on-going work with Jianqi Li School of Software, singhua University Project CoqLF NList Cross-discipline

More information

Reasoning with Higher-Order Abstract Syntax and Contexts: A Comparison

Reasoning with Higher-Order Abstract Syntax and Contexts: A Comparison 1 Reasoning with Higher-Order Abstract Syntax and Contexts: A Comparison Amy Felty University of Ottawa July 13, 2010 Joint work with Brigitte Pientka, McGill University 2 Comparing Systems We focus on

More information

Type Theory and Constructive Mathematics. Type Theory and Constructive Mathematics Thierry Coquand. University of Gothenburg

Type Theory and Constructive Mathematics. Type Theory and Constructive Mathematics Thierry Coquand. University of Gothenburg Type Theory and Constructive Mathematics Type Theory and Constructive Mathematics Thierry Coquand University of Gothenburg Content An introduction to Voevodsky s Univalent Foundations of Mathematics The

More information

Candidates for Substitution

Candidates for Substitution Candidates for Substitution Healfdene Goguen hhg@dcs.ed.ac.uk James McKinna jhm@dcs.ed.ac.uk Laboratory for Foundations of Computer Science Department of Computer Science The King s Buildings, University

More information

From Constructibility and Absoluteness to Computability and Domain Independence

From Constructibility and Absoluteness to Computability and Domain Independence From Constructibility and Absoluteness to Computability and Domain Independence Arnon Avron School of Computer Science Tel Aviv University, Tel Aviv 69978, Israel aa@math.tau.ac.il Abstract. Gödel s main

More information

Some Recent Logical Frameworks

Some Recent Logical Frameworks Some Recent Logical Frameworks Randy Pollack LFCS, University of Edinburgh Version of September 13, 2010 Outline Edinburgh Logical Framework (ELF) (LICS 1987) Reminder by Example Some Problems with ELF

More information

λ Slide 1 Content Exercises from last time λ-calculus COMP 4161 NICTA Advanced Course Advanced Topics in Software Verification

λ Slide 1 Content Exercises from last time λ-calculus COMP 4161 NICTA Advanced Course Advanced Topics in Software Verification Content COMP 4161 NICTA Advanced Course Advanced Topics in Software Verification Toby Murray, June Andronick, Gerwin Klein λ Slide 1 Intro & motivation, getting started [1] Foundations & Principles Lambda

More information

Formalising the π-calculus in Isabelle

Formalising 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 information

Bootstrapping Mathematics

Bootstrapping Mathematics Bootstrapping Mathematics Masahiko Sato Graduate School of Informatics, Kyoto University Mathematical Logic: Development and Evolution into Various Sciences Kanazawa, Japan March 9, 2012 Contents What

More information

The Curry-Howard Isomorphism

The Curry-Howard Isomorphism The Curry-Howard Isomorphism Software Formal Verification Maria João Frade Departmento de Informática Universidade do Minho 2008/2009 Maria João Frade (DI-UM) The Curry-Howard Isomorphism MFES 2008/09

More information

02 The Axiomatic Method

02 The Axiomatic Method CAS 734 Winter 2005 02 The Axiomatic Method Instructor: W. M. Farmer Revised: 11 January 2005 1 What is Mathematics? The essence of mathematics is a process consisting of three intertwined activities:

More information

Binding Structures as an Abstract Data Type

Binding Structures as an Abstract Data Type Binding Structures as an Abstract Data Type Wilmer Ricciotti IRIT Institut de Recherche en Informatique de Toulouse Université de Toulouse Wilmer.Ricciotti@irit.fr Abstract. A long line of research has

More information

Omitting Types in Fuzzy Predicate Logics

Omitting Types in Fuzzy Predicate Logics University of Ostrava Institute for Research and Applications of Fuzzy Modeling Omitting Types in Fuzzy Predicate Logics Vilém Novák and Petra Murinová Research report No. 126 2008 Submitted/to appear:

More information

hal , version 1-21 Oct 2009

hal , version 1-21 Oct 2009 ON SKOLEMISING ZERMELO S SET THEORY ALEXANDRE MIQUEL Abstract. We give a Skolemised presentation of Zermelo s set theory (with notations for comprehension, powerset, etc.) and show that this presentation

More information

Beyond First-Order Logic

Beyond 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 information

Predicate Logic. x. x + 0 = x. Predicate logic over integer expressions: a language of logical assertions, for example. Why discuss predicate logic?

Predicate Logic. x. x + 0 = x. Predicate logic over integer expressions: a language of logical assertions, for example. Why discuss predicate logic? Predicate Logic Predicate logic over integer expressions: a language of logical assertions, for example x. x + 0 = x Why discuss predicate logic? It is an example of a simple language It has simple denotational

More information

Theoretical Computer Science 323 (2004) Nominal unication. Cambridge CB3 OFD, UK b INRIA, Paris, France

Theoretical Computer Science 323 (2004) Nominal unication. Cambridge CB3 OFD, UK b INRIA, Paris, France Theoretical Computer Science 323 (2004) 473 497 www.elsevier.com/locate/tcs Nominal unication Christian Urban a, Andrew M. Pitts a;, Murdoch J. Gabbay b a University of Cambridge, Marconi Laboratory, William

More information

Mechanizing Metatheory in a Logical Framework

Mechanizing Metatheory in a Logical Framework Under consideration for publication in J. Functional Programming 1 Mechanizing Metatheory in a Logical Framework Robert Harper and Daniel R. Licata Carnegie Mellon University (e-mail: {rwh,drl}@cs.cmu.edu)

More information

TR : Binding Modalities

TR : Binding Modalities City University of New York (CUNY) CUNY Academic Works Computer Science Technical Reports Graduate Center 2012 TR-2012011: Binding Modalities Sergei N. Artemov Tatiana Yavorskaya (Sidon) Follow this and

More information

arxiv: v3 [cs.pl] 15 May 2011

arxiv: v3 [cs.pl] 15 May 2011 A Step-indexed Semantic Model of Types for the Call-by-Name Lambda Calculus arxiv:1105.1985v3 [cs.pl] 15 May 2011 Abstract Step-indexed semantic models of types were proposed as an alternative to purely

More information

Nominal Completion for Rewrite Systems with Binders

Nominal Completion for Rewrite Systems with Binders Nominal Completion for Rewrite Systems with Binders Maribel Fernández King s College London July 2012 Joint work with Albert Rubio Summary Motivations Nominal Rewriting Closed nominal rules Confluence

More information

Type Systems as a Foundation for Reliable Computing

Type Systems as a Foundation for Reliable Computing Type Systems as a Foundation for Reliable Computing Robert Harper Carnegie Mellon University Summer School on Reliable Computing University of Oregon July, 2005 References These lectures are based on the

More information

Binding in Nominal Equational Logic

Binding in Nominal Equational Logic MFPS 2010 Binding in Nominal Equational Logic Ranald Clouston 1,2 Computer Laboratory, University of Cambridge, Cambridge CB3 0DF, United Kingdom Abstract Many formal systems, particularly in computer

More information

Completeness Theorems and λ-calculus

Completeness Theorems and λ-calculus Thierry Coquand Apr. 23, 2005 Content of the talk We explain how to discover some variants of Hindley s completeness theorem (1983) via analysing proof theory of impredicative systems We present some remarks

More information

The Calculus of Inductive Constructions

The Calculus of Inductive Constructions The Calculus of Inductive Constructions Hugo Herbelin 10th Oregon Programming Languages Summer School Eugene, Oregon, June 16-July 1, 2011 1 Outline - A bit of history, leading to the Calculus of Inductive

More information

Predicate Logic. Xinyu Feng 09/26/2011. University of Science and Technology of China (USTC)

Predicate Logic. Xinyu Feng 09/26/2011. University of Science and Technology of China (USTC) University of Science and Technology of China (USTC) 09/26/2011 Overview Predicate logic over integer expressions: a language of logical assertions, for example x. x + 0 = x Why discuss predicate logic?

More information

Examples: P: it is not the case that P. P Q: P or Q P Q: P implies Q (if P then Q) Typical formula:

Examples: P: it is not the case that P. P Q: P or Q P Q: P implies Q (if P then Q) Typical formula: Logic: The Big Picture Logic is a tool for formalizing reasoning. There are lots of different logics: probabilistic logic: for reasoning about probability temporal logic: for reasoning about time (and

More information

Structural Induction

Structural Induction Structural Induction In this lecture we ll extend the applicability of induction to many universes, ones where we can define certain kinds of objects by induction, in addition to proving their properties

More information

Propositional Logic: Syntax

Propositional Logic: Syntax Logic Logic is a tool for formalizing reasoning. There are lots of different logics: probabilistic logic: for reasoning about probability temporal logic: for reasoning about time (and programs) epistemic

More information

Short Introduction to Admissible Recursion Theory

Short Introduction to Admissible Recursion Theory Short Introduction to Admissible Recursion Theory Rachael Alvir November 2016 1 Axioms of KP and Admissible Sets An admissible set is a transitive set A satisfying the axioms of Kripke-Platek Set Theory

More information

Applied Logic. Lecture 1 - Propositional logic. Marcin Szczuka. Institute of Informatics, The University of Warsaw

Applied Logic. Lecture 1 - Propositional logic. Marcin Szczuka. Institute of Informatics, The University of Warsaw Applied Logic Lecture 1 - Propositional logic Marcin Szczuka Institute of Informatics, The University of Warsaw Monographic lecture, Spring semester 2017/2018 Marcin Szczuka (MIMUW) Applied Logic 2018

More information

TR : Possible World Semantics for First Order LP

TR : Possible World Semantics for First Order LP City University of New York (CUNY) CUNY Academic Works Computer Science Technical Reports Graduate Center 2011 TR-2011010: Possible World Semantics for First Order LP Melvin Fitting Follow this and additional

More information

Modern Algebra Prof. Manindra Agrawal Department of Computer Science and Engineering Indian Institute of Technology, Kanpur

Modern Algebra Prof. Manindra Agrawal Department of Computer Science and Engineering Indian Institute of Technology, Kanpur Modern Algebra Prof. Manindra Agrawal Department of Computer Science and Engineering Indian Institute of Technology, Kanpur Lecture 02 Groups: Subgroups and homomorphism (Refer Slide Time: 00:13) We looked

More information

Consequence Relations and Natural Deduction

Consequence Relations and Natural Deduction Consequence Relations and Natural Deduction Joshua D. Guttman Worcester Polytechnic Institute September 9, 2010 Contents 1 Consequence Relations 1 2 A Derivation System for Natural Deduction 3 3 Derivations

More information

Relating Nominal and Higher-Order Pattern Unification

Relating Nominal and Higher-Order Pattern Unification Relating Nominal and Higher-Order Pattern Unification James Cheney University of Edinburgh UNIF 2005 April 22, 2005 1 Motivation Higher-order unification: studied since ca. 1970 Undecidable, infinitary,

More information

Notation for Logical Operators:

Notation for Logical Operators: Notation for Logical Operators: always true always false... and...... or... if... then...... if-and-only-if... x:x p(x) x:x p(x) for all x of type X, p(x) there exists an x of type X, s.t. p(x) = is equal

More information

Completeness and Incompleteness in nominal Kleene algebra

Completeness and Incompleteness in nominal Kleene algebra 1/35 Completeness and Incompleteness in nominal Kleene algebra Dexter Kozen, Konstantinos Mamouras, Alexandra Silva Cornell University, University College London & HasLab INESC TEC September 28th, 2015

More information

Focusing on Binding and Computation

Focusing on Binding and Computation Focusing on Binding and Computation Dan Licata Joint work with Noam Zeilberger and Robert Harper Carnegie Mellon University 1 Programming with Proofs Represent syntax, judgements, and proofs Reason about

More information

Extended Abstract: Reconsidering Intuitionistic Duality

Extended Abstract: Reconsidering Intuitionistic Duality Extended Abstract: Reconsidering Intuitionistic Duality Aaron Stump, Harley Eades III, Ryan McCleeary Computer Science The University of Iowa 1 Introduction This paper proposes a new syntax and proof system

More information

Logic for Computational Effects: work in progress

Logic 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 information

Between proof theory and model theory Three traditions in logic: Syntactic (formal deduction)

Between proof theory and model theory Three traditions in logic: Syntactic (formal deduction) Overview Between proof theory and model theory Three traditions in logic: Syntactic (formal deduction) Jeremy Avigad Department of Philosophy Carnegie Mellon University avigad@cmu.edu http://andrew.cmu.edu/

More information

Přednáška 12. Důkazové kalkuly Kalkul Hilbertova typu. 11/29/2006 Hilbertův kalkul 1

Přednáška 12. Důkazové kalkuly Kalkul Hilbertova typu. 11/29/2006 Hilbertův kalkul 1 Přednáška 12 Důkazové kalkuly Kalkul Hilbertova typu 11/29/2006 Hilbertův kalkul 1 Formal systems, Proof calculi A proof calculus (of a theory) is given by: A. a language B. a set of axioms C. a set of

More information

Introduction to type theory and homotopy theory

Introduction to type theory and homotopy theory Introduction to type theory and homotopy theory Michael Shulman January 24, 2012 1 / 47 Homotopy theory Homotopy type theory types have a homotopy theory Intensional type theory New perspectives on extensional

More information

1 / A bird s-eye view of type theory. 2 A bird s-eye view of homotopy theory. 3 Path spaces and identity types. 4 Homotopy type theory

1 / A bird s-eye view of type theory. 2 A bird s-eye view of homotopy theory. 3 Path spaces and identity types. 4 Homotopy type theory Introduction to type theory and homotopy theory Michael Shulman January 24, 2012 Homotopy theory Homotopy type theory types have a homotopy theory New perspectives on extensional vs. intensional Intensional

More information

Syntax. Notation Throughout, and when not otherwise said, we assume a vocabulary V = C F P.

Syntax. Notation Throughout, and when not otherwise said, we assume a vocabulary V = C F P. First-Order Logic Syntax The alphabet of a first-order language is organised into the following categories. Logical connectives:,,,,, and. Auxiliary symbols:.,,, ( and ). Variables: we assume a countable

More information

Stochastic Histories. Chapter Introduction

Stochastic Histories. Chapter Introduction Chapter 8 Stochastic Histories 8.1 Introduction Despite the fact that classical mechanics employs deterministic dynamical laws, random dynamical processes often arise in classical physics, as well as in

More information

CHAPTER 0: BACKGROUND (SPRING 2009 DRAFT)

CHAPTER 0: BACKGROUND (SPRING 2009 DRAFT) CHAPTER 0: BACKGROUND (SPRING 2009 DRAFT) MATH 378, CSUSM. SPRING 2009. AITKEN This chapter reviews some of the background concepts needed for Math 378. This chapter is new to the course (added Spring

More information

Mathematical 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 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 information

Equational Reasoning in Algebraic Structures: a Complete Tactic

Equational Reasoning in Algebraic Structures: a Complete Tactic Equational Reasoning in Algebraic Structures: a Complete Tactic Luís Cruz-Filipe 1,2 and Freek Wiedijk 1 1 NIII, University of Nijmegen, Netherlands and 2 CLC, Lisbon, Portugal Abstract We present rational,

More information

Program-ing in Coq. Matthieu Sozeau under the direction of Christine Paulin-Mohring

Program-ing in Coq. Matthieu Sozeau under the direction of Christine Paulin-Mohring Program-ing in Coq Matthieu Sozeau under the direction of Christine Paulin-Mohring LRI, Univ. Paris-Sud - Démons Team & INRIA Saclay - ProVal Project Foundations of Programming seminar February 15th 2008

More information

Nominal Rewriting. Maribel Fernández. ISR - June King s College London

Nominal Rewriting. Maribel Fernández. ISR - June King s College London King s College London ISR - June 2009 - Course Syllabus Introduction First-order languages Languages with binding operators Specifying binders: α-equivalence Nominal terms Nominal unification (unification

More information

An Introduction to Gödel s Theorems

An Introduction to Gödel s Theorems An Introduction to Gödel s Theorems In 1931, the young Kurt Gödel published his First Incompleteness Theorem, which tells us that, for any sufficiently rich theory of arithmetic, there are some arithmetical

More information

NICTA Advanced Course. Theorem Proving Principles, Techniques, Applications. Gerwin Klein Formal Methods

NICTA 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 information

Notes on Propositional and First-Order Logic (CPSC 229 Class Notes, January )

Notes on Propositional and First-Order Logic (CPSC 229 Class Notes, January ) Notes on Propositional and First-Order Logic (CPSC 229 Class Notes, January 23 30 2017) John Lasseter Revised February 14, 2017 The following notes are a record of the class sessions we ve devoted to the

More information

Informal Statement Calculus

Informal Statement Calculus FOUNDATIONS OF MATHEMATICS Branches of Logic 1. Theory of Computations (i.e. Recursion Theory). 2. Proof Theory. 3. Model Theory. 4. Set Theory. Informal Statement Calculus STATEMENTS AND CONNECTIVES Example

More information

The Reflection Theorem

The 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 information

Relational Reasoning for Recursive Types and References

Relational Reasoning for Recursive Types and References Relational Reasoning for Recursive Types and References Nina Bohr and Lars Birkedal IT University of Copenhagen (ITU) {ninab,birkedal}@itu.dk Abstract. We present a local relational reasoning method for

More information

EXAMPLE OF ONE-STEP METHOD

EXAMPLE OF ONE-STEP METHOD EXAMPLE OF ONE-STEP METHOD Consider solving y = y cos x, y(0) = 1 Imagine writing a Taylor series for the solution Y (x), say initially about x = 0. Then Y (h) = Y (0) + hy (0) + h2 2 Y (0) + h3 6 Y (0)

More information

Univalent Foundations and Set Theory

Univalent Foundations and Set Theory Univalent Foundations and Set Theory Talk by Vladimir Voevodsky from Institute for Advanced Study in Princeton, NJ. May 8, 2013 1 Univalent foundations - are based on a class of formal deduction systems

More information

07 Practical Application of The Axiomatic Method

07 Practical Application of The Axiomatic Method CAS 701 Fall 2002 07 Practical Application of The Axiomatic Method Instructor: W. M. Farmer Revised: 28 November 2002 1 What is the Axiomatic Method? 1. A mathematical model is expressed as a set of axioms

More information

Names and Symmetry in Computer Science

Names and Symmetry in Computer Science 1/27 Names and Symmetry in Computer Science Andrew Pitts Computer Laboratory LICS 2015 Tutorial 2/27 An introduction to nominal techniques motivated by Programming language semantics Automata theory Constructive

More information

1 Introduction. 2 Recap The Typed λ-calculus λ. 3 Simple Data Structures

1 Introduction. 2 Recap The Typed λ-calculus λ. 3 Simple Data Structures CS 6110 S18 Lecture 21 Products, Sums, and Other Datatypes 1 Introduction In this lecture, we add constructs to the typed λ-calculus that allow working with more complicated data structures, such as pairs,

More information

Gödel s Incompleteness Theorem. Overview. Computability and Logic

Gödel s Incompleteness Theorem. Overview. Computability and Logic Gödel s Incompleteness Theorem Overview Computability and Logic Recap Remember what we set out to do in this course: Trying to find a systematic method (algorithm, procedure) which we can use to decide,

More information

Math 144 Summer 2012 (UCR) Pro-Notes June 24, / 15

Math 144 Summer 2012 (UCR) Pro-Notes June 24, / 15 Before we start, I want to point out that these notes are not checked for typos. There are prbally many typeos in them and if you find any, please let me know as it s extremely difficult to find them all

More information

Modal Logic as a Basis for Distributed Computation

Modal Logic as a Basis for Distributed Computation Modal Logic as a Basis for Distributed Computation Jonathan Moody 1 jwmoody@cs.cmu.edu October 2003 CMU-CS-03-194 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 1 This material

More information

Classical First-Order Logic

Classical First-Order Logic Classical 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) First-Order Logic (Classical) MFES 2008/09

More information

Formal Language and Automata Theory (CS21004)

Formal Language and Automata Theory (CS21004) Theory (CS21004) Announcements The slide is just a short summary Follow the discussion and the boardwork Solve problems (apart from those we dish out in class) Table of Contents 1 2 3 Languages that are

More information

Logics - Introduction

Logics - Introduction Logics 1 Logics - Introduction So far we have seen a variety of operational formalisms based on some some notion of state and event/transition model the evolution of the system Now instead we will analyze

More information

Decision, Computation and Language

Decision, Computation and Language Decision, Computation and Language Non-Deterministic Finite Automata (NFA) Dr. Muhammad S Khan (mskhan@liv.ac.uk) Ashton Building, Room G22 http://www.csc.liv.ac.uk/~khan/comp218 Finite State Automata

More information

Lecture Notes on The Curry-Howard Isomorphism

Lecture Notes on The Curry-Howard Isomorphism Lecture Notes on The Curry-Howard Isomorphism 15-312: Foundations of Programming Languages Frank Pfenning Lecture 27 ecember 4, 2003 In this lecture we explore an interesting connection between logic and

More information

CSC 7101: Programming Language Structures 1. Axiomatic Semantics. Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11.

CSC 7101: Programming Language Structures 1. Axiomatic Semantics. Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11. Axiomatic Semantics Stansifer Ch 2.4, Ch. 9 Winskel Ch.6 Slonneger and Kurtz Ch. 11 1 Overview We ll develop proof rules, such as: { I b } S { I } { I } while b do S end { I b } That allow us to verify

More information

Context Free Grammars

Context Free Grammars Automata and Formal Languages Context Free Grammars Sipser pages 101-111 Lecture 11 Tim Sheard 1 Formal Languages 1. Context free languages provide a convenient notation for recursive description of languages.

More information

Groups and higher groups in homotopy type theory

Groups and higher groups in homotopy type theory Groups and higher groups in homotopy type theory Ulrik Buchholtz TU Darmstadt Arbeitstagung Bern-München, December 14, 2017 1 Groups 2 Higher Groups 3 Nominal Types 4 Formalizing type theory 5 Conclusion

More information

arxiv: v1 [cs.pl] 19 May 2016

arxiv: v1 [cs.pl] 19 May 2016 arxiv:1605.05858v1 [cs.pl] 19 May 2016 Domain Theory: An Introduction Robert Cartwright Rice University Rebecca Parsons ThoughtWorks, Inc. Moez AbdelGawad SRTA-City Hunan University This monograph is an

More information

NICTA Advanced Course. Theorem Proving Principles, Techniques, Applications

NICTA Advanced Course. Theorem Proving Principles, Techniques, Applications NICTA Advanced Course Theorem Proving Principles, Techniques, Applications λ 1 CONTENT Intro & motivation, getting started with Isabelle Foundations & Principles Lambda Calculus Higher Order Logic, natural

More information

Peano Arithmetic. CSC 438F/2404F Notes (S. Cook) Fall, Goals Now

Peano Arithmetic. CSC 438F/2404F Notes (S. Cook) Fall, Goals Now CSC 438F/2404F Notes (S. Cook) Fall, 2008 Peano Arithmetic Goals Now 1) We will introduce a standard set of axioms for the language L A. The theory generated by these axioms is denoted PA and called Peano

More information

Propositional and Predicate Logic. jean/gbooks/logic.html

Propositional and Predicate Logic.   jean/gbooks/logic.html CMSC 630 February 10, 2009 1 Propositional and Predicate Logic Sources J. Gallier. Logic for Computer Science, John Wiley and Sons, Hoboken NJ, 1986. 2003 revised edition available on line at http://www.cis.upenn.edu/

More information

Notes on the Dual Ramsey Theorem

Notes on the Dual Ramsey Theorem Notes on the Dual Ramsey Theorem Reed Solomon July 29, 2010 1 Partitions and infinite variable words The goal of these notes is to give a proof of the Dual Ramsey Theorem. This theorem was first proved

More information

Denoting computation

Denoting computation A jog from Scott Domains to Hypercoherence Spaces 13/12/2006 Outline Motivation 1 Motivation 2 What Does Denotational Semantic Mean? Trivial examples Basic things to know 3 Scott domains di-domains 4 Event

More information

CS522 - Programming Language Semantics

CS522 - Programming Language Semantics 1 CS522 - Programming Language Semantics Simply Typed Lambda Calculus Grigore Roşu Department of Computer Science University of Illinois at Urbana-Champaign 2 We now discuss a non-trivial extension of

More information

Axiomatisation of Hybrid Logic

Axiomatisation of Hybrid Logic Imperial College London Department of Computing Axiomatisation of Hybrid Logic by Louis Paternault Submitted in partial fulfilment of the requirements for the MSc Degree in Advanced Computing of Imperial

More information

Predicate Logic. Xinyu Feng 11/20/2013. University of Science and Technology of China (USTC)

Predicate Logic. Xinyu Feng 11/20/2013. University of Science and Technology of China (USTC) University of Science and Technology of China (USTC) 11/20/2013 Overview Predicate logic over integer expressions: a language of logical assertions, for example x. x + 0 = x Why discuss predicate logic?

More information

A π-calculus with preorders

A π-calculus with preorders A π-calculus with preorders Daniel Hirschkoff, Jean-Marie Madiot, Davide Sangiorgi École Normale Supérieure de Lyon Università di Bologna PACE kick-off meeting, 2013-04-23 Jean-Marie Madiot (Lyon, Bologna)

More information

1. Propositional Calculus

1. Propositional Calculus 1. Propositional Calculus Some notes for Math 601, Fall 2010 based on Elliott Mendelson, Introduction to Mathematical Logic, Fifth edition, 2010, Chapman & Hall. 2. Syntax ( grammar ). 1.1, p. 1. Given:

More information

Lecture 6: Finite Fields

Lecture 6: Finite Fields CCS Discrete Math I Professor: Padraic Bartlett Lecture 6: Finite Fields Week 6 UCSB 2014 It ain t what they call you, it s what you answer to. W. C. Fields 1 Fields In the next two weeks, we re going

More information

Tutorial on Axiomatic Set Theory. Javier R. Movellan

Tutorial on Axiomatic Set Theory. Javier R. Movellan Tutorial on Axiomatic Set Theory Javier R. Movellan Intuitively we think of sets as collections of elements. The crucial part of this intuitive concept is that we are willing to treat sets as entities

More information