logic

Document Sample

```					                         Classical Logic

Lecture Notes for SWE 623
by
Duminda Wijesekera

SWE 623Classical Logic       Duminda Wijesekera   1
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.
SWE 623Classical Logic   Duminda Wijesekera         2
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.

SWE 623Classical Logic   Duminda Wijesekera                      3
Propositional Logic: Semantics
• A model M of a propositional language consists
of
– a collection of atoms, say B = { bi : 0 < i }, where _|_
is excluded from B, and
– a partial mapping M from A = { ai : 0 < i } to B =
{ bi : 0 < i }.
– If M(ai) e B, we say that ai is true in M. We write
“ai is true in M” as M |= ai. (Read M satisfies ai).
– |= is referred to as the satisfaction relation.

SWE 623Classical Logic   Duminda Wijesekera            4
Propositional Semantics: Continued
• Extend M, and therefore the satisfaction
relation to all propositions using the
following inductive definition:
– M |= X ^ Y iff M |= X and M |= Y.
– M |= X v Y iff M |= X or M |= Y.
– M |= X => Y if M |= X then M |= Y.
– M |=  X, if it is not the case that M |= X.
• Notice usage of truth tables

SWE 623Classical Logic   Duminda Wijesekera    5
Propositional Logic: Example

• B = { a1, a3} where M given as M(a1) = a1 and
M(a2) = a2 has the following properties.
–   M |= a1
–   M |= a1 ^ a3
–   M |=  a2
–   M |= a2 => a4
• M does not satisfy the following propositions.
– M |= a4
– M |= a1 => a4

SWE 623Classical Logic   Duminda Wijesekera        6
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.
SWE 623Classical Logic   Duminda Wijesekera      7
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.
SWE 623Classical Logic   Duminda Wijesekera      8
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.

SWE 623Classical Logic         Duminda Wijesekera                      9
Rules for Conjunction
• Introduction
A                   B
A^B
• Elimination
A^B                        A^B
A                   B

SWE 623Classical Logic       Duminda Wijesekera   10
Rules for Disjunction
• Introduction
A                             B
AvB                        AvB
• Elimination
[A]           [B]
AvB                        C             C
C
• [X] denotes discharged assumption X.
SWE 623Classical Logic       Duminda Wijesekera         11
Rules for Implication
• Introduction
[A]
B
A => B
• Elimination (Modus Ponens)
A => B                        A
B

SWE 623Classical Logic            Duminda Wijesekera       12
Rules for Negation
•  B interpreted as ( B => _|_). Hence we get the
following rules from those of implication.
•  Introduction          Elimination
[B]                             B   B
_|_                             _|_
________
 B
_|_
__________
B

SWE 623Classical Logic   Duminda Wijesekera                13
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.
SWE 623Classical Logic    Duminda Wijesekera                 14
Prop. Proof: Example Continued
• Prove: ( A ^ B ) => (A v B)
[A ^ B ]
A                      ^ elimination
AvB                       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.

SWE 623Classical Logic     Duminda Wijesekera                 15
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

SWE 623Classical Logic      Duminda Wijesekera   16
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 |= A1 , …… , M |= An, then M |= B.
• A collection of rules are sound if all rules in the
collection is sound.
• A collection of rules is complete if M |= A for all
models 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.

SWE 623Classical Logic       Duminda Wijesekera     17
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.

SWE 623Classical Logic       Duminda Wijesekera              18
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).
SWE 623Classical Logic   Duminda Wijesekera                  19
Predicate Logic
Recursive 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)

SWE 623Classical Logic    Duminda Wijesekera                   20
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.
SWE 623Classical Logic   Duminda Wijesekera             21
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.

SWE 623Classical Logic   Duminda Wijesekera         22
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).

SWE 623Classical Logic      Duminda Wijesekera       23
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).

SWE 623Classical Logic   Duminda Wijesekera              24
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.
SWE 623Classical Logic   Duminda Wijesekera        25
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.

SWE 623Classical Logic       Duminda Wijesekera         26
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.

SWE 623Classical Logic        Duminda Wijesekera                          27
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.

SWE 623Classical Logic     Duminda Wijesekera                     28
Interpreting Formulas
• Let M be a model. We define 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 |= pi(Nt1, … Ntn ) if and only if
mPred(pi)(Nt1, … Ntn ).
– I.e. pi(Nt1, … Ntn ) is true in M if and only if its
image under the map mPred holds with parameters
Nt1, … Ntn .
SWE 623Classical Logic   Duminda Wijesekera          29
Interpreting Formulas: Continued
– For every formula A , M |= y A(y) if and only if
M |= A(Nti) for every Nti e newT.
– For every formula A , M |=  y A(y) if and only if
there is some Nti e newT satisfying M |= A(Nti).
– M |= A ^ B if M |= A and M |= B .
– M |= A v B if M |= A or M |= B.
– M |= A => B if when M |= A then M |= B.
– M |=  A if it is not the case that M |= A.

SWE 623Classical Logic   Duminda Wijesekera        30
Proof Rules for Predicate Logic
• Proof rules of introduction and elimination
of ^, v, =>, and .
• New rules required for introduction and
elimination of  and  quantifiers.

SWE 623Classical Logic   Duminda Wijesekera     31
Proof Rules for 
•  Introduction
A(x)                   provided x is not free in the
x A(x)                 assumptions of A
•  Elimination
x A(x)
A[t/x]

SWE 623Classical Logic         Duminda Wijesekera            32
Proof Rules for 
•  Introduction
A[t/x]
xA(x)
•  Elimination
[A]         provided x is not free
xA(x)                           B          in B nor in the
B                    assumptions of B
apart from A
SWE 623Classical Logic        Duminda Wijesekera                33
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].
SWE 623Classical Logic   Duminda Wijesekera       34
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.

SWE 623Classical Logic       Duminda Wijesekera                 35
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).

SWE 623Classical Logic      Duminda Wijesekera   36
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.

SWE 623Classical Logic   Duminda Wijesekera   37
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]

SWE 623Classical Logic      Duminda Wijesekera   38
Equality Reasoning: An Example
This 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))

SWE 623Classical Logic   Duminda Wijesekera          39
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.
SWE 623Classical Logic   Duminda Wijesekera   40

```
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
 views: 24 posted: 12/1/2011 language: English pages: 40