logical verification lecture program extraction and prop2
|
|
- Annabel Hunter
- 5 years ago
- Views:
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 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 informationCHAPTER 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 informationBeyond 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 informationFirst-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 informationPropositions 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 information4.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 informationcse 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 informationHenk 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 informationPredicate 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 informationIntroduction 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 information3. 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 informationCIS 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 informationThe 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 informationG52DOA - 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 informationMathematical 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 information03 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 informationLogic 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 informationLecture 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 informationLecture 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 informationType 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 informationHoare 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 informationIntroduction 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 informationDeductive 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 informationConstructive 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 informationLogic 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 informationFormal 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 informationFormal 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 informationConstructive (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 informationAutomated 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 informationThe 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 informationcse371/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 informationLecture 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 informationConstructive 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 information15414/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 informationConstructive 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 informationBasic 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 informationHoare 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 informationCSCE 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 informationNunchaku: 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 informationCS558 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 informationCSCI.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 informationRealizable 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 informationSyntax 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 informationDiscrete 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 informationReview 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 informationIntroduction 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 informationPropositional 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 informationCSCE 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 informationDiscrete 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 informationLearning 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 informationPredicate 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 informationCS1021. 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 information2-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 informationApplied 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 informationPropositional 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 informationPredicate 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 informationA 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 information2.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 informationFirst-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 informationFirst-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 informationCylindrical 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 informationConstructive 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 informationFirst 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 informationCS294-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 informationLecture 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
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 informationAcyclicity 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 informationCSE-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 informationAn 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 informationNegation 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 informationNonclassical 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 informationModel 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 informationToday. 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 informationChapter 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 informationChapter 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 informationModel 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 informationOrder 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 informationLecture 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 informationFinite 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 informationhttps://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 informationProgram 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 informationDiscrete 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 informationLogik - 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 informationElimination 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 informationModel 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 informationThe 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 informationPredicate 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 informationCS 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 informationSequent 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 informationLecture 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 informationPredicate 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 informationPropositional 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 informationTheory 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 information1 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 informationMath.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 information02 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 informationExistence 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 informationx 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 informationMain 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 informationPř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