classical logic

40
SWE 623Classical Logic Duminda Wijesekera 1 Classical Logic Lecture Notes for SWE 623 by Duminda Wijesekera

Upload: ellie

Post on 16-Jan-2016

38 views

Category:

Documents


0 download

DESCRIPTION

Classical Logic. Lecture Notes for SWE 623 by Duminda Wijesekera. Propositional and Predicate Logic. Propositional Logic The study of statements and their connectivity structure. Predicate Logic The study of individuals and their properties. Study syntax and semantics for both. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 1

Classical Logic

Lecture Notes for SWE 623

by

Duminda Wijesekera

Page 2: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 2

Propositional and Predicate Logic

• Propositional Logic– The study of statements and their connectivity

structure.

• Predicate Logic– The study of individuals and their properties.

• Study syntax and semantics for both.

• Propositional logic more abstract and hence less detailed than predicate logic.

Page 3: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 3

Propositional Logic: Syntax• A collection of atomic propositional symbols.

– Say A = { ai : 0 < i }. A special atom _|_for contradiction

• A collection of logical connectives.– (and) ^, (or) v, ( not ) , (implies) =>

• Inductively define propositions as:

If X,Y are propositions, so are :–

X ^ Y, X v Y, X => Y, X.• Examples:

– a1^a2, (a =>a2)v(a3^( a4)) are propositions.

Page 4: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 4

Propositional Logic: Semantics• A model M M of a propositional language consists

of – a collection of atoms, say B = { bi : 0 < i },

whereis excluded from B, and

– a partial mapping M from A = { ai : 0 < i } to B = { bi : 0 < i }.

– If M(ai) B, we say that ai is true in M. M. We write “ai is true in MM” as M M |= ai. (Read MM satisfies ai).

– |= is referred to as the satisfaction relation.

Page 5: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 5

Propositional Semantics: Continued• Extend M, and therefore the satisfaction

relation to all propositions using the following inductive definition:– M M |= X ^ Y iff M M |= X and M M |= Y.– M M |= X v Y iff M M |= X or M M |= Y.– M M |= X => Y if M M |= X then M M |= Y.– M M |= X, if it is not the case that M M |=

X.• Notice usage of truth tables

Page 6: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 6

Propositional Logic: Example

• B = { a1, a3} where M given as M(a1) = a1 and M(a2) = a2 has the following properties.– M M |= a1

– M M |= a1 ^ a3

– M M |= a2

– M M |= a2 => a4

• M M does not satisfy the following propositions.– M M |= a4

– M M |= a1 => a4

Page 7: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 7

Propositional Logic: Proofs

• What formulas hold in all models ? • I.e. can we check if a given proposition is

true in all models without going through all possible models?

• Need proofs to answer this question.• We use Natural Deduction proofs. • Recommended: Read Ch 2 of Logic and

Computation by L.C. Paulson.

Page 8: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 8

Natural Deduction for Prop. Logic

• Proofs are trees of formulae made by applying inference rules.

• An inference rule is of the form:A1 …… An

B

• Here A1 ….. An are said to be premises (or antecedents) of the rule, and B is said to be the conclusion (consequent) of the rule.

Page 9: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 9

Natural Deduction for Prop. Logic• Hence a proofs is a trees whose

– Root is the theorem to be proved, – Branches are rules, and– Leaves are the assumptions (axioms) of the proof.

• Example– A1 A2 A3 C1 C2 Assumptions

B1 B2 Applications of rules

D Theorem being proved

• There are introduction and elimination rules for each connective in Natural Deduction proof systems.

Page 10: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 10

Rules for Conjunction

• IntroductionA B

A ^ B

• Elimination

A ^ B A ^ B

A B

Page 11: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 11

Rules for Disjunction• Introduction

A B

A v B A v B

• Elimination[A] [B]

A v B C C

C

• [X] denotes discharged assumption X.

Page 12: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 12

Rules for Implication

• Introduction [A]

B

A => B

• Elimination (Modus Ponens) A => B A

B

Page 13: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 13

Rules for Negation B interpreted as ( B => _|_). Hence we get the

following rules from those of implication. Introduction Elimination

[B] B B _|_ _|_

________ B

• Special Contradiction Rule: B_|_

__________ B

Page 14: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 14

Propositional Proofs: Examples

• Prove: ( A ^ B ) => (A v B)• Notice:

– The outermost connective is =>. Hence, the last step of the proof must be an implication introduction.

– That means, we must assume ( A ^ B ) and prove (A v B), and then discharge the assumption by using => introduction rule.

– In order to prove (A v B) from ( A ^ B ), we must use v –introduction, and hence must prove either A or B from ( A ^ B ).

– This plan forms a skeleton of a proof.

Page 15: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 15

Prop. Proof: Example Continued

• Prove: ( A ^ B ) => (A v B)

[A ^ B ]

A ^ elimination

A v B v introduction

( A ^ B ) => (A v B) => introduction

• Proofs are analyzed backwards, I.e. start unraveling the logical structure of the conclusion and work backwards to the assumptions. Draw out a plan based on your analysis and write down the formal proof.

Page 16: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 16

Derived Rules

• These are rules derived from other rules.• Example:

A ^ B

B ^ A

• Here is the derivation: A ^ B B ^ A

B A ^ elimination

B ^ A ^ introduction

Page 17: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 17

Soundness and Completeness• A rule A1 …… An is said to be sound if for every

B

model in which all of A1 …… An are true, then so is B. I.e. if M M |= A1 , …… , M M |= An, then M M |= B.

• A collection of rules are sound if all rules in the collection is sound.

• A collection of rules is complete if M M |= A for all models M, M, then A is provable. I.e. there is a proof of A using the given set of rules. (Denoted |R-- A ) where R is the set of rules.

Page 18: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 18

Predicate Logic

• Language to describe properties of individuals.• Thus, syntax is able to describe individuals, their

properties (relationships) and functions. – These are to be thought of as names of individuals,

properties (relationships) and functions.

– Models are “incarnations” of these individuals, properties (relationships) and functions.

• More detailed than propositional logic.

Page 19: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 19

Predicate Logic: Syntax• A collection of constants– say { ci : i >= 0 }.

– Constants are names for individuals. E.g.: 0, 1.– Note: not all individuals in a model have names.

• A collection of variables– say { xi : i >= 0 }.– Needed to generically refer to individuals.– Think of them as standing in place of pronouns like it, she.

• A collection of function symbols- say { fi : i >= 0 }.– May be of different arities, and may be typed. E.g.: +(x,y)

• A collection of predicate symbols- say { pi : i >= 0 }.– May be of different arities. – Encodes properties of individuals. E.g.: prime(x).

Page 20: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 20

Predicate LogicRecursive Definition of Terms

• Every variable is a term.• Every constant is a term.• If fi is an n-ary function symbol and t1, .., tn are terms,

then fi(t1, .., tn) is a term.• We use {ti : i <=0 } for the collection of terms.• Examples:

– f(x, g(2, y)) is a term, where f, g are function symbols and x, y are variables.

– +( x, *(3,y)) is a term in arithmetic usually written as x + (3*y)

Page 21: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 21

Recursive Definition of Formulas

• If pi is an n-ary predicate symbol and t1, .., tn are terms, then pi(t1, .., tn ) is an atomic formula.

• If A and B are formulas, then so are:– A ^ B, A v B, A, A => B. xi A(xi), xi A(xi), where xi is a variable.

, are referred to as the universal and existential quantifier, respectively.

• A formula that does not have either quantifier is said to be a quantifier free.

Page 22: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 22

Free and bound Variables• In x A(x), the variable x is said to be bound; meaning

the name x plays no significant role. (compare with he, she, it)

• A variable x occurs bound in a formula if x or x is a part of it. More precisely, x occurs bound in: y A(y) or y A(y) if x and y are the same variable.– A if x occurs bound in A.– A ^ B, A v B, A => B if x occurs bound in either A

or B.

Page 23: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 23

Substitutions

• If A is a formula, t is a term and x is a variable, then A[t/x] is the formula obtained by substituting t for x in A. – A[t1/x1, … tn/xn] is the formula resulting in

simultaneously substituting x1, …xn by t1, …tn.

– Note: Simultaneous substitution Q(x,y)[x/y,y/x] yields Q(y,x) but iterated substitution Q(x,y)[x/y][y/x] yields Q(y,y).

Page 24: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 24

Substituting Terms for Variables• In A[t/x], the free variables of t stand the danger of

becoming bound in A. Hence, need a precise definition.– If x is y then y A(y) [x/y] is y A(y). If not let z be a

fresh variable (I.e. not in t, x) then (y A(y) )[t/x] is z (A(z/y) [t/x]).

– Similar definition for y A(y).

• Examples: y (y = 1) [y/y] is y (y = 1). Here x is y and t is x. y (y+1 > x) [2y+x/x] is z ((z+1>x)[2y+x/x] I.e.

z (z+1>2y+x). Here t is (2y+x).

Page 25: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 25

Substituting Terms Continued

• ( A )[t/x] is (A [t/x])

• (A ^ B) [t/x] is (A[t/x] ^ B[t/x])

• (A v B) [t/x] is (A[t/x] v B[t/x])

• (A => B) [t/x] is (A[t/x] => B[t/x])

• Pi(t1, .. tn) [t/x] is Pi(t1[t/x], .. tn[t/x]) for predicate symbol Pi.

Page 26: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 26

Predicate Logic: Semantics

• A model consists of – A set (of individuals), say A = { ai : i >= 0 }.

– A set of total functions Fn = { fni : i >= 0 } on A.

• I.e. fni(aj) is some ak for every aj.

– A set of predicates Pr = { pri : i >= 0 } over A.• Do not have to be total.

• Can have many arities.

Page 27: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 27

Interpreting Syntax

• Mapping from Syntax to Semantics:– A mapping mCons : { ci : I >= 0 } to A={ai: i >= 0}.

• Need not be ONTO A. I.e. there could be unnamed individuals in the semantic domain.

– A mapping mFun : { fi : I >= 0 } to Fn={fni: i >= 0}.• Need not be onto. I.e. there could be unnamed functions in the

semantic domain.

– A mapping mPred: { pi : I >= 0 } to Pr={pri: i >= 0}.• Need not be onto. I.e. there could be unnamed predicates in the

semantic domain.

Page 28: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 28

Interpreting Formulas: naming

• We do not interpret formulas with free variables. • In order to interpret quantified formulas, need to

expand the syntax by adding a constant in the syntax for each unnamed individual in the model. – I.e. for each ai for which there is no cj such that Fn(cj ) is ai,

add a new constant Cai to the syntax.

– Now expand the definition of terms to include these new constants. Let newT = { Nti : i >= 0} be the collection of new terms so defined.

Page 29: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 29

Interpreting Formulas

• Let M M be a model. We define M M |= F for every quantified formula as follows.

– For every n-ary predicate symbol pi , and every sequence of new variable free terms Nt1, … Ntn define

M M |= pi(Nt1, … Ntn ) if and only if mPred(pi)(Nt1, … Ntn ).

– I.e. pi(Nt1, … Ntn ) is true in M M if and only if its image under the map mPred holds with parameters Nt1, … Ntn .

Page 30: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 30

Interpreting Formulas: Continued

– For every formula A , M M |= y A(y) if and only if M M |= A(Nti) for every Nti newT.

– For every formula A , M M |= y A(y) if and only if there is some Nti newT satisfying M M |= A(Nti).

– M M |= A ^ B if M M |= A and M M |= B .

– M M |= A v B if M M |= A or M M |= B.

– M M |= A => B if when M M |= A then M M |= B.

– M M |= A if it is not the case that M M |= A.

Page 31: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 31

Proof Rules for Predicate Logic

• Proof rules of introduction and elimination of ^, v, =>, and .

• New rules required for introduction and elimination of and quantifiers.

Page 32: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 32

Proof Rules for

IntroductionA(x) provided x is not free in the

x A(x) assumptions of A

Elimination x A(x)

A[t/x]

Page 33: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 33

Proof Rules for Introduction

A[t/x]xA(x)

Elimination[A] provided x is not

freexA(x) B in B nor in the

B assumptions of B apart from A

Page 34: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 34

An Example Proof• Prove ((x A(x)) ^ B) => (x (A(x)^ B))

provided that x is not free in B.• Plan:

– Since outer connective is =>, need to use => introduction at the last step. Hence can use (x A(x)) ^ B as an assumption for the steps above.

– Now in order to get x (A(x)^ B) using introduction, we need to get A[t/x] )^ B.

– Can use ^ elimination to (x A(x)) ^ B and obtain B– Can use x elimination to get A[t/x].

Page 35: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 35

Example Proof

x A(x) ^ B x A(x) ^ B x A(x) [A(t/x)] B

A(t/x) ^ B x(A(x) ^ B

• The other direction of the proof appears in the handout page 32.

Page 36: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 36

Induction Rule

[A(x)]

A[0/x] A[x+1/x]

A(x)

Proviso: x is not free in the assumptions of A[x+1/x] apart from A(x).

Page 37: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 37

Equality Reasoning

• Rules for equality– Reflexivity axiom: t = t.– Symmetry rule: t = u .

u = t– Transitivity rule: s = t t = u .

s = u

• Congruence laws for each function and predicate symbol, or substitution rules.

Page 38: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 38

Equality Reasoning: Continued

• Congruence Law for functions:t1 = u1 ….tn = un

f(t1, …., tn) = f(u1, ….,un)

• Congruence Law for Predicates:t1 = u1 ….tn = un

p(t1, …., tn) p(u1, ….,un)

• Substitution Rule:t = u

S[t/x] = S[u/x]

Page 39: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 39

Equality Reasoning: An ExampleThis example is from Page 37, of the Logic handout.

x f(x,x) = x

f(g(z), g(z)) = g(z)

p(f(g(z), g(z)) p(g(z))

p(f(g(z), g(z)) p(g(z))

Page 40: Classical Logic

SWE 623Classical Logic Duminda Wijesekera 40

Logic: Suggested Exercises

• Go thorough all proofs and suggested exercises in the handout.

• Take the midterm and final exams from last semester and attempt the proofs.

• Go through the second homework from last semester.

• Reference: Chapter 2 of Logic and Computation by L.C. Paulson.