Classical logic, truth tables. Types, Propositions and Problems. Heyting. Brouwer. Conjunction A B A & B T T T T F F F T F F F F.

Size: px
Start display at page:

Download "Classical logic, truth tables. Types, Propositions and Problems. Heyting. Brouwer. Conjunction A B A & B T T T T F F F T F F F F."

Transcription

1 lassical logic, truth tables Types, Propositions and Problems an introduction to type theoretical ideas engt Nordström omputing Science, halmers and University of Göteborg Types Summer School, Hisingen, 15 ugust 2005 onjunction Disjunction & T T T T F F F T F F F F T T T T F T F T T F F F Implication T T T T F F F T T F F T This assumes that a proposition is either true or false! rouwer Heyting rouwer rejected the idea that the meaning of a mathematical proposition is its truth value. Mathematical propositions do not exist independently of us. We cannot say that a proposition is true without having a proof of it. Heyting was a student of rouwer. He gave the following explanation of the logical constants.

2 Kolmogorov Heyting s explanation of the logical constants (1930) proof of: consists of: & a proof of and a proof of a proof of or a proof of a method which takes any proof of to a proof of a method which takes any proof of to a proof of absurdity has no proof x. an element a in and a proof of [x := a] x. a method, which takes any element x in to a proof of [x := a] Independently of Heyting, Kolmogorov interpreted propositions as problems. Kolmogorov understood the logical constants as problems (1932) The problem: & is solved if we can: solve and solve solve or solve reduce the solution of to the solution of show that there is no solution of has no solution Heyting s and Kolmogorov s explanation proof (solution) of: consists of: & a proof (solution) of and a proof (solution) of a proof (solution) of or a proof (solution) of a method which takes any proof (solution) of to a proof (solution) of a method which takes any proof (solution) of to a proof (solution) of absurdity has no proof (solution) x. an element a in and a proof (solution) of [x := a] x. a method, which takes any element x in to a proof (solution) of [x := a] Question: Is this correct? ould not a proof (solution) of & be obtained by induction, for instance?

3 Direct and indirect proofs Examples of indirect proofs When we say that we have a proof of a proposition, then we mean that we have a method which when computed yields a direct proof of it. ompare this with mathematics and programming: When we say that and fst(< 45 2, 9 >) are natural numbers, then we mean that they can be computed to a natural number. Terminology: proofs: objects: direct vs. indirect proof value vs. expression canonical vs. non-canonical proof canonical vs. noncanonical element introduction vs. elimination proof nd-elimination & If we have a proof of &, then we can compute it to a direct proof. This always consists of a proof of and a proof of. Hence we may always obtain a proof of from a proof of &. Mathematical induction n N P(0) ( n N)P(n) P(succ(n)) P(i) What is a proposition (problem)? To summarize Heyting s and Kolmogorov s explanations: What does it mean to understand a proposition? I understand a proposition when I understand what a direct proof of it is. This looks very similar to: What does it mean to understand a set? I understand a set when I understand what a canonical element of it is. Propositions and sets proof (element) of: consists of: & a proof (solution) of and a proof (solution) of an element in and an element in a proof (solution) of or a proof (solution) of + an element in or an element in a method which takes any proof (solution) of to a proof (solution) of a method which takes any element in to an element in has no proof (solution) has no elements x. an element a in and a proof (solution) of [x := a] x. a method, which takes any element x in to a proof (solution) of [x := a]

4 urry s contribution This similarity leads to the urry-howard isomorphism & = = + = = = urry noticed the formal similarity between the axioms of positive implicational logic: ( ) ( ) and the type of the basic combinators: K S ( ) ( ) and modus ponens corresponds to the typing rule for application: f a f a Proofs as Programs in a functional programming language onstructors are introduction rules direct consists of: s a type: proof of: a proof of or data Or = Ori1 Ori2 ; a proof of & a proof of and data nd = ndi ; a proof of a method taking a proof of data Implies = Impi ; to a proof of Falsity data Falsity = ; & [] Ori1 Ori2 ndi & Impli ( )

5 Elimination rules can be defined Proof checking = Type checking orel ( ) ( ) orel (Ori1 a) f g = f a orel (Ori2 b) f g = g b andel & ( ) andel (ndi a b) f = f a b implel implel (Impli f ) a = f a & [] [, ] [] orel andel implel In this way we can prove propositional formulas in a typed functional programming language. The problem of proving for instance ( & ) ( & ) is then the problem of finding a program in this type. The type checker will check if the proof is correct. In this case, we can use implel the(impli following f ) a program: = f a Impli (λx.ndi (andel x λy.λz.z) (andel x λy.λz.y)) What about the quantifiers? Overview of Martin Löf s type theory Propositions and sets proof (element) of: x. Σx. x. Πx. consists of: an element a in and a proof (solution) of [x := a] an element a in and an element in [x := a] a method, which takes any element x in to a proof (solution) of [x := a] a method, which takes any element x in to an element in [x := a] Type theory is a small typed functional language with one basic type and two type forming operation. It is a framework for defining logics. new logic is introduced by definitions.

6 What types are there? What programs are there? Set is a type El() is a type, if Set. (x ) is a type, if is a type and a family of types for x. Programs are formed from variables and constants using abstraction and application: pplication bstraction c (x ) a c a [x := a] b [x ] [x]b (x ) constants are either primitive or defined onstants There are two kinds of constants: primitive: (not defined) have a type but no definiens (RHS): identifier Type defined: have a type and a definiens: identifier = expr Type There are two kinds of defined constants: explicitly defined implicitly defined Primitive constants computes to themselves (i.e. are values). constructors in functional languages. introduction rules and formation rules in logic postulates Examples: N Set 0 N s N N & Set Set Set &I ( Set) ( Set) & Π ( Set) ( Set) Set λ ( Set) ( Set) ((x ) (x)) Π(, )

7 Explicitly defined constants have a type and a definiens (RHS). the definiens is a welltyped expression abbreviation derived rule in logic. names for proofs and theorems in math. Examples: 2 N ( Set)( Set) Set +(x N)(y N) N = succ(succ 0) = Π ( Set)( Set) Set = natrec [x]n x y [u, v](succ v) Implicitly defined constants The definiens (RHS) may contain pattern matching and may contain occurrences of the constant itself. The correctness of the definition must in general be decided outside the system Recursively defined programs Elimination rules (the step from the definiendum to the definiens is the contraction rule). Examples: add(x N)(y N) N add 0 y = y add (succ u) y = succ (add u y) &E( Set)( Set)( Set) (f (x ) (y ) (&I x y)) (z & ) (z) &E f (&I a b) = f a b = Π [x] Two approaches to the usage of implicit constants: The editing process The conservative approach: Use them only to define induction principles for sets (elimination rules). These are functions, which for an inductively defined set produces a function in (x ) ( z) for a family of sets Set. The liberal approach: Use them when they are convenient. The idea is to build expressions from incomplete expressions with holes (placeholders). Each editing step replaces a place holder with another incomplete expression

8 Place holders To construct an object We start to give the name of the object to define, and the computer responds with We use the notation 1,..., n c 1 c = 2 for place holders (holes). Each place holder has an expected type and a local context (variables which may be used to fill in the hole). We must first give the type of c by refining 1. We can either enter text from the keyboard, or do it stepwise, replace it by (x 3 ) 4 Set, or 3... n Refinement of an object Refinement of an object: application When we have constructed the type of the constant c, we can start to define it: c c = 0 Here, the expected type of 0 is. In general, we are in a situation like c = where we know the expected type of the place holders. To refine a place holder 0 with a constant c (or a variable) is to replace it by c 1... n where 1 1,..., n n. The system computes the expected types of the new place holders and some constraints from the condition that the type of c 1... n must be equal to. We have reduced the problem to the subproblems 1,... n using the rule c.

9 Refinement of an object: abstraction Hence: to prove is to build a proof object To refine a place holder 0 with an abstraction is to replace it by [x] 1 The system checks that is a functional type (x ) and the expected type of 1 is and the local context for it will contain the assumption x. To apply a rule c is to construct an application of the constant c. To assume is to construct an abstraction of a variable of type. To refer to an assumption of is to use a variable of type. We have reduced the problem (x ) to the problem by using the assumption x. Summary: Type Theory Types: Programs: T ::= Set El(e) (x T ) T e ::= e e [x]e x c onstants: Primitive (without a definition): c T Explicitly defined: Implicitly defined: c = e T c p 1... p n = e. c p 1... p n = e

An Introduction to Martin-Lof s Constructive Type Theory and a computer implementation of it. p.1/??

An Introduction to Martin-Lof s Constructive Type Theory and a computer implementation of it. p.1/?? An Introduction to Martin-Lof s Constructive Type Theory and a computer implementation of it. Bengt Nordström bengt@cs.chalmers.se ChungAng University, Seoul, Korea on leave from Chalmers University, Göteborg,

More information

Martin-Löf s Type Theory

Martin-Löf s Type Theory Martin-Löf s Type Theory B. Nordström, K. Petersson and J. M. Smith 1 Contents 1 Introduction.............................. 1 1.1 Different formulations of type theory............. 3 1.2 Implementations........................

More information

Martin-L f's Type Theory. B. Nordstr m, K. Petersson and J. M. Smith. Contents. 5.4 The set of functions (Cartesian product of a family of sets) 24

Martin-L f's Type Theory. B. Nordstr m, K. Petersson and J. M. Smith. Contents. 5.4 The set of functions (Cartesian product of a family of sets) 24 Martin-L f's Type Theory B. Nordstr m, K. Petersson and J. M. Smith Contents 1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1 1.1 Dierent formulations of type theory : : : :

More information

An Introduction to Programming and Proving in Agda (incomplete draft)

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

Revisiting Kalmar completeness metaproof

Revisiting Kalmar completeness metaproof Revisiting Kalmar completeness metaproof Angélica Olvera Badillo 1 Universidad de las Américas, Sta. Catarina Mártir, Cholula, Puebla, 72820 México angelica.olverabo@udlap.mx Abstract In this paper, I

More information

Subsets in type theory

Subsets in type theory Subsets in type theory Bengt Nordström bengt@cs.chalmers.se ChungAng University on leave from Chalmers University, Göteborg, Sweden Subsets in type theory p.1/24 An example: Linear search Write a program

More information

Computational Higher-Dimensional Type Theory

Computational Higher-Dimensional Type Theory 1 Computational Higher-Dimensional Type Theory Carlo Angiuli 1 Robert Harper 1 Todd Wilson 2 1 Carnegie Mellon University 2 California State University, Fresno January 20, 2017 Homotopy Type Theory (HoTT)

More information

Typed Lambda Calculus for Syntacticians

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

Typed Lambda Calculus

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

Mathematics for Computer Scientists 2 (G52MC2)

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

Introduction to Homotopy Type Theory

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

Automata and Formal Languages - CM0081 Introduction to Agda

Automata and Formal Languages - CM0081 Introduction to Agda Automata and Formal Languages - CM0081 Introduction to Agda Andrés Sicard-Ramírez Universidad EAFIT Semester 2018-2 Introduction Curry-Howard correspondence Dependent types Constructivism Martin-Löf s

More information

Proofs are Programs. Prof. Clarkson Fall Today s music: Proof by Paul Simon

Proofs are Programs. Prof. Clarkson Fall Today s music: Proof by Paul Simon Proofs are Programs Prof. Clarkson Fall 2017 Today s music: Proof by Paul Simon Review Previously in 3110: Functional programming in Coq Logic in Coq Today: A fundamental idea that goes by many names...

More information

On Agda JAIST/AIST WS CVS/AIST Yoshiki Kinoshita, Yoriyuki Yamagata. Agenda

On Agda JAIST/AIST WS CVS/AIST Yoshiki Kinoshita, Yoriyuki Yamagata. Agenda On Agda 2009.3.12 JAIST/AIST WS CVS/AIST Yoshiki Kinoshita, Yoriyuki Yamagata Agenda On Agda Agda as a programming language Agda as a proof system Further information. 2 1 Agenda On Agda Agda as a programming

More information

Constructing the Propositional Truncation using Non-recursive HITs

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

Topic 3: Propositions as types

Topic 3: Propositions as types Topic 3: Propositions as types May 18, 2014 Propositions as types We have seen that the main mathematical objects in a type theory are types. But remember that in conventional foundations, as based on

More information

Introduction to dependent types in Coq

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

Types Summer School Gothenburg Sweden August Dogma oftype Theory. Everything has a type

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

Proofs are Programs. Prof. Clarkson Fall Today s music: Two Sides to Every Story by Dyan Cannon and Willie Nelson

Proofs are Programs. Prof. Clarkson Fall Today s music: Two Sides to Every Story by Dyan Cannon and Willie Nelson Proofs are Programs Prof. Clarkson Fall 2016 Today s music: Two Sides to Every Story by Dyan Cannon and Willie Nelson Review Currently in 3110: Advanced topics Futures Monads Today: An idea that goes by

More information

CIS 194: Homework 8. Due Wednesday, 8 April. Propositional Logic. Implication

CIS 194: Homework 8. Due Wednesday, 8 April. Propositional Logic. Implication CIS 194: Homework 8 Due Wednesday, 8 April Propositional Logic In this section, you will prove some theorems in Propositional Logic, using the Haskell compiler to verify your proofs. The Curry-Howard isomorphism

More information

Mathematics for Computer Scientists 2 (G52MC2)

Mathematics for Computer Scientists 2 (G52MC2) Mathematics for Computer Scientists 2 (G52MC2) L03 : More Coq, Classical Logic School of Computer Science University of Nottingham October 8, 2009 The cut rule Sometimes we want to prove a goal Q via an

More information

Higher-Order Logic. Specification and Verification with Higher-Order Logic

Higher-Order Logic. Specification and Verification with Higher-Order Logic Higher-Order Logic Specification and Verification with Higher-Order Logic Arnd Poetzsch-Heffter (Slides by Jens Brandt) Software Technology Group Fachbereich Informatik Technische Universität Kaiserslautern

More information

This image cannot currently be displayed. Course Catalog. Geometry Glynlyon, Inc.

This image cannot currently be displayed. Course Catalog. Geometry Glynlyon, Inc. This image cannot currently be displayed. Course Catalog Geometry 2016 Glynlyon, Inc. Table of Contents COURSE OVERVIEW... 1 UNIT 1: INTRODUCTION... 1 UNIT 2: LOGIC... 1 UNIT 3: ANGLES AND PARALLELS...

More information

Curriculum Catalog

Curriculum Catalog 2017-2018 Curriculum Catalog 2017 Glynlyon, Inc. Table of Contents GEOMETRY COURSE OVERVIEW...1 UNIT 1: INTRODUCTION... 1 UNIT 2: LOGIC... 1 UNIT 3: ANGLES AND PARALLELS... 2 UNIT 4: CONGRUENT TRIANGLES

More information

Programming Languages Third Edition

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

Formal Predicate Calculus. Michael Meyling

Formal Predicate Calculus. Michael Meyling Formal Predicate Calculus Michael Meyling May 24, 2013 2 The source for this document can be found here: http://www.qedeq.org/0_04_07/doc/math/qedeq_formal_logic_v1.xml Copyright by the authors. All rights

More information

Calculus of Inductive Constructions

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

Curriculum Catalog

Curriculum Catalog 2017-2018 Curriculum Catalog 2017 Glynlyon, Inc. Table of Contents GEOMETRY COURSE OVERVIEW... 1 UNIT 1: INTRODUCTION... 1 UNIT 2: LOGIC... 2 UNIT 3: ANGLES AND PARALLELS... 2 UNIT 4: CONGRUENT TRIANGLES

More information

Intuitionistic Type Theory

Intuitionistic Type Theory Intuitionistic Type Theory Peter Dybjer Erik Palmgren May 6, 2015 Abstract Intuitionistic Type Theory (also Constructive Type Theory or Martin-Löf Type Theory) is a formal logical system and philosophical

More information

Propositional Calculus: Boolean Functions and Expressions. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson

Propositional Calculus: Boolean Functions and Expressions. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson Propositional Calculus: Boolean Functions and Expressions CS 270: Mathematical Foundations of Computer Science Jeremy Johnson Propositional Calculus Objective: To provide students with the concepts and

More information

Programming with Dependent Types Interactive programs and Coalgebras

Programming with Dependent Types Interactive programs and Coalgebras Programming with Dependent Types Interactive programs and Coalgebras Anton Setzer Swansea University, Swansea, UK 14 August 2012 1/ 50 A Brief Introduction into ML Type Theory Interactive Programs in Dependent

More information

A computer implemented philosophy of mathematics

A computer implemented philosophy of mathematics A computer implemented philosophy of mathematics M. Randall Holmes May 14, 2018 This paper presents a philosophical view of the basic foundations of mathematics, which is implemented in actual computer

More information

STABILITY AND PARADOX IN ALGORITHMIC LOGIC

STABILITY AND PARADOX IN ALGORITHMIC LOGIC STABILITY AND PARADOX IN ALGORITHMIC LOGIC WAYNE AITKEN, JEFFREY A. BARRETT Abstract. Algorithmic logic is the logic of basic statements concerning algorithms and the algorithmic rules of deduction between

More information

ABriefOverviewofAgda A Functional Language with Dependent Types

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

Logical Verification Course Notes. Femke van Raamsdonk Vrije Universiteit Amsterdam

Logical Verification Course Notes. Femke van Raamsdonk Vrije Universiteit Amsterdam Logical Verification Course Notes Femke van Raamsdonk femke@csvunl Vrije Universiteit Amsterdam autumn 2008 Contents 1 1st-order propositional logic 3 11 Formulas 3 12 Natural deduction for intuitionistic

More information

1.3. Conditional expressions To express case distinctions like

1.3. Conditional expressions To express case distinctions like Introduction Much of the theory developed in the underlying course Logic II can be implemented in a proof assistant. In the present setting this is interesting, since we can then machine extract from a

More information

Summary of Course Coverage

Summary of Course Coverage CS-227, Discrete Structures I Spring 2006 Semester Summary of Course Coverage 1) Propositional Calculus a) Negation (logical NOT) b) Conjunction (logical AND) c) Disjunction (logical inclusive-or) d) Inequalities

More information

Proofs-Programs correspondance and Security

Proofs-Programs correspondance and Security Proofs-Programs correspondance and Security Jean-Baptiste Joinet Université de Lyon & Centre Cavaillès, École Normale Supérieure, Paris Third Cybersecurity Japanese-French meeting Formal methods session

More information

Programming with Universes, Generically

Programming with Universes, Generically Programming with Universes, Generically Andres Löh Well-Typed LLP 24 January 2012 An introduction to Agda Agda Functional programming language Static types Dependent types Pure (explicit effects) Total

More information

Lecture slides & distribution files:

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

Introductory logic and sets for Computer scientists

Introductory logic and sets for Computer scientists Introductory logic and sets for Computer scientists Nimal Nissanke University of Reading ADDISON WESLEY LONGMAN Harlow, England II Reading, Massachusetts Menlo Park, California New York Don Mills, Ontario

More information

CS 161 Computer Security

CS 161 Computer Security Wagner Spring 2014 CS 161 Computer Security 1/27 Reasoning About Code Often functions make certain assumptions about their arguments, and it is the caller s responsibility to make sure those assumptions

More information

LOGIC AND DISCRETE MATHEMATICS

LOGIC AND DISCRETE MATHEMATICS LOGIC AND DISCRETE MATHEMATICS A Computer Science Perspective WINFRIED KARL GRASSMANN Department of Computer Science University of Saskatchewan JEAN-PAUL TREMBLAY Department of Computer Science University

More information

HOL DEFINING HIGHER ORDER LOGIC LAST TIME ON HOL CONTENT. Slide 3. Slide 1. Slide 4. Slide 2 WHAT IS HIGHER ORDER LOGIC? 2 LAST TIME ON HOL 1

HOL DEFINING HIGHER ORDER LOGIC LAST TIME ON HOL CONTENT. Slide 3. Slide 1. Slide 4. Slide 2 WHAT IS HIGHER ORDER LOGIC? 2 LAST TIME ON HOL 1 LAST TIME ON HOL Proof rules for propositional and predicate logic Safe and unsafe rules NICTA Advanced Course Forward Proof Slide 1 Theorem Proving Principles, Techniques, Applications Slide 3 The Epsilon

More information

Propositional Theories are Strongly Equivalent to Logic Programs

Propositional Theories are Strongly Equivalent to Logic Programs Under consideration for publication in Theory and Practice of Logic Programming 1 Propositional Theories are Strongly Equivalent to Logic Programs Pedro Cabalar Department of Computer Science, University

More information

An introduction to Homotopy Type Theory

An introduction to Homotopy Type Theory An introduction to Homotopy Type Theory Nicola Gambino University of Palermo Leicester, March 15th, 2013 Outline of the talk Part I: Type theory Part II: Homotopy type theory Part III: Voevodsky s Univalent

More information

1 The Axiom of Extensionality

1 The Axiom of Extensionality 1 The Axiom of Extensionality Primitive notion: Set A set is a group, a collection, or an aggregate of things. In fact, the words set, group, collection, and aggregate are all synonyms denoting the same

More information

Automata Theory for Reasoning about Actions

Automata Theory for Reasoning about Actions Automata Theory for Reasoning about Actions Eugenia Ternovskaia Department of Computer Science, University of Toronto Toronto, ON, Canada, M5S 3G4 eugenia@cs.toronto.edu Abstract In this paper, we show

More information

(d) If the moon shares nothing and the sun does not share our works, then the earth is alive with creeping men.

(d) If the moon shares nothing and the sun does not share our works, then the earth is alive with creeping men. Math 15 - Spring 17 Chapters 1 and 2 Test Solutions 1. Consider the declaratives statements, P : The moon shares nothing. Q: It is the sun that shares our works. R: The earth is alive with creeping men.

More information

MLW. Henk Barendregt and Freek Wiedijk assisted by Andrew Polonsky. March 26, Radboud University Nijmegen

MLW. 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 information

Sets. {1, 2, 3, Calvin}.

Sets. {1, 2, 3, Calvin}. ets 2-24-2007 Roughly speaking, a set is a collection of objects. he objects are called the members or the elements of the set. et theory is the basis for mathematics, and there are a number of axiom systems

More information

Reasoning About Set Comprehensions

Reasoning About Set Comprehensions Reasoning About Set Comprehensions Edmund S L Lam 1 and Iliano Cervesato 1 Carnegie Mellon University sllam@qatarcmuedu, iliano@cmuedu Abstract Set comprehension is a mathematical notation for defining

More information

AXIOMS FOR THE INTEGERS

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

3.7 Denotational Semantics

3.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 information

Logic and its Applications

Logic and its Applications Logic and its Applications Edmund Burke and Eric Foxley PRENTICE HALL London New York Toronto Sydney Tokyo Singapore Madrid Mexico City Munich Contents Preface xiii Propositional logic 1 1.1 Informal introduction

More information

2012 Curriculum Catalog

2012 Curriculum Catalog 2012 Curriculum Catalog Geometry 2012 Glynlyon, Inc. Released 7.14.12 Welcome to Alpha Omega Publications! We are excited that you are including Ignitia as part of your program of instruction, and we look

More information

Milawa an extensible proof checker

Milawa an extensible proof checker Milawa an extensible proof checker Jared Davis ACL2 Seminar, November 16, 2005 Outline The Milawa logic A primitive proof checker An extended proof checker Soundness of the extended checker A reflection

More information

Dependent Types and Irrelevance

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

CS3110 Spring 2017 Lecture 10 a Module for Rational Numbers

CS3110 Spring 2017 Lecture 10 a Module for Rational Numbers CS3110 Spring 2017 Lecture 10 a Module for Rational Numbers Robert Constable Abstract The notes and lecture start with a brief summary of the relationship between OCaml types, Coq types and logic that

More information

Geometry. Course Requirements

Geometry. Course Requirements Geometry Geometry is a full year, high school math course for the student who has successfully completed the prerequisite course, Algebra I. The course focuses on the skills and methods of linear, coordinate,

More information

CSC 501 Semantics of Programming Languages

CSC 501 Semantics of Programming Languages CSC 501 Semantics of Programming Languages Subtitle: An Introduction to Formal Methods. Instructor: Dr. Lutz Hamel Email: hamel@cs.uri.edu Office: Tyler, Rm 251 Books There are no required books in this

More information

Univalent fibrations in type theory and topology

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

Lecture 11 Lecture 11 Nov 5, 2014

Lecture 11 Lecture 11 Nov 5, 2014 Formal Verification/Methods Lecture 11 Lecture 11 Nov 5, 2014 Formal Verification Formal verification relies on Descriptions of the properties or requirements Descriptions of systems to be analyzed, and

More information

Modal Logic: Implications for Design of a Language for Distributed Computation p.1/53

Modal Logic: Implications for Design of a Language for Distributed Computation p.1/53 Modal Logic: Implications for Design of a Language for Distributed Computation Jonathan Moody (with Frank Pfenning) Department of Computer Science Carnegie Mellon University Modal Logic: Implications for

More information

SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION

SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION CHAPTER 5 SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION Alessandro Artale UniBZ - http://www.inf.unibz.it/ artale/ SECTION 5.5 Application: Correctness of Algorithms Copyright Cengage Learning. All

More information

Chapter 3: Propositional Languages

Chapter 3: Propositional Languages Chapter 3: Propositional Languages We define here a general notion of a propositional language. We show how to obtain, as specific cases, various languages for propositional classical logic and some non-classical

More information

CURRICULUM CATALOG. Geometry ( ) TX

CURRICULUM CATALOG. Geometry ( ) TX 2018-19 CURRICULUM CATALOG Table of Contents GEOMETRY (03100700) TX COURSE OVERVIEW... 1 UNIT 1: INTRODUCTION... 1 UNIT 2: LOGIC... 1 UNIT 3: ANGLES AND PARALLELS... 2 UNIT 4: CONGRUENT TRIANGLES AND QUADRILATERALS...

More information

Harvard School of Engineering and Applied Sciences CS 152: Programming Languages

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

DRAFT. Dependent types. Chapter The power of and

DRAFT. Dependent types. Chapter The power of and Chapter 4 Dependent types Now we come to the heart of the matter: dependent types. This was the main insight of Per Martin-Löf when he started to develop Type Theory in 1972. Per knew about the propositions

More information

A NEW PROOF-ASSISTANT THAT REVISITS HOMOTOPY TYPE THEORY THE THEORETICAL FOUNDATIONS OF COQ USING NICOLAS TABAREAU

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

Using Agda to Explore Path-Oriented Models of Type Theory

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

Certified Programming with Dependent Types

Certified Programming with Dependent Types 1/30 Certified Programming with Dependent Types Inductive Predicates Niels van der Weide March 7, 2017 2/30 Last Time We discussed inductive types Print nat. (* Inductive nat : Set := O : nat S : nat nat*)

More information

Lecture 5. Logic I. Statement Logic

Lecture 5. Logic I. Statement Logic Ling 726: Mathematical Linguistics, Logic. Statement Logic V. Borschev and B. Partee, September 27, 2 p. Lecture 5. Logic I. Statement Logic. Statement Logic...... Goals..... Syntax of Statement Logic....2.

More information

Chapter 3. Set Theory. 3.1 What is a Set?

Chapter 3. Set Theory. 3.1 What is a Set? Chapter 3 Set Theory 3.1 What is a Set? A set is a well-defined collection of objects called elements or members of the set. Here, well-defined means accurately and unambiguously stated or described. Any

More information

An Evolution of Mathematical Tools

An Evolution of Mathematical Tools An Evolution of Mathematical Tools From Conceptualization to Formalization Here's what we do when we build a formal model (or do a computation): 0. Identify a collection of objects/events in the real world.

More information

ELEMENTARY NUMBER THEORY AND METHODS OF PROOF

ELEMENTARY NUMBER THEORY AND METHODS OF PROOF CHAPTER 4 ELEMENTARY NUMBER THEORY AND METHODS OF PROOF Copyright Cengage Learning. All rights reserved. SECTION 4.6 Indirect Argument: Contradiction and Contraposition Copyright Cengage Learning. All

More information

SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION

SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION CHAPTER 5 SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION Copyright Cengage Learning. All rights reserved. SECTION 5.5 Application: Correctness of Algorithms Copyright Cengage Learning. All rights reserved.

More information

Partiality and Recursion in Interactive Theorem Provers An Overview

Partiality and Recursion in Interactive Theorem Provers An Overview Under consideration for publication in Math. Struct. in Comp. Science Partiality and Recursion in Interactive Theorem Provers An Overview A N A B O V E 1, A L E X A N D E R K R A U S S 2, and M A T T H

More information

Math 126 Number Theory

Math 126 Number Theory Math 16 Number Theory Prof. D. Joyce, Clark University 8 Mar 006 Due Friday. Page 155: exercises 1,, 7. Choose one of the three and write it up completely. Whichever one you choose, find all those solutions

More information

A Meta Language for Mathematical Reasoning

A Meta Language for Mathematical Reasoning A Meta Language for Mathematical Reasoning Michael Junk michael.junk@uni-konstanz.de Sebastian Sahli sebastian.sahli@uni-konstanz.de Stefan Hölle stefan.hoelle@uni-konstanz.de Abstract We present a formal

More information

3.4 Deduction and Evaluation: Tools Conditional-Equational Logic

3.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 information

Topic 1: What is HoTT and why?

Topic 1: What is HoTT and why? Topic 1: What is HoTT and why? May 5, 2014 Introduction Homotopy type theory (HoTT) is a newly emerging field of mathematics which is currently being developed as a foundation of mathematics which is in

More information

Representability of Homotopy Groups in Type Theory

Representability of Homotopy Groups in Type Theory Representability of Homotopy Groups in Type Theory Brandon Shapiro Constructive Type Theory The emerging field of homotopy type theory is built around the idea that in intensive type theory types can be

More information

EXTENSIONS OF FIRST ORDER LOGIC

EXTENSIONS OF FIRST ORDER LOGIC EXTENSIONS OF FIRST ORDER LOGIC Maria Manzano University of Barcelona CAMBRIDGE UNIVERSITY PRESS Table of contents PREFACE xv CHAPTER I: STANDARD SECOND ORDER LOGIC. 1 1.- Introduction. 1 1.1. General

More information

Natural Numbers. We will use natural numbers to illustrate several ideas that will apply to Haskell data types in general.

Natural Numbers. We will use natural numbers to illustrate several ideas that will apply to Haskell data types in general. Natural Numbers We will use natural numbers to illustrate several ideas that will apply to Haskell data types in general. For the moment we will ignore that fact that each type in Haskell includes possible

More information

Logik für Informatiker Logic for computer scientists

Logik für Informatiker Logic for computer scientists Logik für Informatiker for computer scientists WiSe 2011/12 Overview Motivation Why is logic needed in computer science? The LPL book and software Scheinkriterien Why is logic needed in computer science?

More information

From Event-B Models to Dafny Code Contracts

From Event-B Models to Dafny Code Contracts From Event-B Models to Dafny Code Contracts Mohammadsadegh Dalvandi, Michael Butler, Abdolbaghi Rezazadeh Electronic and Computer Science School, University of Southampton Southampton, United Kingdom {md5g11,mjb,ra3}@ecs.soton.ac.uk

More information

CMSC 330: Organization of Programming Languages

CMSC 330: Organization of Programming Languages CMSC 330: Organization of Programming Languages Lambda Calculus Encodings CMSC 330 Summer 2017 1 The Power of Lambdas Despite its simplicity, the lambda calculus is quite expressive: it is Turing complete!

More information

Does Homotopy Type Theory Provide a Foundation for Mathematics?

Does Homotopy Type Theory Provide a Foundation for Mathematics? Does Homotopy Type Theory Provide a Foundation for Mathematics? Tuesday 11 th November, 2014 Abstract Homotopy Type Theory (HoTT) is a putative new foundation for mathematics grounded in constructive intensional

More information

Knowledge-based Systems for Industrial Applications - Propositional Logic

Knowledge-based Systems for Industrial Applications - Propositional Logic Knowledge-based Systems for Industrial Applications - Propositional Logic P. Struss WS 16/17 WS 16/17 KBSIA 2A - 1 Logic 2A Logic und Knowledge Representation 2A.1 Propositional logic WS 16/17 KBSIA 2A

More information

Binary Decision Diagrams

Binary Decision Diagrams Logic and roof Hilary 2016 James Worrell Binary Decision Diagrams A propositional formula is determined up to logical equivalence by its truth table. If the formula has n variables then its truth table

More information

Lecture 5: Graphs. Rajat Mittal. IIT Kanpur

Lecture 5: Graphs. Rajat Mittal. IIT Kanpur Lecture : Graphs Rajat Mittal IIT Kanpur Combinatorial graphs provide a natural way to model connections between different objects. They are very useful in depicting communication networks, social networks

More information

Syntax vs. semantics. Detour: Natural deduction. Syntax vs. semantics (cont d) Syntax = grammatical structure Semantics = underlying meaning

Syntax vs. semantics. Detour: Natural deduction. Syntax vs. semantics (cont d) Syntax = grammatical structure Semantics = underlying meaning Syntax vs. semantics CMSC 631 Program nalysis and Understanding Spring 2013 Operational Semantics Syntax = grammatical structure Semantics = underlying meaning Sentences in a language can be syntactically

More information

CS 671, Automated Reasoning

CS 671, Automated Reasoning CS 671, Automated Reasoning Lesson 20: Type Constructs based on Intersection (II): dependent records, abstract data types, basic algebra April 3, 2001 Last time we discussed record types and their representation

More information

Lesson 4 Typed Arithmetic Typed Lambda Calculus

Lesson 4 Typed Arithmetic Typed Lambda Calculus Lesson 4 Typed Arithmetic Typed Lambda 1/28/03 Chapters 8, 9, 10 Outline Types for Arithmetic types the typing relation safety = progress + preservation The simply typed lambda calculus Function types

More information

Declarative Programming. 2: theoretical backgrounds

Declarative Programming. 2: theoretical backgrounds Declarative Programming 2: theoretical backgrounds 1 Logic Systems: structure and meta-theoretical properties logic system syntax semantics proof theory defines which sentences are legal in the logical

More information

Modelling and Implementation Methodology in the IoT/LD Approach to the Semantic Web

Modelling and Implementation Methodology in the IoT/LD Approach to the Semantic Web Modelling and Implementation Methodology in the IoT/LD Approach to the Semantic Web Terje Aaberge Western Norway Research Institute, P. O Box 169, 6851 Sogndal, Norway Abstract. The paper presents a modelling

More information

Logic and Computation

Logic and Computation Logic and Computation From Conceptualization to Formalization Here's what we do when we build a formal model (or do a computation): 0. Identify a collection of objects/events in the real world. This is

More information

Constructive Type Theory and Interactive Theorem Proving. Peter Dybjer Chalmers Tekniska Högskola Göteborg, Sweden

Constructive Type Theory and Interactive Theorem Proving. Peter Dybjer Chalmers Tekniska Högskola Göteborg, Sweden Constructive Type Theory and Interactive Theorem Proving Peter Dybjer Chalmers Tekniska Högskola Göteborg, Sweden JSSST Sendai, 15 September 2005 Interactive theorem provers - proof assis Examples: Classical

More information

Recent Work in Homotopy Type Theory

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