logical verification lecture program extraction and prop2

Size: px
Start display at page:

Download "logical verification lecture program extraction and prop2"

Transcription

1 logical verification lecture program extraction and prop2

2 overview program extraction program extraction: examples verified programs: alternative approach formulas of prop2 terminology proofs of prop2

3 some history: foundational crisis Bertrand Russell shows that naive set theory (or type theory) is inconsistent: {x x x} {x x x}

4 some answers: three schools Hilbert: formalism, leads eventually to ZFC set theory Russell: logicism, leads eventually to an early version of type theory Brouwer, Heyting, Bishop: intuitionism, rejects excluded middle

5 Brouwer Heyting Kolmogorov interpretation does not exist A B maps proofs of A to proofs of B A B proof of A and proof of B A B proof of A or a proof of B x. P(x) maps x to a proof of P(x) x. P(x) object a with proof of P(a) proof of existence corresponds to constructing an example

6 program extraction rough idea an intuitionistic (constructive) proof corresponds to an executable algorithm

7 constructive functional programming program specification constructive proof of existence automatically generated functional program

8 program specification: example the correctness proof of the specification l : natlist. l : natlist. permutation(l, l ) sorted(l ) yields a program (function) from natlist to natlist

9 program specification: general pattern A B P(x) Q(x, y) x : A. P(x) y : B. Q(x, y) input type output type precondition input/output behaviour the correctness proof yields a program from A to B

10 program extraction in Coq Coq proof in type theory gives functional program in OCaml or Haskell or Scheme

11 program extraction in Coq is almost the identity function but other typing system information from Prop is erased

12 existential quantification in Prop inductive type: Inductive ex (A : Type) (P : A -> Prop) : Prop := ex_intro : forall x : A, P x -> ex P syntax: exists x : A, P x.

13 existential quantification in Set inductive type: Inductive sig (A : Set) (P : A -> Prop) : Set := exist : forall x : A, P x -> sig P syntax: {x:a P x}

14 for program extraction use existential quantification in Set

15 successor: existence proof and extracted program specification: Theorem successor : forall n:nat, {m:nat m = S n}. extracted program: let successor n = S n

16 predecessor: existence proof and extracted program specification: Theorem predecessor : forall n:nat, ~(n = O) -> {m:nat S m = n}. extracted program: let rec predecessor = function O -> assert false (* absurd case *) S n0 -> n0

17 insertion sort: existence proof Theorem Sort : forall l : natlist, {l : natlist permutation l l /\ sorted l }.

18 insertion sort: predicate permutation Inductive permutation : natlist -> natlist -> Prop := permutation_nil : permutation nil nil permutation_cons : forall (n : nat) (l l l : natlist), permutation l l -> inserted n l l -> permutation (cons n l) l.

19 insertion sort: predicate inserted Inductive inserted (n : nat) : natlist -> natlist -> Prop := inserted_front : forall l : natlist, inserted n l (cons n l) inserted_cons : forall (m : nat) (l l : natlist), inserted n l l -> inserted n (cons m l) (cons m l ).

20 le: family of inductive predicates Inductive le (n:nat) : nat -> Prop := le_n : le n n le_s : forall m:nat, le n m -> le n (S m). le_ind : forall (n : nat) (P : nat -> Prop), P n -> (forall m : nat, le n m -> P m -> P (S m)) -> forall n0 : nat, le n n0 -> P n0

21 le: examples le_n 0 : le O O : Prop le_n 7 : le 7 7 : Prop le_s 0 0 (le_n 0) : le O 1 : Prop le_s 0 1 (le_s 0 0 (le_n 0)) : le O 2 : Prop

22 insertion sort: predicate sorted Inductive sorted : natlist -> Prop := sorted0 : sorted nil sorted1 : forall n:nat, sorted (cons n nil) sorted2 : forall n h:nat, forall t:natlist, le n h -> sorted (cons h t) -> sorted (cons n (cons h t)).

23 Leibniz equality two terms are equal if they have the same properties Inductive eq (A : Type) (x : A) : A -> Prop := refl_equal : x = x eq_ind : forall (A : Type) (x : A) (P : A -> Prop), P x -> forall y : A, x = y -> P y

24 verified programs: two approaches correctness proofs from program to proof program extraction from proof to program

25 correctness proofs: Hoare logic imperative program annotated imperative program proof obligations

26 mirror: correctness proof define a function mirror and prove its correctness: Theorem Mirrored_mirror : forall t : bintree, Mirrored t (mirror t).

27 mirror: program extraction prove the specification correct and extract a program from it Theorem Mirror : forall t : bintree, {t : bintree Mirrored t t }.

28 summarizing the two approaches specification Inductive Mirrored approach 1: implementation Fixpoint mirror approach 1: correctness Theorem Mirrored mirror approach 2: program extracted from existence proof Theorem Mirror

29 logics and type theory 1st-order minimal propositional logic simple type theory 1st-order minimal predicate logic dependent type theory 2nd-order minimal propositional logic polymorphic type theory

30 formulas of prop1 (already seen) a b c p q A B A B A B

31 formulas of pred1 (already seen) (using terms) a(...) b(...) c(...) p(...) q(...) A B x. A A B A B x. A

32 formulas of prop2 (new) a b c p q A B a. A A B A B a. A

33 examples in prop1: a a in pred1: x. a(x) a(x) in prop2: a. a a for every proposition, that proposition implies itself

34 higher-order first order: object second order: set of first-order objects predicate on objects function from objects to objects third order: set of second-order objects predicate on predicates on objects functions from second order objects

35 higher-order logic first-order: quantification over variables of order 1 a a x. a(x) a(x) second-order: quantification over variables of order 2 a. a a a. x. a(x) a(x) f. x. a(f (x)) a(f (x)) third-order: quantification over variables of order 3 b. f. b(f ) x. a(f (x)) quantify over predicates gives pred2 same without terms gives prop2

36 second-order predicate logic: example induction principle for natural numbers a. a(0) ( m. a(m) a(s(m))) n. a(n) m 1st order variable n 1st order variable 0 1st order constant a 2nd order variable S 2nd order constant (or 1st order function)

37 second-order predicate logic: example there exists a sorting function f : natlist natlist. l : natlist. sorted(f (l)) permutation(l, f (l)) f l sorted permutation 2nd order variable 1st order variable 2nd order constant (or 1st order function) 2nd order constant (or 1st order function)

38 examples prop2 a. a a prop1 a a pred2 p. x. p(x) p(x) pred1 x. p(x) p(x)

39 proof rules for prop2 introduction rules I I [x] I Il, Ir I I elimination rules E E El, Er E E E

40 universal quantification for prop2 introduction: A a. A I variable condition: a not free in any open assumption check: variable does not occur in any of the available assumptions elimination: a. A A[a := B] E

41 existential quantification for prop2 introduction: A[a := B] a. A I elimination: a. A a. A B B E variable condition: a not free in B check: variable does not occur in the conclusion

42 examples of tautologies ( b. b) a a b. (b a) a b. ((a b) b) ( b. a) a b ((a b) (b a))

43 examples of non-tautological formulas a ( a. a) p(x) ( x. p(x)) ( a. a) a a. b. (a b) (b a) (classical logic needed)

44 minimal prop2: detour introduction rule for a connective immediately followed by an elimination rule for the same connective

45 elimination of an implication detour (as in prop1) is replaced by. B A B I [x]. A B E where every occurrence of the assumption A x is replaced by the proof. B. A

46 elimination of an universal quantification detour (similar to pred1) everywhere a is replaced by A B a. B I B[a := A] E B[a := A]

The Curry-Howard Isomorphism

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

More information

CHAPTER 11. Introduction to Intuitionistic Logic

CHAPTER 11. Introduction to Intuitionistic Logic CHAPTER 11 Introduction to Intuitionistic Logic Intuitionistic logic has developed as a result of certain philosophical views on the foundation of mathematics, known as intuitionism. Intuitionism was originated

More information

Beyond First-Order Logic

Beyond First-Order Logic Beyond First-Order Logic Software Formal Verification Maria João Frade Departmento de Informática Universidade do Minho 2008/2009 Maria João Frade (DI-UM) Beyond First-Order Logic MFES 2008/09 1 / 37 FOL

More information

First-Order Predicate Logic. Basics

First-Order Predicate Logic. Basics First-Order Predicate Logic Basics 1 Syntax of predicate logic: terms A variable is a symbol of the form x i where i = 1, 2, 3.... A function symbol is of the form fi k where i = 1, 2, 3... und k = 0,

More information

Propositions and Proofs

Propositions and Proofs Propositions and Proofs Gert Smolka, Saarland University April 25, 2018 Proposition are logical statements whose truth or falsity can be established with proofs. Coq s type theory provides us with a language

More information

4.4 Contracting Proofs to Programs

4.4 Contracting Proofs to Programs 4.4 Contracting Proofs to Programs 75 We close this section with the formal version of the proof above. Note the use of the conversion rule conv. [ x : nat; [ ~ 0 = 0; 0 = 0; F; s(pred(0)) = 0 ]; ~ 0 =

More information

cse 311: foundations of computing Fall 2015 Lecture 6: Predicate Logic, Logical Inference

cse 311: foundations of computing Fall 2015 Lecture 6: Predicate Logic, Logical Inference cse 311: foundations of computing Fall 2015 Lecture 6: Predicate Logic, Logical Inference quantifiers x P(x) P(x) is true for every x in the domain read as for all x, P of x x P x There is an x in the

More information

Henk Barendregt and Freek Wiedijk assisted by Andrew Polonsky. Radboud University Nijmegen. March 5, 2012

Henk Barendregt and Freek Wiedijk assisted by Andrew Polonsky. Radboud University Nijmegen. March 5, 2012 1 λ Henk Barendregt and Freek Wiedijk assisted by Andrew Polonsky Radboud University Nijmegen March 5, 2012 2 reading Femke van Raamsdonk Logical Verification Course Notes Herman Geuvers Introduction to

More information

Predicate Logic. Andreas Klappenecker

Predicate Logic. Andreas Klappenecker Predicate Logic Andreas Klappenecker Predicates A function P from a set D to the set Prop of propositions is called a predicate. The set D is called the domain of P. Example Let D=Z be the set of integers.

More information

Introduction to Intuitionistic Logic

Introduction to Intuitionistic Logic Introduction to Intuitionistic Logic August 31, 2016 We deal exclusively with propositional intuitionistic logic. The language is defined as follows. φ := p φ ψ φ ψ φ ψ φ := φ and φ ψ := (φ ψ) (ψ φ). A

More information

3. The Logic of Quantified Statements Summary. Aaron Tan August 2017

3. The Logic of Quantified Statements Summary. Aaron Tan August 2017 3. The Logic of Quantified Statements Summary Aaron Tan 28 31 August 2017 1 3. The Logic of Quantified Statements 3.1 Predicates and Quantified Statements I Predicate; domain; truth set Universal quantifier,

More information

CIS 500: Software Foundations

CIS 500: Software Foundations CIS 500: Software Foundations Midterm I October 3, 2017 Directions: This exam booklet contains both the standard and advanced track questions. Questions with no annotation are for both tracks. Other questions

More information

The Calculus of Inductive Constructions

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

More information

G52DOA - Derivation of Algorithms Predicate Logic

G52DOA - Derivation of Algorithms Predicate Logic G52DOA - Derivation of Algorithms Predicate Logic Venanzio Capretta Predicate Logic So far, we studied propositional logic, in which we started with unspecified propositional variables A, B, C, and combined

More information

Mathematical Logic. Reasoning in First Order Logic. Chiara Ghidini. FBK-IRST, Trento, Italy

Mathematical Logic. Reasoning in First Order Logic. Chiara Ghidini. FBK-IRST, Trento, Italy Reasoning in First Order Logic FBK-IRST, Trento, Italy April 12, 2013 Reasoning tasks in FOL Model checking Question: Is φ true in the interpretation I with the assignment a? Answer: Yes if I = φ[a]. No

More information

03 Review of First-Order Logic

03 Review of First-Order Logic CAS 734 Winter 2014 03 Review of First-Order Logic William M. Farmer Department of Computing and Software McMaster University 18 January 2014 What is First-Order Logic? First-order logic is the study of

More information

Logic and Modelling. Introduction to Predicate Logic. Jörg Endrullis. VU University Amsterdam

Logic and Modelling. Introduction to Predicate Logic. Jörg Endrullis. VU University Amsterdam Logic and Modelling Introduction to Predicate Logic Jörg Endrullis VU University Amsterdam Predicate Logic In propositional logic there are: propositional variables p, q, r,... that can be T or F In predicate

More information

Lecture Notes on Quantification

Lecture Notes on Quantification Lecture Notes on Quantification 15-317: Constructive Logic Frank Pfenning Lecture 5 September 8, 2009 1 Introduction In this lecture, we introduce universal and existential quantification As usual, we

More information

Lecture 16: Computation Tree Logic (CTL)

Lecture 16: Computation Tree Logic (CTL) Lecture 16: Computation Tree Logic (CTL) 1 Programme for the upcoming lectures Introducing CTL Basic Algorithms for CTL CTL and Fairness; computing strongly connected components Basic Decision Diagrams

More information

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

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

More information

Hoare Logic: Reasoning About Imperative Programs

Hoare Logic: Reasoning About Imperative Programs Hoare Logic: Reasoning About Imperative Programs COMP1600 / COMP6260 Dirk Pattinson Australian National University Semester 2, 2018 Programming Paradigms Functional. (Haskell, SML, OCaml,... ) main paradigm:

More information

Introduction to dependent type theory. CIRM, May 30

Introduction to dependent type theory. CIRM, May 30 CIRM, May 30 Goals of this presentation Some history and motivations Notations used in type theory Main goal: the statement of main properties of equality type and the univalence axiom First talk P ropositions

More information

Deductive Verification

Deductive Verification Deductive Verification Mooly Sagiv Slides from Zvonimir Rakamaric First-Order Logic A formal notation for mathematics, with expressions involving Propositional symbols Predicates Functions and constant

More information

Constructive analysis

Constructive analysis Constructive analysis Philosophy, Proof and Fundamentals Hajime Ishihara School of Information Science Japan Advanced Institute of Science and Technology (JAIST) Nomi, Ishikawa 923-1292, Japan Interval

More information

Logic Part II: Intuitionistic Logic and Natural Deduction

Logic Part II: Intuitionistic Logic and Natural Deduction Yesterday Remember yesterday? classical logic: reasoning about truth of formulas propositional logic: atomic sentences, composed by connectives validity and satisability can be decided by truth tables

More information

Formal Methods for Java

Formal Methods for Java Formal Methods for Java Lecture 20: Sequent Calculus Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg January 15, 2013 Jochen Hoenicke (Software Engineering) Formal Methods for Java

More information

Formal Methods for Java

Formal Methods for Java Formal Methods for Java Lecture 12: Soundness of Sequent Calculus Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg June 12, 2017 Jochen Hoenicke (Software Engineering) Formal Methods

More information

Constructive (functional) analysis

Constructive (functional) analysis Constructive (functional) analysis Hajime Ishihara School of Information Science Japan Advanced Institute of Science and Technology (JAIST) Nomi, Ishikawa 923-1292, Japan Proof and Computation, Fischbachau,

More information

Automated Reasoning Lecture 5: First-Order Logic

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

More information

The syntactic guard condition of Coq

The syntactic guard condition of Coq The syntactic guard condition of Coq Bruno Barras February 2, 2010 Overview 1 Theory Basic criterion Extensions 2 Algorithm Efficiency 3 Discussion 4 Attic A short history of the syntactic guard criterion

More information

cse371/mat371 LOGIC Professor Anita Wasilewska Fall 2018

cse371/mat371 LOGIC Professor Anita Wasilewska Fall 2018 cse371/mat371 LOGIC Professor Anita Wasilewska Fall 2018 Chapter 7 Introduction to Intuitionistic and Modal Logics CHAPTER 7 SLIDES Slides Set 1 Chapter 7 Introduction to Intuitionistic and Modal Logics

More information

Lecture Notes on Heyting Arithmetic

Lecture Notes on Heyting Arithmetic Lecture Notes on Heyting Arithmetic 15-317: Constructive Logic Frank Pfenning Lecture 8 September 21, 2017 1 Introduction In this lecture we discuss the data type of natural numbers. They serve as a prototype

More information

Constructive reverse mathematics: an introduction

Constructive reverse mathematics: an introduction Constructive reverse mathematics: an introduction Hajime Ishihara School of Information Science Japan Advanced Institute of Science and Technology (JAIST) Nomi, Ishikawa 923-1292, Japan CMFP 2013, Nis,

More information

15414/614 Optional Lecture 3: Predicate Logic

15414/614 Optional Lecture 3: Predicate Logic 15414/614 Optional Lecture 3: Predicate Logic Anvesh Komuravelli 1 Why Predicate Logic? Consider the following statements. 1. Every student is younger than some instructor. 2. Not all birds can fly. Propositional

More information

Constructive Formalization of Classical Modal Logic

Constructive Formalization of Classical Modal Logic Constructive Formalization of Classical Modal Logic Christian Doczkal and Gert Smolka Saarland University June 30, 2011 This paper reports about the formalization of classical modal logic in the constructive

More information

Basic Propositional Logic. Inductive Theory of the Natural Numbers. Conjunction. Equivalence. Negation and Inequivalence. Implication.

Basic Propositional Logic. Inductive Theory of the Natural Numbers. Conjunction. Equivalence. Negation and Inequivalence. Implication. McMaster University COMPSCI&SFWRENG 2DM3 Dept. of Computing and Software Theorem List 4 Dr. W. Kahl 2017-12-09 The names listed here are precisely the names used in the preloaded material you are already

More information

Hoare Examples & Proof Theory. COS 441 Slides 11

Hoare Examples & Proof Theory. COS 441 Slides 11 Hoare Examples & Proof Theory COS 441 Slides 11 The last several lectures: Agenda Denotational semantics of formulae in Haskell Reasoning using Hoare Logic This lecture: Exercises A further introduction

More information

CSCE 222 Discrete Structures for Computing. Predicate Logic. Dr. Hyunyoung Lee. !!!!! Based on slides by Andreas Klappenecker

CSCE 222 Discrete Structures for Computing. Predicate Logic. Dr. Hyunyoung Lee. !!!!! Based on slides by Andreas Klappenecker CSCE 222 Discrete Structures for Computing Predicate Logic Dr. Hyunyoung Lee Based on slides by Andreas Klappenecker 1 Predicates A function P from a set D to the set Prop of propositions is called a predicate.

More information

Nunchaku: Flexible Model Finding for Higher-Order Logic

Nunchaku: Flexible Model Finding for Higher-Order Logic Nunchaku: Flexible Model Finding for Higher-Order Logic Simon Cruanes, Jasmin Blanchette, Andrew Reynolds Veridis, Inria Nancy https://cedeela.fr/~simon/ April 7th, 2016 1 / 21 Summary Introduction Nunchaku

More information

CS558 Programming Languages

CS558 Programming Languages CS558 Programming Languages Winter 2017 Lecture 2b Andrew Tolmach Portland State University 1994-2017 Semantics Informal vs. Formal Informal semantics Descriptions in English (or other natural language)

More information

CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter 5 p. 1/60

CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter 5 p. 1/60 CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter 5 p. 1/60 CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science

More information

Realizable Extensions of Intuitionistic Analysis: Brouwer, Kleene, Kripke and the End of Time

Realizable Extensions of Intuitionistic Analysis: Brouwer, Kleene, Kripke and the End of Time Realizable Extensions of Intuitionistic Analysis: Brouwer, Kleene, Kripke and the End of Time Joan Rand Moschovakis Occidental College, Emerita ASL Special Session on Intuitionism and Intuitionistic Logic

More information

Syntax of propositional logic. Syntax tree of a formula. Semantics of propositional logic (I) Subformulas

Syntax of propositional logic. Syntax tree of a formula. Semantics of propositional logic (I) Subformulas Syntax of propositional logic Syntax tree of a formula An atomic formula has the form A i where i =, 2, 3,.... Formulas are defined by the following inductive process: Every formula can be represented

More information

Discrete Structures. Lecture Notes for CSE 191. Matthew G. Knepley

Discrete Structures. Lecture Notes for CSE 191. Matthew G. Knepley Discrete Structures Lecture Notes for CSE 191 Matthew G. Knepley Department of Computer Science and Engineering University At Buffalo April 26, 2018 I dedicate these notes to my wonderful wife Margarete,

More information

Review for Midterm 1. Andreas Klappenecker

Review for Midterm 1. Andreas Klappenecker Review for Midterm 1 Andreas Klappenecker Topics Chapter 1: Propositional Logic, Predicate Logic, and Inferences Rules Chapter 2: Sets, Functions (Sequences), Sums Chapter 3: Asymptotic Notations and Complexity

More information

Introduction to Logic

Introduction to Logic Introduction to Logic 1 What is Logic? The word logic comes from the Greek logos, which can be translated as reason. Logic as a discipline is about studying the fundamental principles of how to reason

More information

Propositional and Predicate Logic

Propositional and Predicate Logic Propositional and Predicate Logic CS 536-05: Science of Programming This is for Section 5 Only: See Prof. Ren for Sections 1 4 A. Why Reviewing/overviewing logic is necessary because we ll be using it

More information

CSCE 222 Discrete Structures for Computing. Review for Exam 1. Dr. Hyunyoung Lee !!!

CSCE 222 Discrete Structures for Computing. Review for Exam 1. Dr. Hyunyoung Lee !!! CSCE 222 Discrete Structures for Computing Review for Exam 1 Dr. Hyunyoung Lee 1 Topics Propositional Logic (Sections 1.1, 1.2 and 1.3) Predicate Logic (Sections 1.4 and 1.5) Rules of Inferences and Proofs

More information

Discrete Mathematics

Discrete Mathematics Discrete Mathematics Jeremy Siek Spring 2010 Jeremy Siek Discrete Mathematics 1 / 20 Outline of Lecture 4 1. Overview of First-Order Logic 2. Beyond Booleans: natural numbers, integers, etc. 3. Universal

More information

Learning Goals of CS245 Logic and Computation

Learning Goals of CS245 Logic and Computation Learning Goals of CS245 Logic and Computation Alice Gao April 27, 2018 Contents 1 Propositional Logic 2 2 Predicate Logic 4 3 Program Verification 6 4 Undecidability 7 1 1 Propositional Logic Introduction

More information

Predicate Calculus lecture 1

Predicate Calculus lecture 1 Predicate Calculus lecture 1 Section 1.3 Limitation of Propositional Logic Consider the following reasoning All cats have tails Gouchi is a cat Therefore, Gouchi has tail. MSU/CSE 260 Fall 2009 1 MSU/CSE

More information

CS1021. Why logic? Logic about inference or argument. Start from assumptions or axioms. Make deductions according to rules of reasoning.

CS1021. Why logic? Logic about inference or argument. Start from assumptions or axioms. Make deductions according to rules of reasoning. 3: Logic Why logic? Logic about inference or argument Start from assumptions or axioms Make deductions according to rules of reasoning Logic 3-1 Why logic? (continued) If I don t buy a lottery ticket on

More information

2-4: The Use of Quantifiers

2-4: The Use of Quantifiers 2-4: The Use of Quantifiers The number x + 2 is an even integer is not a statement. When x is replaced by 1, 3 or 5 the resulting statement is false. However, when x is replaced by 2, 4 or 6 the resulting

More information

Applied Logic for Computer Scientists. Answers to Some Exercises

Applied Logic for Computer Scientists. Answers to Some Exercises Applied Logic for Computer Scientists Computational Deduction and Formal Proofs Springer, 2017 doi: http://link.springer.com/book/10.1007%2f978-3-319-51653-0 Answers to Some Exercises Mauricio Ayala-Rincón

More information

Propositional and Predicate Logic

Propositional and Predicate Logic 8/24: pp. 2, 3, 5, solved Propositional and Predicate Logic CS 536: Science of Programming, Spring 2018 A. Why Reviewing/overviewing logic is necessary because we ll be using it in the course. We ll be

More information

Predicate Logic - Deductive Systems

Predicate Logic - Deductive Systems CS402, Spring 2018 G for Predicate Logic Let s remind ourselves of semantic tableaux. Consider xp(x) xq(x) x(p(x) q(x)). ( xp(x) xq(x) x(p(x) q(x))) xp(x) xq(x), x(p(x) q(x)) xp(x), x(p(x) q(x)) xq(x),

More information

A Formalised Proof of Craig s Interpolation Theorem in Nominal Isabelle

A Formalised Proof of Craig s Interpolation Theorem in Nominal Isabelle A Formalised Proof of Craig s Interpolation Theorem in Nominal Isabelle Overview We intend to: give a reminder of Craig s theorem, and the salient points of the proof introduce the proof assistant Isabelle,

More information

2.7.1 Foundations of Proof Systems

2.7.1 Foundations of Proof Systems 2.7.1 Foundations of Proof Systems Exam 2017-2018 1 Warming up... Question 1 Give a proof in natural deduction of the following proposition : ( f = (g = h)) = (( f = g) = ( f = h)). Solution. f (g h);

More information

First-Order Logic. Chapter Overview Syntax

First-Order Logic. Chapter Overview Syntax Chapter 10 First-Order Logic 10.1 Overview First-Order Logic is the calculus one usually has in mind when using the word logic. It is expressive enough for all of mathematics, except for those concepts

More information

First-Order Logic. 1 Syntax. Domain of Discourse. FO Vocabulary. Terms

First-Order Logic. 1 Syntax. Domain of Discourse. FO Vocabulary. Terms First-Order Logic 1 Syntax Domain of Discourse The domain of discourse for first order logic is FO structures or models. A FO structure contains Relations Functions Constants (functions of arity 0) FO

More information

Cylindrical Algebraic Decomposition in Coq

Cylindrical Algebraic Decomposition in Coq Cylindrical Algebraic Decomposition in Coq MAP 2010 - Logroño 13-16 November 2010 Assia Mahboubi INRIA Microsoft Research Joint Centre (France) INRIA Saclay Île-de-France École Polytechnique, Palaiseau

More information

Constructive Logic. Thierry Coquand. August 2008

Constructive Logic. Thierry Coquand. August 2008 Thierry Coquand August 2008 This course To present constructive mathematics using logic Introduction to recent work in constructive algebra (H. Lombardi, P. Schuster, I. Yengui,... ) Connection with computer

More information

First Order Logic vs Propositional Logic CS477 Formal Software Dev Methods

First Order Logic vs Propositional Logic CS477 Formal Software Dev Methods First Order Logic vs Propositional Logic CS477 Formal Software Dev Methods Elsa L Gunter 2112 SC, UIUC egunter@illinois.edu http://courses.engr.illinois.edu/cs477 Slides based in part on previous lectures

More information

CS294-9 September 14, 2006 Adam Chlipala UC Berkeley

CS294-9 September 14, 2006 Adam Chlipala UC Berkeley Interactive Computer Theorem Proving Lecture 4: Inductively- Defined Predicates CS294-9 September 14, 2006 Adam Chlipala UC Berkeley 1 Administrivia The course registration database has been updated so

More information

Lecture 10 CS 1813 Discrete Mathematics. Quantify What? Reasoning with Predicates

Lecture 10 CS 1813 Discrete Mathematics. Quantify What? Reasoning with Predicates Lecture 10 CS 1813 Discrete Mathematics Quantify What? Reasoning with Predicates 1 More Examples with Forall the Universal Quantifier L predicate about qsort L(n) length(qsort[a 1, a 2,, a n ] ) = n Universe

More information

- Introduction to propositional, predicate and higher order logics

- Introduction to propositional, predicate and higher order logics Lecture 1: Deductive Verification of Reactive Systems - Introduction to propositional, predicate and higher order logics - Deductive Invariance Proofs Cristina Seceleanu MRTC, MdH E-mail: cristina.seceleanu@mdh.se

More information

Acyclicity and Finite Linear Extendability: a Formal and Constructive Equivalence

Acyclicity and Finite Linear Extendability: a Formal and Constructive Equivalence Laboratoire de l Informatique du Parallélisme École Normale Supérieure de Lyon Unité Mixte de Recherche CNRS-INRIA-ENS LYON-UCBL n o 5668 Acyclicity and Finite Linear Extendability: a Formal and Constructive

More information

CSE-433 Logic in Computer Science 2007 Final exam Sample Solution

CSE-433 Logic in Computer Science 2007 Final exam Sample Solution Name: Hemos ID: CSE-433 Logic in Computer Science 2007 Final exam Sample Solution This is a closed-book exam No other material is permitted It consists of 4 problems worth a total of 175 points There are

More information

An Intuitively Complete Analysis of Gödel s Incompleteness

An Intuitively Complete Analysis of Gödel s Incompleteness An Intuitively Complete Analysis of Gödel s Incompleteness JASON W. STEINMETZ (Self-funded) A detailed and rigorous analysis of Gödel s proof of his first incompleteness theorem is presented. The purpose

More information

Negation introduction

Negation introduction Negation introduction How do we prove a negation? P = P F -introduction {Assume} P (l-1) F { -intro on and (l-1)} (l) P -intro Negation elimination -elimination How do we use a negation in a proof? P (l)

More information

Nonclassical logics (Nichtklassische Logiken)

Nonclassical logics (Nichtklassische Logiken) Nonclassical logics (Nichtklassische Logiken) VU 185.249 (lecture + exercises) http://www.logic.at/lvas/ncl/ Chris Fermüller Technische Universität Wien www.logic.at/people/chrisf/ chrisf@logic.at Winter

More information

Model for reactive systems/software

Model for reactive systems/software Temporal Logics CS 5219 Abhik Roychoudhury National University of Singapore The big picture Software/ Sys. to be built (Dream) Properties to Satisfy (caution) Today s lecture System Model (Rough Idea)

More information

Today. Proof using contrapositive. Compound Propositions. Manipulating Propositions. Tautology

Today. Proof using contrapositive. Compound Propositions. Manipulating Propositions. Tautology 1 Math/CSE 1019N: Discrete Mathematics for Computer Science Winter 2007 Suprakash Datta datta@cs.yorku.ca Office: CSEB 3043 Phone: 416-736-2100 ext 77875 Course page: http://www.cs.yorku.ca/course/1019

More information

Chapter 16. Logic Programming. Topics. Logic Programming. Logic Programming Paradigm

Chapter 16. Logic Programming. Topics. Logic Programming. Logic Programming Paradigm Topics Chapter 16 Logic Programming Introduction Predicate Propositions Clausal Form Horn 2 Logic Programming Paradigm AKA Declarative Paradigm The programmer Declares the goal of the computation (specification

More information

Chapter 11: Automated Proof Systems (1)

Chapter 11: Automated Proof Systems (1) Chapter 11: Automated Proof Systems (1) SYSTEM RS OVERVIEW Hilbert style systems are easy to define and admit a simple proof of the Completeness Theorem but they are difficult to use. Automated systems

More information

Model Checking I. What are LTL and CTL? dack. and. dreq. and. q0bar

Model Checking I. What are LTL and CTL? dack. and. dreq. and. q0bar Model Checking I What are LTL and CTL? and dack q0 or D dreq D q0bar and 1 View circuit as a transition system (dreq, q0, dack) (dreq, q0, dack ) q0 = dreq dack = dreq and (q0 or (not q0 and dack)) q0

More information

Order Sorted Algebra. Japan Advanced Institute of Science and Technology. March 8, 2008

Order Sorted Algebra. Japan Advanced Institute of Science and Technology. March 8, 2008 Order Sorted Algebra Daniel Găină Japan Advanced Institute of Science and Technology March 8, 2008 Introduction There are many examples where all items of one sort are necessarily also items of some other

More information

Lecture Notes on Data Abstraction

Lecture Notes on Data Abstraction Lecture Notes on Data Abstraction 15-814: Types and Programming Languages Frank Pfenning Lecture 14 October 23, 2018 1 Introduction Since we have moved from the pure λ-calculus to functional programming

More information

Finite Automata Theory and Formal Languages TMV027/DIT321 LP Recap: Logic, Sets, Relations, Functions

Finite Automata Theory and Formal Languages TMV027/DIT321 LP Recap: Logic, Sets, Relations, Functions Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2017 Formal proofs; Simple/strong induction; Mutual induction; Inductively defined sets; Recursively defined functions. Lecture 3 Ana Bove

More information

https://vu5.sfc.keio.ac.jp/slide/

https://vu5.sfc.keio.ac.jp/slide/ 1 FUNDAMENTALS OF LOGIC NO.7 PREDICATE LOGIC Tatsuya Hagino hagino@sfc.keio.ac.jp lecture URL https://vu5.sfc.keio.ac.jp/slide/ 2 So Far Propositional Logic Logical Connectives (,,, ) Truth Table Tautology

More information

Program Analysis Part I : Sequential Programs

Program Analysis Part I : Sequential Programs Program Analysis Part I : Sequential Programs IN5170/IN9170 Models of concurrency Program Analysis, lecture 5 Fall 2018 26. 9. 2018 2 / 44 Program correctness Is my program correct? Central question for

More information

Discrete Mathematics and Its Applications

Discrete Mathematics and Its Applications Discrete Mathematics and Its Applications Lecture 1: The Foundations: Logic and Proofs (1.3-1.5) MING GAO DASE @ ECNU (for course related communications) mgao@dase.ecnu.edu.cn Sep. 19, 2017 Outline 1 Logical

More information

Logik - WS16/17. Iosif Petrakis. December 16, 2016

Logik - WS16/17. Iosif Petrakis. December 16, 2016 Logik - WS16/17 Iosif Petrakis petrakis@math.lmu.de December 16, 2016 These notes include part of the material discussed in the Exercises that correspond to the lecture course Logik of Priv.-Doz. Dr. Josef

More information

Elimination of binary choice sequences

Elimination of binary choice sequences Elimination of binary choice sequences Tatsuji Kawai Japan Advanced Institute of Science and Technology JSPS Core-to-Core Program Workshop on Mathematical Logic and its Application 16 17 September 2016,

More information

Model Checking I. What are LTL and CTL? dack. and. dreq. and. q0bar

Model Checking I. What are LTL and CTL? dack. and. dreq. and. q0bar Model Checking I What are LTL and CTL? q0 or and dack dreq q0bar and 1 View circuit as a transition system (dreq, q0, dack) (dreq, q0, dack ) q0 = dreq and dack = dreq & (q0 + ( q0 & dack)) q0 or and D

More information

The Coq Proof Assistant

The Coq Proof Assistant The Coq Proof Assistant Bow-Yaw Wang Institute of Information Science Academia Sinica, Taiwan October 15, 2018 Bow-Yaw Wang (Academia Sinica) The Coq Proof Assistant October 15, 2018 1 / 59 Outline 1 The

More information

Predicate Calculus - Syntax

Predicate Calculus - Syntax Predicate Calculus - Syntax Lila Kari University of Waterloo Predicate Calculus - Syntax CS245, Logic and Computation 1 / 26 The language L pred of Predicate Calculus - Syntax L pred, the formal language

More information

CS 220: Discrete Structures and their Applications. Predicate Logic Section in zybooks

CS 220: Discrete Structures and their Applications. Predicate Logic Section in zybooks CS 220: Discrete Structures and their Applications Predicate Logic Section 1.6-1.10 in zybooks From propositional to predicate logic Let s consider the statement x is an odd number Its truth value depends

More information

Sequent calculus for predicate logic

Sequent calculus for predicate logic CHAPTER 13 Sequent calculus for predicate logic 1. Classical sequent calculus The axioms and rules of the classical sequent calculus are: Axioms { Γ, ϕ, ϕ for atomic ϕ Γ, Left Γ,α 1,α 2 Γ,α 1 α 2 Γ,β 1

More information

Lecture 3. Logic Predicates and Quantified Statements Statements with Multiple Quantifiers. Introduction to Proofs. Reading (Epp s textbook)

Lecture 3. Logic Predicates and Quantified Statements Statements with Multiple Quantifiers. Introduction to Proofs. Reading (Epp s textbook) Lecture 3 Logic Predicates and Quantified Statements Statements with Multiple Quantifiers Reading (Epp s textbook) 3.1-3.3 Introduction to Proofs Reading (Epp s textbook) 4.1-4.2 1 Propositional Functions

More information

Predicate Logic. CSE 191, Class Note 02: Predicate Logic Computer Sci & Eng Dept SUNY Buffalo

Predicate Logic. CSE 191, Class Note 02: Predicate Logic Computer Sci & Eng Dept SUNY Buffalo Predicate Logic CSE 191, Class Note 02: Predicate Logic Computer Sci & Eng Dept SUNY Buffalo c Xin He (University at Buffalo) CSE 191 Discrete Structures 1 / 22 Outline 1 From Proposition to Predicate

More information

Propositional Logic: Deductive Proof & Natural Deduction Part 1

Propositional Logic: Deductive Proof & Natural Deduction Part 1 Propositional Logic: Deductive Proof & Natural Deduction Part 1 CS402, Spring 2016 Shin Yoo Deductive Proof In propositional logic, a valid formula is a tautology. So far, we could show the validity of

More information

Theory of Computation

Theory of Computation Theory of Computation Prof. Michael Mascagni Florida State University Department of Computer Science 1 / 33 This course aims to cover... the development of computability theory using an extremely simple

More information

1 Introduction to Predicate Resolution

1 Introduction to Predicate Resolution 1 Introduction to Predicate Resolution The resolution proof system for Predicate Logic operates, as in propositional case on sets of clauses and uses a resolution rule as the only rule of inference. The

More information

Math.3336: Discrete Mathematics. Nested Quantifiers/Rules of Inference

Math.3336: Discrete Mathematics. Nested Quantifiers/Rules of Inference Math.3336: Discrete Mathematics Nested Quantifiers/Rules of Inference Instructor: Dr. Blerina Xhabli Department of Mathematics, University of Houston https://www.math.uh.edu/ blerina Email: blerina@math.uh.edu

More information

02 The Axiomatic Method

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

More information

Existence and Consistency in Bounded Arithmetic

Existence and Consistency in Bounded Arithmetic Existence and Consistency in Bounded Arithmetic Yoriyuki Yamagata National Institute of Advanced Science and Technology (AIST) Kusatsu, August 30, 2011 Outline Self introduction Summary Theories of PV

More information

x P(x) x P(x) CSE 311: Foundations of Computing announcements last time: quantifiers, review: logical Inference Fall 2013 Lecture 7: Proofs

x P(x) x P(x) CSE 311: Foundations of Computing announcements last time: quantifiers, review: logical Inference Fall 2013 Lecture 7: Proofs CSE 311: Foundations of Computing Fall 2013 Lecture 7: Proofs announcements Reading assignment Logical inference 1.6-1.7 7 th Edition 1.5-1.7 6 th Edition Homework #2 due today last time: quantifiers,

More information

Main Issues in Computer Mathematics. Henk Barendregt Brouwer Institute Radboud University Nijmegen, The Netherlands

Main Issues in Computer Mathematics. Henk Barendregt Brouwer Institute Radboud University Nijmegen, The Netherlands Main Issues in Computer Mathematics Henk Barendregt Brouwer Institute Radboud University Nijmegen, The Netherlands Overview 1. The nature of mathematics 2 2. Computer Mathematics 4 3. Foundations 5 4.

More information

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

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

More information