Slides 00 1 Advanced Logics Part 1: Lambda Calculus and Type Theory Lecturer: Lim Yohanes Stefanus Part 2: Modal Logic Lecturer: Gregory Wheeler.

Slides:



Advertisements
Similar presentations
1 Knowledge Representation Introduction KR and Logic.
Advertisements

Formal Models of Computation Part III Computability & Complexity
Computer Science CPSC 322 Lecture 25 Top Down Proof Procedure (Ch 5.2.2)
Possible World Semantics for Modal Logic
CS 345: Chapter 9 Algorithmic Universality and Its Robustness
1 PROPERTIES OF A TYPE ABSTRACT INTERPRETATER. 2 MOTIVATION OF THE EXPERIMENT § a well understood case l type inference in functional programming à la.
David Evans CS655: Programming Languages University of Virginia Computer Science Lecture 19: Minding Ps & Qs: Axiomatic.
VIDE als voortzetting van Cocktail SET Seminar 11 september 2008 Dr. ir. Michael Franssen.
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages Chapter 3 : Describing Syntax and Semantics Axiomatic Semantics.
ISBN Chapter 3 Describing Syntax and Semantics.
Software Reliability CIS 640 Adapted from the lecture notes by Doron Pelel (
CPSC 322, Lecture 19Slide 1 Propositional Logic Intro, Syntax Computer Science cpsc322, Lecture 19 (Textbook Chpt ) February, 23, 2009.
Artificial Intelligence Modal Logic
1 Introduction to Computability Theory Lecture15: Reductions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture13: Mapping Reductions Prof. Amos Israeli.
Language Specfication and Implementation - PART II: Semantics of Procedural Programming Languages Lee McCluskey Department of Computing and Mathematical.
CPSC 322, Lecture 20Slide 1 Propositional Definite Clause Logic: Syntax, Semantics and Bottom-up Proofs Computer Science cpsc322, Lecture 20 (Textbook.
Self-Reference - Induction Cmput Lecture 7 Department of Computing Science University of Alberta ©Duane Szafron 1999 Some code in this lecture is.
0 PROGRAMMING IN HASKELL Chapter 1 - Introduction.
Lecture 4&5: Model Checking: A quick introduction Professor Aditya Ghose Director, Decision Systems Lab School of IT and Computer Science University of.
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)
Describing Syntax and Semantics
EE1J2 – Discrete Maths Lecture 5 Analysis of arguments (continued) More example proofs Formalisation of arguments in natural language Proof by contradiction.
Propositional Calculus Math Foundations of Computer Science.
Foundations of Programming Languages – Course Overview Xinyu Feng Acknowledgments: some slides taken or adapted from lecture notes of Stanford CS242
C OURSE : D ISCRETE STRUCTURE CODE : ICS 252 Lecturer: Shamiel Hashim 1 lecturer:Shamiel Hashim second semester Prepared by: amani Omer.
Intro to Discrete Structures
Chapter 6: Objections to the Physical Symbol System Hypothesis.
CS 103 Discrete Structures Lecture 01 Introduction to the Course
Dr. Naveed Riaz Design and Analysis of Algorithms 1 1 Formal Methods in Software Engineering Lecture # 24.
1 Knowledge Based Systems (CM0377) Lecture 4 (Last modified 5th February 2001)
Discrete mathematics Kwon, Taekyoung Courtesy of Dr. Michael P. Frank University of Florida.
Logic. Mathematical logic is a subfield of mathematics exploring the applications of formal logic to mathematics. Topically, mathematical logic bears.
The Recursion Theorem Pages 217– ADVANCED TOPICS IN C O M P U T A B I L I T Y THEORY.
Slide 1 Propositional Definite Clause Logic: Syntax, Semantics and Bottom-up Proofs Jim Little UBC CS 322 – CSP October 20, 2014.
0 What logic is or should be Propositions Boolean operations The language of classical propositional logic Interpretation and truth Validity (tautologicity)
Formal Verification Lecture 9. Formal Verification Formal verification relies on Descriptions of the properties or requirements Descriptions of systems.
Course Overview and Road Map Computability and Logic.
Logic in Computer Science - Overview Sep 1, 2009 박성우.
Lecture Comp 25 Math & Logic Discussion. What is logic? Logic is the study of reason Focus is the method or process by which an argument unfolds Aristotle.
1 CS 385 Fall 2006 Chapter 1 AI: Early History and Applications.
Copyright © Cengage Learning. All rights reserved.
1/10/ Math/CSE 1019N: Discrete Mathematics for Computer Science Winter 2007 Suprakash Datta Office: CSEB 3043 Phone:
CSE Winter 2008 Introduction to Program Verification January 15 tautology checking.
Lecture 5 1 CSP tools for verification of Sec Prot Overview of the lecture The Casper interface Refinement checking and FDR Model checking Theorem proving.
Computer Science CPSC 322 Lecture 22 Logical Consequences, Proof Procedures (Ch 5.2.2)
Copyright © Cengage Learning. All rights reserved. CHAPTER 4 ELEMENTARY NUMBER THEORY AND METHODS OF PROOF ELEMENTARY NUMBER THEORY AND METHODS OF PROOF.
1 CS 381 Introduction to Discrete Structures Lecture #1 Syllabus Week 1.
This Week Lecture on relational semantics Exercises on logic and relations Labs on using Isabelle to do proofs.
Lecture 4 Correctness and Fairness Verification and Assurance.
From Natural Language to LTL: Difficulties Capturing Natural Language Specification in Formal Languages for Automatic Analysis Elsa L Gunter NJIT.
CSC3315 (Spring 2009)1 CSC 3315 Languages & Compilers Hamid Harroud School of Science and Engineering, Akhawayn University
Erik Meijer FP101x - Functional Programming Programming in Haskell - Introduction.
Artificial Intelligence Knowledge Representation.
Notions & Notations - 1ICOM 4075 (Fall 2010) UPRM Department of Electrical and Computer Engineering University of Puerto Rico at Mayagüez Fall 2010 ICOM.
Introductory Lecture. What is Discrete Mathematics? Discrete mathematics is the part of mathematics devoted to the study of discrete (as opposed to continuous)
서울대한양대 ( 안 산 ) 충남대 1년1년 컴퓨터기초 (C) 컴퓨터프로그래밍 (C, Java) 컴퓨터프로그래밍 (C) 2. 봄 프로그래밍 원리 (Scheme, ML) Structure & Interpretation of Computer Programs 프로그래밍 방법론.
CPSC 121: Models of Computation REVIEW. Course Learning Outcomes You should be able to: – model important problems so that they are easier to discuss,
Proof And Strategies Chapter 2. Lecturer: Amani Mahajoub Omer Department of Computer Science and Software Engineering Discrete Structures Definition Discrete.
CENG 424-Logic for CS Introduction Based on the Lecture Notes of Konstantin Korovin, Valentin Goranko, Russel and Norvig, and Michael Genesereth.
Functional Programming
Lecture 1 – Formal Logic.
Course Software Testing & Verification 2016/17 Wishnu Prasetya
IS 2935: Developing Secure Systems
Computers & Programming Languages
Course Software Testing & Verification 2017/18 Wishnu Prasetya
Perpendicular and Parallel Lines
Habib Ullah qamar Mscs(se)
Presentation transcript:

Slides 00 1 Advanced Logics Part 1: Lambda Calculus and Type Theory Lecturer: Lim Yohanes Stefanus Part 2: Modal Logic Lecturer: Gregory Wheeler

Slides 00 2 course webpage

Slides 00 3 Part 1

Slides 00 4 References J. Roger Hindley. Basic Simple Type Theory. Cambridge University Press, H. P. Barendregt. Lambda Calculi with Types, in Handbook of Logic in Computer Science, Vol. 2, ed. S. Abramsky et al., CLarendon Press, 1992, pp /Vorlesungen/Typentheorie/SS98/barendregt.html

Slides 00 5 Marking Scheme  [20%] one programming assignment in Prolog, Haskell, or Java (the principle-type algorithm in Hindley's book chapter 3); last day for presentation: Friday March 31 st, 2006  [10% each] three exercises  [50%] written exam (Friday April 21 st, 2006)

Slides 00 6 Overview Different kinds of logic have been developed to express various situations. Not only the formal power of different logics that is at issue, but also how useful they are at representing different real life situations. Here are just a few of the well-known logics: classical logic, intuitionistic logic, temporal logic, modal logic, linear logic.

Slides 00 7 We can think of these as a set of tools that can be applied to different situations, depending on which concept we are modeling. Classical logic fits with most of our daily reasoning; it is based on the notion of truth. Intuitionistic logic is more about proof than truth – a sentence is true when we can provide a constructive proof of the statement.

Slides 00 8 An example that distinguishes intuitionistic logic from classical logic is the sentence "A or not A". In classical logic, this is always true, since whatever A is (true or false), the sentence is true. In intuitionistic logic we are unable to prove this sentence, since in general it is not the case that we can find a proof of either "A" or "not A".

Slides 00 9 Temporal logic captures the notion of time in a proof and allows us to express ideas such that sentences become true at a certain point in time. More generally, modal logics explore alternative modes of truth, where truth may depend on the state we are in, whether it be time, a set of beliefs or the current state of a machine.

Slides Linear logic is a refined logic that captures the notion of resources in a proof. A proof of a sentence in linear logic requires that we have correctly used all the assumptions.

Slides All of these logics have applications in computer science, for example: intuitionistic logic is used for type systems in functional programming; temporal logic is used for concurrent system specification / verification and model checking; modal logic is used for AI; and linear logic is used for automated theorem proving.

Slides Why Type Theory? It provides a framework which brings together logic and programming languages in an elegant way such that  program development and verification can proceed within a single system.  programs can be extracted from proofs in the logic.

Slides Focus We study one very neat and special polymorphic type system called TA (for "type-assignment"). Its types contain type-variables and arrows but nothing else, and its terms are built by λ-abstraction and application from term-variables and nothing else. Its expressive power is close to that of the system called simple type theory, developed by Alonzo Church.

Slides TA has no ∀-types and hence it is weaker than the strong polymorphic theories. However, it lies at the core of nearly every one of them. TA is an excellent training ground for learning the techniques of type-theory as a whole. TA's methods and algorithms are not trivial; and many complex techniques for analyzing structures in the stronger type- theories, appear in TA in a very clean and neat stripped-down form.

Slides By learning the basic techniques of type theory from TA, you will acquire a very good foundation for the study of other type systems.