Lecture Notes on Quantification

Similar documents
Lecture Notes on Heyting Arithmetic

Propositions and Proofs

Lecture Notes on Classical Linear Logic

Lecture Notes on Cut Elimination

Lecture Notes on The Curry-Howard Isomorphism

Logic Overview, I. and T T T T F F F T F F F F

Lecture Notes on A Concurrent Logical Framework

Negation introduction

Lecture Notes on Sequent Calculus

Learning Goals of CS245 Logic and Computation

Lecture Notes on Linear Logic

3.2 Reduction 29. Truth. The constructor just forms the unit element,. Since there is no destructor, there is no reduction rule.

Lecture Notes on Constructive Logic: Overview

Lecture Notes on Certifying Theorem Provers

Lecture Notes on Inductive Definitions

Math 10850, fall 2017, University of Notre Dame

Lecture Notes on Focusing

Mat 243 Exam 1 Review

Lecture Notes on From Rules to Propositions

KE/Tableaux. What is it for?

Logic and Proofs. (A brief summary)

Lecture Notes on Cut Elimination

First order Logic ( Predicate Logic) and Methods of Proof

Discrete Mathematics & Mathematical Reasoning Predicates, Quantifiers and Proof Techniques

Manual of Logical Style

Introduction to Isabelle/HOL

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

CS 2800: Logic and Computation Fall 2010 (Lecture 13)

Logik für Informatiker Logic for computer scientists

PHIL 50 INTRODUCTION TO LOGIC 1 FREE AND BOUND VARIABLES MARCELLO DI BELLO STANFORD UNIVERSITY DERIVATIONS IN PREDICATE LOGIC WEEK #8

Predicates, Quantifiers and Nested Quantifiers

Lecture Notes on Data Abstraction

Logic, Sets, and Proofs

Lecture 3: MSO to Regular Languages

Logic. Definition [1] A logic is a formal language that comes with rules for deducing the truth of one proposition from the truth of another.

Marie Duží

Section Summary. Section 1.5 9/9/2014

Logical Structures in Natural Language: First order Logic (FoL)

G52DOA - Derivation of Algorithms Predicate Logic

The predicate calculus is complete

Supplementary Logic Notes CSE 321 Winter 2009

Natural Deduction. Formal Methods in Verification of Computer Systems Jeremy Johnson

Lecture 3 : Predicates and Sets DRAFT

Logic and Computation

Lecture Notes on Inductive Definitions

Propositional Logic Not Enough

Warm-Up Problem. Write a Resolution Proof for. Res 1/32

03 Propositional Logic II

Lecture Notes on Identity and Inversion

Lecture Notes on Intuitionistic Kripke Semantics

On a Logical Foundation for Explicit Substitutions

Discrete Mathematics. Instructor: Sourav Chakraborty. Lecture 4: Propositional Logic and Predicate Lo

Discrete Structures for Computer Science

Logik für Informatiker Proofs in propositional logic

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

COMP219: Artificial Intelligence. Lecture 19: Logic for KR

THE LOGIC OF QUANTIFIED STATEMENTS. Predicates and Quantified Statements I. Predicates and Quantified Statements I CHAPTER 3 SECTION 3.

Overview. I Review of natural deduction. I Soundness and completeness. I Semantics of propositional formulas. I Soundness proof. I Completeness proof.

What is the decimal (base 10) representation of the binary number ? Show your work and place your final answer in the box.

Logic and Proofs. (A brief summary)

Warm-Up Problem. Let be a Predicate logic formula and a term. Using the fact that. (which can be proven by structural induction) show that 1/26

Midterm : Constructive Logic. October 2, This exam is closed-book, but one (two-sided) sheet of notes is permitted.

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

Predicate Logic: Sematics Part 1

2. Use quantifiers to express the associative law for multiplication of real numbers.

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

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

FOUNDATIONS OF MATHEMATICS CHAPTER 1: FOUNDATIONS OF GEOMETRY

Type Systems as a Foundation for Reliable Computing

Logic. Knowledge Representation & Reasoning Mechanisms. Logic. Propositional Logic Predicate Logic (predicate Calculus) Automated Reasoning

Logic for Computer Science - Week 4 Natural Deduction

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

Automated Reasoning Lecture 5: First-Order Logic

GS03/4023: Validation and Verification Predicate Logic Jonathan P. Bowen Anthony Hall

Predicate Logic. Andreas Klappenecker

Notes on Propositional and First-Order Logic (CPSC 229 Class Notes, January )

COMP 182 Algorithmic Thinking. Proofs. Luay Nakhleh Computer Science Rice University

Lecture Notes on Subject Reduction and Normal Forms

Chapter 1, Logic and Proofs (3) 1.6. Rules of Inference

Consequence Relations and Natural Deduction

Normal Forms for First-Order Logic

Induction on Failing Derivations

Predicate Logic & Quantification

Day 5. Friday May 25, 2012

Recall that the expression x > 3 is not a proposition. Why?

Predicate Logic - Deductive Systems

The Foundations: Logic and Proofs. Chapter 1, Part III: Proofs

lec6 8: Natural deduction

3/29/2017. Logic. Propositions and logical operations. Main concepts: propositions truth values propositional variables logical operations

Math 300 Introduction to Mathematical Reasoning Autumn 2017 Proof Templates 1

1.1 Statements and Compound Statements

Review: Potential stumbling blocks

Predicate Calculus lecture 1

CS 173: Induction. Madhusudan Parthasarathy University of Illinois at Urbana-Champaign. February 7, 2016

Lecture Notes on Combinatory Modal Logic

Discrete Structures for Computer Science

Propositional Logic. Fall () Propositional Logic Fall / 30

AAA615: Formal Methods. Lecture 2 First-Order Logic

Lecture Notes on Kripke Semantics for Validity

1. Propositions: Contrapositives and Converses

Transcription:

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 follow the method of using introduction and elimination rules to explain the meaning of the connectives An important aspect of the treatment of quantifiers is that it should be completely independent of the domain of quantification We want to capture what is true of all quantifiers, rather than those applying to natural numbers or integers or rationals or lists or other type of data We will therefore quantify over objects of an unspecified (arbitrary) type τ Whatever we derive, will of course also hold for specific domain (for example, τ = nat) The basic judgment connecting objects t to types τ is We will refer to this judgment here, but not define any specific instances until later in the course when discussing data types 2 Universal Quantification First, universal quantification, written as x:τ A(x) Here x is a bound variable and can therefore be renamed as discussed before When we write A(x) we mean an arbitrary proposition which may depend on x We will also say that A is predicate on elements of type τ For the introduction rule we require that A(a) be true for arbitrary a In other words, the premise contains a parametric judgment, explained in more

L52 Quantification detail below x:τ A(x) true Ia It is important that a be a new parameter, not used outside of its scope, which is the derivation between the new hypothesis and the conclusion In particular, it may not occur in x:τ A(x) If we think of this as the defining property of universal quantification, then a verification of x:τ A(x) describes a construction by which an arbitrary can be transformed into a proof of A(t) true x:τ A(x) true A(t) true We must verify that so that A(t) is a well-formed proposition The local reduction uses the following substitution principle for parametric judgments: If J(a) and then [t/a] J(t) The right hand side is constructed by systematically substituting t for a in and the judgments occurring in it As usual, this substitution must be capture avoiding to be meaningful It is the substitution into the judgments themselves which distinguishes substitution for parameters from substitution for hypotheses The local reduction for universal quantification then exploits this substitution principle x:τ A(x) true Ia A(t) true = R [t/a] A(t) true The local expansion introduces a parameter which we can use to elimi-

Quantification L53 nate the universal quantifier x:τ A(x) true = x:τ A(x) true x:τ A(x) true Ia As a simple example, consider the proof that universal quantifiers distribute over conjunction ( x:τ A(x) B(x)) true u ( x:τ A(x) B(x)) true u b : τ A(a) B(a) true A(b) B(b) true L R B(b) true x:τ A(x) true Ia x:τ B(x) true Ib ( x:τ A(x)) ( x:τ B(x)) true ( x:τ A(x) B(x)) ( x:τ A(x)) ( x:τ B(x)) true Iu I 3 xistential Quantification The existential quantifier is more difficult to specify, although the introduction rule seems innocuous enough A(t) true x:τ A(x) true I The elimination rules creates some difficulties We cannot write x:τ A(x) true A(t) true? because we do not know for which t is is the case that A(t) holds It is easy to see that local soundness would fail with this rule, because we would prove x:τ A(x) with one witness t and then eliminate the quantifier using another object t The best we can do is to assume that A(a) is true for some new parameter a The scope of this assumption is limited to the proof of some

L54 Quantification conclusion which does not mention a (which must be new) x:τ A(x) true u a,u Here, the scope of the hypotheses a and u is the deduction on the right, indicated by the vertical dots In particular, C may not depend on a We use this crucially in the local reduction A(t) true x:τ A(x) true I u F a,u = R A(t) true u [t/a]f The reduction requires two substitutions, one for a parameter a and one for a hypothesis u The local expansion is patterned after the disjunction x:τ A(x) true = x:τ A(x) true x:τ A(x) true u x:τ A(x) true I a,u As an example of quantifiers we show the equivalence of x:τ A(x) C and ( x:τ A(x)) C, where C does not depend on x Generally, in our propositions, any possibly dependence on a bound variable is indicated by writing a general predicate A(x 1,, x n ) We do not make explicit when such propositions are well-formed, although appropriate rules for explicit A could be given When looking at a proof, the static representation on the page is an inadequate image for the dynamics of proof construction As we did earlier, we give two examples where we show the various stages of proof construction (( x:τ A(x)) C) x:τ (A(x) C) true

Quantification L55 The first three steps can be taken without hesitation, because we can always apply implication and universal introduction from the bottom up without possibly missing a proof ( x:τ A(x)) u w A(a) Iw x:τ A(x) Ia (( x:τ A(x)) C) x:τ (A(x) C) true Iu At this point the conclusion is atomic, so we must apply an elimination to an assumption if we follow the strategy of introductions bottom-up and eliminations top-down The only possibility is implication elimination, since and are atomic This gives us a new subgoal ( x:τ A(x)) u A(a) Iw x:τ A(x) Ia w x:τ A(x) (( x:τ A(x)) C) x:τ (A(x) C) true Iu At this point it is easy to see how to complete the proof with an existential introduction w u I ( x:τ A(x)) x:τ A(x) A(a) Iw x:τ A(x) Ia (( x:τ A(x)) C) x:τ (A(x) C) true Iu We now consider the reverse implication ( x:τ (A(x) C)) (( x:τ A(x)) C) true

L56 Quantification From the initial goal, we can blindly carry out two implication introductions, bottom-up, which yields the following situation x:τ A(x) true w x:τ A(x) u ( x:τ A(x)) Iw ( x:τ (A(x) C)) (( x:τ A(x)) C) true Iu No we have two choices: existential elimination applied to w or universal elimination applied to u However, we have not introduced any terms, so only the existential elimination can go forward x:τ A(x) true w x:τ A(x) u v ( x:τ A(x)) Iw a,v ( x:τ (A(x) C)) (( x:τ A(x)) C) true Iu At this point we need to apply another elimination rule to an assumption We don t have much to work with, so we try universal elimination x:τ A(x) true w x:τ A(x) u A(a) ( x:τ A(x)) Iw ( x:τ (A(x) C)) (( x:τ A(x)) C) true Iu a,v v

Quantification L57 Now we can fill the gap with an implication elimination x:τ A(x) u x:τ A(x) true w A(a) ( x:τ A(x)) Iw ( x:τ (A(x) C)) (( x:τ A(x)) C) true Iu a,v v 4 Verifications and Uses In order to formalize the proof search strategy, we use the judgments A has a verification (A ) and A may be used (A ) as we did in the propositional case Universal quantification is straightforward: A(a) x:τ A(x) x:τ A(x) Ia A(t) We do not assign a direction to the judgment for typing objects, Verifications for the existential elimination are patterned after the disjunction: we translate a usable x:τ A(x) into a usable A(a) with a limited scope, both in the verification of some C A(t) x:τ A(x) I x:τ A(x) C C A(a) u a,u As before, the fact that every true proposition has a verification is a kind of global version of the local soundness and completeness properties If we take this for granted (since we do not prove it until later), then we can use this to demonstrate that certain propositions are not true, parametrically

L58 Quantification For example, we show that ( x:τ A(x)) ( x:τ A(x)) is not true in general After the first two steps of constructing a verification, we arrive at x:τ A(x) u A(a) x:τ A(x) Ia ( x:τ A(x)) ( x:τ A(x)) Iu At this point we can only apply existential elimination, which leads to x:τ A(x) u A(a) b : τ A(b) v x:τ A(x) Ia A(a) ( x:τ A(x)) ( x:τ A(x)) Iu b,v We cannot close the gap, because a and b are different parameters We can only apply existential elimination to assumption u again But this only creates c : τ and A(c) for some new c, so have made no progress No matter how often we apply existential elimination, since the parameter introduced must be new, we can never prove A(a)