0% found this document useful (0 votes)
30 views

Logic Note

This document provides an introduction to predicate logic, including: - Defining predicates as functions that take variables as arguments and return true or false, in contrast to propositions which do not take variables. - Explaining how assigning values to the variables of a predicate results in a proposition. - Introducing universal and existential quantification as ways to convert predicates into propositions by specifying whether a predicate is true for all or some variables. - Providing examples of translating between logical formulas using predicates and natural language sentences, and vice versa. - Noting that the order of quantifiers can impact the truth value in nested quantifier statements.

Uploaded by

nicholasflixy
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views

Logic Note

This document provides an introduction to predicate logic, including: - Defining predicates as functions that take variables as arguments and return true or false, in contrast to propositions which do not take variables. - Explaining how assigning values to the variables of a predicate results in a proposition. - Introducing universal and existential quantification as ways to convert predicates into propositions by specifying whether a predicate is true for all or some variables. - Providing examples of translating between logical formulas using predicates and natural language sentences, and vice versa. - Noting that the order of quantifiers can impact the truth value in nested quantifier statements.

Uploaded by

nicholasflixy
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

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

From Proposition to Predicate


3 + 2 = 5 is a proposition. But is X + 2 = 5 a proposition?
Because it has a variable X in it, we cannot say it is T or F.
So, it is not a proposition. It is called a predicate.

Definition
A predicate is a function. It takes some variable(s) as arguments; it
returns either True or False (but not both) for each combination of the
argument values.

In contrast, a proposition is not a function. It does not have any


variable as argument. It is either True or False (but not both).
The variables are always associated with a universe (or domain)
of discourse, which tells us what combinations of the argument
values are allowed.

c Xin He (University at Buffalo) CSE 191 Discrete Structures 3 / 22


Predicate vs. Proposition

Suppose P(x) is a predicate, where the universe of discourse for x


is {1, 2, 3}. Then P(x) is not a proposition, but P(1) is a proposition.
In general, a predicate is not a proposition. But when you assign
values to all its argument variables, you get a proposition.

Example:
P(x, y) : “x + 2 = y” is a predicate.
It has two variables x and y;
Universe of Discourse: x is in {1, 2, 3}; y is in {4, 5, 6}.

P(1, 4) : 1 + 2 = 4 is a proposition (it is F);


P(2, 4) : 2 + 2 = 4 is a proposition (it is T);
P(2, 3): meaningless (in this example), because 3 is not in the
specified universe of discourse for y.
c Xin He (University at Buffalo) CSE 191 Discrete Structures 4 / 22

Example

Example
Suppose Q(x, y) : “x + y > 4”, where the universe of discourse is all
integer pairs.

Which of the following are predicates? Which are propositions?


Q(1, 2)
Q(1000, 2)
Q(x, 2)
Q(1000, y)
Q(x, y)

c Xin He (University at Buffalo) CSE 191 Discrete Structures 5 / 22


Universal quantification

Universal quantification is another way of converting a predicate into a


proposition.

Definition
Suppose P(x) is a predicate on some universe of discourse.
The universal quantification of P(x) is the proposition:
“P(x) is true for all x in the universe of discourse”.
We write ∀xP(x), and say ”for all x, P(x)”.
∀xP(x) is TRUE if P(x) is true for every single x.
∀xP(x) is FALSE if there is an x for which P(x) is false.

c Xin He (University at Buffalo) CSE 191 Discrete Structures 6 / 22

Universal quantification example

Example:
P(x) : “x + 2 = 5, universe of discourse: {1, 2, 3}.

∀ x P(x) means: ”for all x in {1, 2, 3}, x + 2 = 5”.


In other words, it means: ”1+2=5, 2+2=5, and 3+2=5”, which is false.
So it is a proposition.

More example:
A(x) : “x = 1” B(x) : “x > 2” C(x) : “x < 2”
Universe of discourse is {1, 2, 3}.

True or False?
a) ∀ x (C(x) → A(x))
b) ∀ x (C(x) ∨ B(x))

c Xin He (University at Buffalo) CSE 191 Discrete Structures 7 / 22


Existential quantification

Existential quantification is yet another way of converting a predicate


into a proposition.

Definition
Suppose P(x) is a predicate on some universe of discourse.
The existential quantification of P(x) is the proposition:
“P(x) is true for some x in the universe of discourse.”
We write ∃ x P(x), and say “there exists x, P(x)”.
∃ x P(x) is TRUE if P(x) is true for any x.
∃ x P(x) is FALSE if for every x, P(x) is false.

c Xin He (University at Buffalo) CSE 191 Discrete Structures 8 / 22

Existential quantification example

Example:
P(x) : “x + 2 = 5”, universe of discourse: {1, 2, 3}.

∃ x P(x) means: “for some x in {1, 2, 3}, x + 2 = 5”.


In other words, it means: “1 + 2 = 5, or 2 + 2 = 5, or 3 + 2 = 5” which is
true. So it is a proposition.

More examples on existential quantifier:


A(x) : “x = 1”, B(x) : “x > 5”, C(x) : “x < 5”.
Universe of discourse is {1, 2, 3}.

True or False?
a) ∃ x (C(x) → A(x))
b) ∃ x B(x)

c Xin He (University at Buffalo) CSE 191 Discrete Structures 9 / 22


More examples

Example:
A(x): “x lives in Amherst.”
B(x): “x is a CSE 191 student.”
C(x): “x has a good GPA.”
D(x): “x majors in computer science.”
Universe of discourse: all UB students.

All CSE 191 students have good GPA: ∀ x (B(x) → C(x))


No CSE 191 student lives in Amherst: ¬ ∃ x (B(x) ∧ A(x))
CSE 191 students who do not live in Amherst major in computer
science: ∀x (B(x) ∧ ¬ A(x) → D(x))

c Xin He (University at Buffalo) CSE 191 Discrete Structures 10 / 22

Quantifier negation

Example:
Consider the following two propositions:
Not every UB student majors in computer science: ¬ ∀x D(x).
There is UB student who does not major in computer science:
∃ x ¬ D(x).

Do these two statements have the same meaning? YES.

Example:
Consider the following two propositions:
There is no UB student living in Amherst: ¬ ∃ x A(x).
Every UB student lives in a town other than Amherst: ∀ x ¬ A(x).

Do these two statements have the same meaning? YES.

c Xin He (University at Buffalo) CSE 191 Discrete Structures 11 / 22


Quantifier negation

Quantifier negation: In general we have:


¬ ∀ x P(x) ≡ ∃ x ¬ P(x)
¬ ∃ x P(x) ≡ ∀ x ¬ P(x)

Where ≡ means logical equivalence as we have seen.

Rule: to negate a quantifier:


move the negation to the inside;
and switch ∃ to ∀, ∀ to ∃.

c Xin He (University at Buffalo) CSE 191 Discrete Structures 12 / 22

Nested Quantifier

Sometimes we have more complicated logical formulas that


require nested quantifiers.
“Nested” means one quantifier’s scope contains another quantifier.

∀x∀yP(x, y) = T if P(x, y) = T for all x and y.


∀x∃yP(x, y) = T if for any x there exists y such that P(x, y) = T.
∃x∀yP(x, y) = T if there exists x such that P(x, y) = T for all y.
∃x∃yP(x, y) = T if these exists x and there exists y such that
P(x, y) = T.

c Xin He (University at Buffalo) CSE 191 Discrete Structures 13 / 22


Examples for translating logic formulas to sentences
Example:
Suppose P(x, y) means: “x (the first variable in P(∗.∗) loves y (the
second variable in (P(∗, ∗)”), where the domain of x is the students in
this class and the domain of y is the courses offered by UB CSE.

Note: The variable is defined by its position in P(∗, ∗). We might use
different names for them. So when we write P(y, w), we are saying y
loves w.
P(Alice, CSE191): Alice loves CSE191.
∃ y P(Alice, y): Alice loves a UB CSE course.
∃ x (P(x, CSE191) ∧ P(x, CSE250)):
A student in this class loves both CSE 191 and CSE 250.
∃ x ∃ y ∀ z ((x 6= y) ∧ (P(x, z) → P(y, z))):
There are two different students x and y in this class such that if x
loves a UB CSE course, then y loves it as well.
c Xin He (University at Buffalo) CSE 191 Discrete Structures 14 / 22

Example for translating sentences to logic formulas

Now we consider translations in the other direction.


Example:
Suppose P(x, y) means: “x loves y”, where the domain of x is the
students in this class and the domain of y is the courses offered by UB
CSE.

Every UB CSE course is loved by some student in this class:


∀ y ∃ x P(x, y).
No student in this class loves both CSE 191 and CSE 250:
¬ ∃ x (P(x, CSE191) ∧ P(x, CSE250)).

c Xin He (University at Buffalo) CSE 191 Discrete Structures 15 / 22


Nested quantifier: examples
Example:
A(x): “x lives in Amherst.”
C(x, y): “x and y are friends.”
D(x): “x majors in computer science.”
Universe of discourse: all UB students.
There is a computer science major who has a friend living in Amherst:
∃ x (D(x) ∧ ∃ y (A(y) ∧ C(x, y)))

Example:
A(x): “x lives in Amherst.”
B(x): “x is a CSE 191 student.”
C(x, y): “x and y are friends.”
D(x): “x majors in computer science.”
Universe of discourse: all UB students.
Either there is a computer science major who has a friend living in Amherst,
or all CSE 191 students major in computer science:
∃ x (D(x) ∧ ∃ y (A(y) ∧ C(x, y))) ∨ ∀ x (B(x) → D(x))
c Xin He (University at Buffalo) CSE 191 Discrete Structures 16 / 22

Compare examples

Example:
A(x): “x lives in Amherst.”
B(x): “x is a CSE 191 student.”
C(x, y): “x and y are friends.”
D(x): “x majors in computer science.”
Universe of discourse: all UB students.
Consider the following two statements:
∀ x ∃y(C(x, y) ∧ B(y)):
All UB students have friends taking CSE191.
∃ y ∀ x (C(x, y) ∧ B(y)):
There is a UB student who is the friend of all UB students and
takes CSE 191.
Do they mean the same thing? NO.

c Xin He (University at Buffalo) CSE 191 Discrete Structures 17 / 22


Order Matters
Difference in orders of quantifiers may lead to difference in truth
values.

Example:
Let the universe of discourse be pairs of real numbers.
∀ x ∃ y (y > x) ≡ True
But
∃ y ∀ x (y > x) ≡ False

In general:
∀x∀yP(x, y) = T iff ∀y∀xP(x, y) = T.
∃x∃yP(x, y) = T iff ∃y∃xP(x, y) = T.
If ∃x∀yP(x, y) = T, then ∀y∃xP(x, y) = T.
If ∀y∃xP(x, y) = T, ∃x∀yP(x, y) might be F.
c Xin He (University at Buffalo) CSE 191 Discrete Structures 18 / 22

Compare examples
Example:
A(x): “x lives in Amherst.”
B(x): “x is a CSE 191 student.”
C(x, y): “x and y are friends.”
D(x): “x majors in computer science.”
Universe of discourse: all UB students.

∃ x D(x) ∧ ∃ x ∃ y (A(y) ∧ C(x, y)):


There is a computer science major and there is a UB student who
has a friend living in Amherst.
Compared with:
∃ x (D(x) ∧ ∃ y (A(y) ∧ C(x, y))):
There is a computer science major who has a friend living in
Amherst.
The meaning of the two statements are different. This is because the
scopes of the variable ∃ x in the two formula are different.
c Xin He (University at Buffalo) CSE 191 Discrete Structures 19 / 22
Scope matters

In general, difference in scopes of quantifiers can lead to


difference in truth values.

Example:
∀ x (P(x) ∨ ¬ P(x)) ≡ True
But the truth value of
∀ x P(x) ∨ ¬ P(x)
depends on the truth value of free variable x. (The second x is not
bounded by any quantifier.) So this formula is not even a
proposition!

c Xin He (University at Buffalo) CSE 191 Discrete Structures 20 / 22

Nested quantifier: more examples

Example:
A(x): “x lives in Amherst.”
B(x): “x is a CSE 191 student.”
C(x): “x has a good GPA.”
D(x): “x majors in computer science.”
Universe of discourse: all UB students.
If all computer science majors have friends taking CSE191, then there
are a pair of friends both taking CSE191.
∀ x (D(x) → ∃ y (B(y) ∧ C(x, y))) → ∃ x ∃ y (B(x) ∧ B(y) ∧ C(x, y))

c Xin He (University at Buffalo) CSE 191 Discrete Structures 21 / 22


Rules for quantifier scope

We have the following important rules:


∀ x (P(x) ∧ Q(y)) ≡ ∀ x P(x) ∧ Q(y)
∀ x (P(x) ∨ Q(y)) ≡ ∀ x P(x) ∨ Q(y)
∃ x (P(x) ∧ Q(y)) ≡ ∃ x P(x) ∧ Q(y)
∃ x (P(x) ∨ Q(y)) ≡ ∃ x P(x) ∨ Q(y)

In general, as long as a subformula does not contain a quantifier’s


bound variable, you can arbitrarily put it into the scope of that
quantifier, or take it out of the scope of that quantifier.

c Xin He (University at Buffalo) CSE 191 Discrete Structures 22 / 22

You might also like