0% found this document useful (0 votes)
58 views28 pages

Predicate Logic

This document provides an introduction to predicate logic and quantifiers. It defines predicates as functions from a domain to propositions, and gives examples of predicates over integers. Universal and existential quantifiers are introduced, along with their logical equivalences. Rules of inference like modus ponens and modus tollens are discussed. The document also covers De Morgan's laws for quantifiers and examples of quantified statements and arguments.

Uploaded by

gabyssinie
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
58 views28 pages

Predicate Logic

This document provides an introduction to predicate logic and quantifiers. It defines predicates as functions from a domain to propositions, and gives examples of predicates over integers. Universal and existential quantifiers are introduced, along with their logical equivalences. Rules of inference like modus ponens and modus tollens are discussed. The document also covers De Morgan's laws for quantifiers and examples of quantified statements and arguments.

Uploaded by

gabyssinie
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 28

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.

The set D is called the domain of P.

2
Example

Let D=Z be the set of integers.

Let a predicate P: Z -> Prop be given by


P(x) = x>3.

The predicate itself is neither true or false. However, for


any given integer the predicate evaluates to a truth value.
For example, P(4) is true and P(2) is false

3
Universal Quantifier (1)

Let P be a predicate with domain D.

The statement “P(x) holds for all x in D” can be written


shortly as ∀xP(x).

4
Universal Quantifier (2)

Suppose that P(x) is a predicate over a finite domain,


say D={1,2,3}. Then
∀xP(x) is equivalent to P(1)⋀P(2)⋀P(3).

5
Universal Quantifier (3)

Let P be a predicate with domain D.


∀xP(x) is true if and only if P(x) is true for all x in D.

Put differently, ∀xP(x) is false if and only if P(x) is false


for some x in D.

6
Existential Quantifier

The statement P(x) holds for some x in the domain D can


be written as ∃x P(x)

Example: ∃x (x>0 ⋀ x2 = 2)
is true if the domain is the real numbers
but false if the domain is the rational numbers.

7
Logical Equivalence (1)

Two statements involving quantifiers and predicates are


logically equivalent if and only if they have the same
truth values no matter which predicates are substituted
into these statements and which domain is used.

We write A ≡ B for logically equivalent A and B.

8
Logical Equivalence (2)

∀x(P(x)⋀Q(x)) ≡ ∀xP(x) ⋀∀xQ(x)


Proof: Suppose ∀x(P(x)⋀Q(x)) is true. Then for all a in
the domain P(a) ⋀ Q(a) is true. Hence, both P(a) is true
and Q(a) is true. Since P(a) is true for all a in the
domain, ∀xP(x) is true. Since Q(a) is true for all a in the
domain, ∀xQ(x) is true. Hence ∀xP(x) ⋀∀xQ(x) is true.
[What else do we need to show?]

9
Logical Equivalence (3)

Suppose that∀xP(x) ⋀∀xQ(x) is true.

It follows that ∀xP(x) is true, and that ∀xQ(x) is true.


Hence, for each element a in the domain P(a) is true, and
Q(a) is true. Hence P(a)⋀Q(a) is true for each element a
in the domain.
Therefore, by definition, ∀x(P(x)⋀Q(x)) is true.

10
De Morgan’s Laws

The two versions of the de Morgan’s laws for


universal and existential quantifiers are given by

¬8xP (x) ⌘ 9x¬P (x)


¬9xP (x) ⌘ 8x¬P (x)

11
Example

¬8x(P (x) ! Q(x)) ⌘ 9x(P (x) ^ ¬Q(x))

Proof:

¬8x(P (x) ! Q(x)) ⌘ 9x¬(P (x) ! Q(x))


⌘ 9x¬(¬P (x) _ Q(x))
⌘ 9x(¬¬P (x) ^ ¬Q(x))
⌘ 9x(P (x) ^ ¬Q(x))

12
Nested Quantifiers

Suppose that P(x,y) is a predicate over a finite domain,


say Dx={1,2} and Dy={3,4}. Then
∀x∀yP(x,y) ≡ [P(1,3)⋀P(1,4)] ∧ [P(2,3)⋀P(2,4)], and
∃x∀yP(x,y) ≡ [P(1,3)⋀P(1,4)] ∨ [P(2,3)⋀P(2,4)].

13
Nested Quantifiers Example (1)

“Each person’s program is unique.”


Domain is the set of persons.
P(x,y): The program of person x is the same as that of person
y.

∀x∀y( (x≠y) → ¬P(x,y) )

14
Nested Quantifiers Example (2)

C(x,y): the program of person x crashes on input y


L(x,y): the program of person x loops forever on input y
Domain for y is set of all inputs.
(1) ∃y∀x (C(x,y) ⊕ L(x,y)) ≢ ∀x∃y (C(x,y) ⊕ L(x,y)) (2)

(1) “There is an input that causes every person’s program to


crash or loop forever.”
(2) “Every person’s program has some input on which it either
crashes or loops forever.”

15
Quantified Predicate Example

The quantifiers can make definitions more memorable.

Recall that the limit


lim f (x) = L
x!a
is defined as: For every real number ε>0 there exists a
δ>0 such that |f(x)-L|<ε whenever 0 < |x-a| < δ.

16
Quantified Predicate Example (2)

lim f (x) = L
x!a

For every real number ε>0 there exists a δ>0 such that
|f(x)-L|<ε whenever 0 < |x-a| < δ.

⇤⇥⌅ ⇤x(0 < |x a| < ⇥ |f (x) L| < ⇥)

17
Quantified Predicate Example (3)


lim f (x) = L
x!a

What does it mean that the limit does not exist?

¬⇧⇥⌃ ⇧x(0 < |x a| < ⌅ |f (x) L| < ⇥)


⇥ ⌃⇥⇧ ⌃x¬(0 < |x a| < ⌅ |f (x) L| < ⇥)
⇥ ⌃⇥⇧ ⌃x¬(¬(0 < |x a| < ) |f (x) L| < ⇥)
⇥ ⌃⇥⇧ ⌃x(0 < |x a| < ⌥ |f (x) L| ⇤ ⇥)

18
Rules of Inference

19
Valid Arguments

An argument in propositional logic is a sequence of


propositions that end with a proposition called conclusion.
The argument is called valid if the conclusion follows from
the preceding statements (called premises).

In other words, in a valid argument it is impossible that all


premises are true but the conclusion is false.

20
Example

“If you have a current password, then you can log on to


the network”. (p->q)
“You have a current password” (p)

Therefore,
“You can log on to the network” (q)

21
Modus Ponens

The tautology (p ⋀ (p->q)) -> q is the basis for


the rule of inference called “modus ponens”.
p
p -> q
-------
∴q

22
Modus Tollens

¬q
p -> q
------
∴¬p

“The University will not close on Thursday.”


“If it snows on Thursday, then the University will close.”
Therefore, “It will not snow on Thursday”

23
Simplification

p⋀q
------
∴p

See Table 1 Rules of Inference on page 76 for more rules.

24
Example Formal Argument
Argument
¬p ⇥ q 1) ¬p ∧ q Hypothesis
r p 2) ¬p Simplification of 1)
¬r s
s t 3) r → p Hypothesis
4) ¬r Modus tollens using 2) and 3)
)t 5) ¬r → s Hypothesis
6) s Modus ponens using 4) and 5)
7) s → t Hypothesis
8) t Modus ponens using 6) and 7)

25
Formal Argument in Action
p: “It will rain on Sunday”
¬p ⇥ q q: “It will be warm on Sunday”
r p r: “It will be cloudy on Sunday”
¬r s
s t s: “It will be sunny on Sunday”
t: “We will do picnic on Sunday”
)t ¬p ∧ q “It will not rain and it will be warm.”

r→p “If it is cloudy then it will rain.”


¬r → s “If it is not cloudy then it will be sunny.”
s→t “If it is sunny, then we will do picnic.”

26
Quantified Statements

8xP (x)
Universal instantiation
) P (a)
P (a) for an arbitrary a
Universal generalization
) 8xP (x)
9xP (x)
Existential instantiation
) P (a) for some a
P (a) for some a
Existential generalization
) 9xP (x)

27
Universal Modus Ponens

Let us combine universal instantiation and modus ponens to


get the “universal modus ponens” rule of inference.
8x(P (x) ! Q(x))
P (a) where a is in the domain
) Q(a)

For example, assume that “For all positive integers n, if


n>4, then n2<2n ” is true. Then the universal modus ponens
implies that 1002<2100.

28

You might also like