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.
|
|
- Jordan Hubbard
- 5 years ago
- Views:
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. Bengt Nordström bengt@cs.chalmers.se ChungAng University, Seoul, Korea on leave from Chalmers University, Göteborg,
More informationMartin-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 informationMartin-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 informationAn Introduction to Programming and Proving in Agda (incomplete draft)
An Introduction to Programming and Proving in Agda (incomplete draft) Peter Dybjer January 29, 2018 1 A first Agda module Your first Agda-file is called BoolModule.agda. Its contents are module BoolModule
More informationRevisiting 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 informationSubsets 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 informationComputational 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 informationTyped Lambda Calculus for Syntacticians
Department of Linguistics Ohio State University January 12, 2012 The Two Sides of Typed Lambda Calculus A typed lambda calculus (TLC) can be viewed in two complementary ways: model-theoretically, as a
More informationTyped Lambda Calculus
Department of Linguistics Ohio State University Sept. 8, 2016 The Two Sides of A typed lambda calculus (TLC) can be viewed in two complementary ways: model-theoretically, as a system of notation for functions
More informationMathematics for Computer Scientists 2 (G52MC2)
Mathematics for Computer Scientists 2 (G52MC2) L07 : Operations on sets School of Computer Science University of Nottingham October 29, 2009 Enumerations We construct finite sets by enumerating a list
More informationIntroduction to Homotopy Type Theory
Introduction to Homotopy Type Theory Lecture notes for a course at EWSCS 2017 Thorsten Altenkirch March 5, 2017 1 What is this course about? To explain what Homotopy Type Theory is, I will first talk about
More informationAutomata 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 informationProofs 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 informationOn 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 informationConstructing the Propositional Truncation using Non-recursive HITs
Constructing the Propositional Truncation using Non-recursive HITs Floris van Doorn Carnegie Mellon University January 19, 2016 Floris van Doorn (CMU) Constructing Propositional Truncation January 19,
More informationTopic 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 informationIntroduction to dependent types in Coq
October 24, 2008 basic use of the Coq system In Coq, you can play with simple values and functions. The basic command is called Check, to verify if an expression is well-formed and learn what is its type.
More informationTypes Summer School Gothenburg Sweden August Dogma oftype Theory. Everything has a type
Types Summer School Gothenburg Sweden August 2005 Formalising Mathematics in Type Theory Herman Geuvers Radboud University Nijmegen, NL Dogma oftype Theory Everything has a type M:A Types are a bit like
More informationProofs 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 informationCIS 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 informationMathematics 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 informationHigher-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 informationThis 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 informationCurriculum 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 informationProgramming Languages Third Edition
Programming Languages Third Edition Chapter 12 Formal Semantics Objectives Become familiar with a sample small language for the purpose of semantic specification Understand operational semantics Understand
More informationFormal 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 informationCalculus of Inductive Constructions
Calculus of Inductive Constructions Software Formal Verification Maria João Frade Departmento de Informática Universidade do Minho 2008/2009 Maria João Frade (DI-UM) Calculus of Inductive Constructions
More informationCurriculum 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 informationIntuitionistic 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 informationPropositional 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 informationProgramming 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 informationA 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 informationSTABILITY 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 informationABriefOverviewofAgda A Functional Language with Dependent Types
ABriefOverviewofAgda A Functional Language with Dependent Types Ana Bove, Peter Dybjer, and Ulf Norell e-mail: {bove,peterd,ulfn}@chalmers.se Chalmers University of Technology, Gothenburg, Sweden Abstract.
More informationLogical 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 information1.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 informationSummary 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 informationProofs-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 informationProgramming 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 informationLecture slides & distribution files:
Type Theory Lecture slides & distribution files: http://www.cs.rhul.ac.uk/home/zhaohui/ttlectures.html Zhaohui Luo Department of Computer Science Royal Holloway, University of London April 2011 2 Type
More informationIntroductory 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 informationCS 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 informationLOGIC 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 informationHOL 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 informationPropositional 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 informationAn 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 information1 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 informationAutomata 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.
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 informationMLW. Henk Barendregt and Freek Wiedijk assisted by Andrew Polonsky. March 26, Radboud University Nijmegen
1 MLW Henk Barendregt and Freek Wiedijk assisted by Andrew Polonsky Radboud University Nijmegen March 26, 2012 inductive types 2 3 inductive types = types consisting of closed terms built from constructors
More informationSets. {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 informationReasoning 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 informationAXIOMS FOR THE INTEGERS
AXIOMS FOR THE INTEGERS BRIAN OSSERMAN We describe the set of axioms for the integers which we will use in the class. The axioms are almost the same as what is presented in Appendix A of the textbook,
More information3.7 Denotational Semantics
3.7 Denotational Semantics Denotational semantics, also known as fixed-point semantics, associates to each programming language construct a well-defined and rigorously understood mathematical object. These
More informationLogic 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 information2012 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 informationMilawa 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 informationDependent Types and Irrelevance
Dependent Types and Irrelevance Christoph-Simon Senjak Technische Universität München Institut für Informatik Boltzmannstraße 3 85748 Garching PUMA Workshop September 2012 Dependent Types Dependent Types
More informationCS3110 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 informationGeometry. 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 informationCSC 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 informationUnivalent fibrations in type theory and topology
Univalent fibrations in type theory and topology Dan Christensen University of Western Ontario Wayne State University, April 11, 2016 Outline: Background on type theory Equivalence and univalence A characterization
More informationLecture 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 informationModal 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 informationSEQUENCES, 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 informationChapter 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 informationCURRICULUM 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 informationHarvard School of Engineering and Applied Sciences CS 152: Programming Languages
Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Lecture 19 Tuesday, April 3, 2018 1 Introduction to axiomatic semantics The idea in axiomatic semantics is to give specifications
More informationDRAFT. 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 informationA NEW PROOF-ASSISTANT THAT REVISITS HOMOTOPY TYPE THEORY THE THEORETICAL FOUNDATIONS OF COQ USING NICOLAS TABAREAU
COQHOTT A NEW PROOF-ASSISTANT THAT REVISITS THE THEORETICAL FOUNDATIONS OF COQ USING HOMOTOPY TYPE THEORY NICOLAS TABAREAU The CoqHoTT project Design and implement a brand-new proof assistant by revisiting
More informationUsing Agda to Explore Path-Oriented Models of Type Theory
1/22 Using Agda to Explore Path-Oriented Models of Type Theory Andrew Pitts joint work with Ian Orton Computer Laboratory Outline 2/22 The mathematical problem find new models of Homotopy Type Theory Why
More informationCertified 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 informationLecture 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 informationChapter 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 informationAn 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 informationELEMENTARY 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 informationSEQUENCES, 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 informationPartiality 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 informationMath 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 informationA 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 information3.4 Deduction and Evaluation: Tools Conditional-Equational Logic
3.4 Deduction and Evaluation: Tools 3.4.1 Conditional-Equational Logic The general definition of a formal specification from above was based on the existence of a precisely defined semantics for the syntax
More informationTopic 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 informationRepresentability 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 informationEXTENSIONS 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 informationNatural 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 informationLogik 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 informationFrom 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 informationCMSC 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 informationDoes 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 informationKnowledge-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 informationBinary 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 informationLecture 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 informationSyntax 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 informationCS 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 informationLesson 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 informationDeclarative 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 informationModelling 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 informationLogic 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 informationConstructive 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 informationRecent Work in Homotopy Type Theory
Recent Work in Homotopy Type Theory Steve Awodey Carnegie Mellon University AMS Baltimore January 2014 Introduction Homotopy Type Theory is a newly discovered connection between logic and topology, based
More information