Λ-Calculus & Intuitionistic Logic Project Aims Cartesian Closed Categories Correspondence between CCC & λ unit, →, × 1© CHUANGJIE XU 2010.

Slides:



Advertisements
Similar presentations
Problems of syntax-semantics interface ESSLLI 02 Trento.
Advertisements

But… Why not to have a syntax built on the same principles as those of semantic composition?
T YPE I SOMORPHISM O LA M AHMOUD S UPERVISED BY : D R. M ARCELO F IORE UNIVERSITY OF CAMBRIDGE Computer Laboratory Theory & Semantics Group I NTRODUCTION.
Proofs and Programs Wei Hu 11/01/2007. Outline  Motivation  Theory  Lambda calculus  Curry-Howard Isomorphism  Dependent types  Practice  Coq Wei.
Elements of Lambda Calculus Functional Programming Academic Year Alessandro Cimatti
Fuzzy Logic The restriction of classical propositional calculus to a two- valued logic has created many interesting paradoxes over the ages. For example,
CLASSICAL LOGIC and FUZZY LOGIC. CLASSICAL LOGIC In classical logic, a simple proposition P is a linguistic, or declarative, statement contained within.
MATHEMATICAL FOUNDATIONS SUPPLEMENTAL MATERIAL – NOT ON EXAM.
School of Computing and Engineering, University of Huddersfield CHA2545: WEEK 14 LECTURE: ABSTRACT SYNTAX SIMPLE EXAMPLE OF SEMANTICS DEFINITION TUTORIAL/PRACTICAL:
Artificial Intelligence Modal Logic
What’s left in the course. The course in a nutshell Logics Techniques Applications.
Agenda Foundational Questions about Research Elements of Theory Sources and Evaluation of Definitions Meta-Theories.
1 CA 208 Logic Logic Prof. Josef van Genabith Textbooks:  The Essence of Logic, John Kelly, Prentice Hall, 1997  Prolog Programming, Third Edition, Ivan.
Proofs are Programs: 19th Century Logic and 21st Century Computing CS 510: Programming Languages (a talk adapted from Philip Wadler)
1 CA 208 Logic Ex4 Commutativity (P  Q)  Associativity P  (Q  R)  (P  Q)  R Distributivity P  (Q  R)  Idempotency.
Logical Properties of CPS Transforms Deepak Garg Fall, 2004.
PSUCS322 HM 1 Languages and Compiler Design II Formal Semantics Material provided by Prof. Jingke Li Stolen with pride and modified by Herb Mayer PSU Spring.
Administrative stuff On Thursday, we will start class at 11:10, and finish at 11:55 This means that each project will get a 10 minute presentation + 5.
Comp 205: Comparative Programming Languages Semantics of Functional Languages Term- and Graph-Rewriting The λ-calculus Lecture notes, exercises, etc.,
Slides 01 1 Type-Free λ-Calculus The λ-calculus is a family of prototype programming languages invented by the logician, Alonzo Church, in the 1930's.
CS 4700: Foundations of Artificial Intelligence
Type Systems and Object- Oriented Programming John C. Mitchell Stanford University.
Slides 00 1 Advanced Logics Part 1: Lambda Calculus and Type Theory Lecturer: Lim Yohanes Stefanus Part 2: Modal Logic Lecturer: Gregory Wheeler.
1 Category Theory in a ( E,M ) -category Some aspects of category theory, in particular related to universality, can be developed in any finitely complete.
1 Type-Directed Concurrency Deepak Garg, Frank Pfenning {dg+, Carnegie Mellon University.
FIRST ORDER LOGIC Levent Tolga EREN.
DEDUCTIVE DATABASE.
Discrete Mathematics and Its Applications
A Brief Summary for Exam 1 Subject Topics Propositional Logic (sections 1.1, 1.2) –Propositions Statement, Truth value, Proposition, Propositional symbol,
PPL Static Verification: Type Inference Lecture Notes: Chapter 2.
© Kenneth C. Louden, Chapter 11 - Functional Programming, Part III: Theory Programming Languages: Principles and Practice, 2nd Ed. Kenneth C. Louden.
Typed Lambda Calculus Chapter 9 Benjamin Pierce Types and Programming Languages.
110/19/2015CS360 AI & Robotics AI Application Areas  Neural Networks and Genetic Algorithms  These model the structure of neurons in the brain  Humans.
The Bernays-Schönfinkel Fragment of First-Order Autoepistemic Logic Peter Baumgartner MPI Informatik, Saarbrücken.
CT214 – Logical Foundations of Computing Lecture 6 Predicate Calculus.
Kansas State University Department of Computing and Information Sciences CIS 730: Introduction to Artificial Intelligence Lecture 11 of 41 Wednesday, 15.
© Kenneth C. Louden, Chapter 11 - Functional Programming, Part III: Theory Programming Languages: Principles and Practice, 2nd Ed. Kenneth C. Louden.
Albert Gatt LIN3021 Formal Semantics Lecture 4. In this lecture Compositionality in Natural Langauge revisited: The role of types The typed lambda calculus.
PPL Applicative and Normal Form Verification, Type Checking and Inference.
Principles of Programming Languages Lecture 1 Slides by Yaron Gonen, based on slides by Daniel Deutch and lecture notes by Prof. Mira Balaban.
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
1 CA 208 Logic PQ PQPQPQPQPQPQPQPQ
1 Introduction to Abstract Mathematics Chapter 2: The Logic of Quantified Statements. Predicate Calculus Instructor: Hayk Melikya 2.3.
CS6133 Software Specification and Verification
Mathematical Preliminaries
Implementing a Dependently Typed λ -Calculus Ali Assaf Abbie Desrosiers Alexandre Tomberg.
Artificial Intelligence Chapter 15 The Predicate Calculus Artificial Intelligence Chapter 15 The Predicate Calculus Biointelligence Lab School of Computer.
School of Computing and Engineering, University of Huddersfield CHA2545: WEEK 14 – SEMANTICS EXAMPLE LECTURE: SIMPLE EXAMPLE OF SEMANTICS DEFINITION TUTORIAL/PRACTICAL:
CS383 Programming Languages Quiz Which one of the following is NOT a part of doing an inductive proof? a.Clearly state the induction hypothesis.
Functional Programming: Lisp MacLennan Chapter 10.
SE305 Database System Technology 25/09/2014 Quiz-1.
Albert Gatt LIN3021 Formal Semantics Lecture 3. Aims This lecture is divided into two parts: 1. We make our first attempts at formalising the notion of.
Propositional Logic Rather than jumping right into FOL, we begin with propositional logic A logic involves: §Language (with a syntax) §Semantics §Proof.
ARTIFICIAL INTELLIGENCE Lecture 2 Propositional Calculus.
Cut Elimination – Splitting versus Proof Nets Antrittsvortrag zur Diplomarbeit von Matthias Horbach Betreuer: Lutz Straßburger.
Type checking and inference Question 2: Typing the application (if #t (+ 1 2) 3) STAGE-I: Renaming ExpressionVariable (if #t (+ 1 2) 3) T0 (+ 1 2) T1 +
Lambda Calculus A fairly simple system for representing functions The base of typed functional programming languages such as ML and Haskell.
CS321 Functional Programming 2 © JAS The λ Calculus This is a formal system to capture the ideas of function abstraction and application introduced.
CT214 – Logical Foundations of Computing Darren Doherty Rm. 311 Dept. of Information Technology NUI Galway
Comp 205: Comparative Programming Languages The Untyped λ-calculus representing values Lecture notes, exercises, etc., can be found at:
6/21/20161 Programming Languages and Compilers (CS 421) Reza Zamani Based in part on slides by Mattox Beckman,
CENG 424-Logic for CS Introduction Based on the Lecture Notes of Konstantin Korovin, Valentin Goranko, Russel and Norvig, and Michael Genesereth.
Formal Modeling Concepts
Type checking and inference
The Foundations: Logic and Proofs
Information Technology Department
A Brief Summary for Exam 1
PROPOSITIONAL LOGIC - SYNTAX-
Functional Programming: Lisp
Presentation transcript:

λ-Calculus & Intuitionistic Logic Project Aims Cartesian Closed Categories Correspondence between CCC & λ unit, →, × 1© CHUANGJIE XU 2010

2  Study the foundations of the Curry-Howard Isomorphism  Probe into one of its extensions: The three-way-correspondence between intuitionistic logic, typed lambda calculus and cartesian closed categories

3© CHUANGJIE XU 2010  A family of prototype programming languages  A λ-term M can be an atom (term-variable), an application, or an abstraction, i.e.  Three types of equivalences: α -conversion: β -conversion: η -conversion:

4© CHUANGJIE XU 2010  A typed interpretation of the lambda calculus with one type constructor → that builds function types  Type: can be an atom (type-variable) or a composite type ( σ →τ, where σ both τ and are types)  Type-assignment: any term M : σ where M is a λ-term and σ is a type  The syntax of λ → is essentially that of the λ-calculus itself

5© CHUANGJIE XU 2010  Typing rules for λ → : If x is a variable and σ is a type, then x: σ has type σ ; ( →E ): If M has type σ →τ and N has type σ, then application MN has type τ ; ( →I ): If term M has type τ and variable x has type σ, then abstraction λx: σ. M has type σ →τ.

6© CHUANGJIE XU 2010  Judgments about statements: Existence of a proof or construction of that statement  The set Φ of formulas in intuitionist propositional logic:

7© CHUANGJIE XU 2010 Systems of LogicComputational Calculi FormulasTypes ProofsTerms

8© CHUANGJIE XU 2010  A typed interpretation of the lambda calculus with one type constructor → that builds function types Intuitionist Propositional Logic VS λ null, unit, →, ⨉, +

9© CHUANGJIE XU 2010  A typed interpretation of the lambda calculus with one type constructor → that builds function types