0% found this document useful (0 votes)
8 views87 pages

1.1-1.4 Logic

Module #1 covers the fundamentals of logic, focusing on propositional and predicate logic, including definitions, equivalence rules, and derivations. It introduces key concepts such as propositions, Boolean operators, and their applications in computer science. The module emphasizes the importance of logical reasoning and its foundational role in mathematics.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views87 pages

1.1-1.4 Logic

Module #1 covers the fundamentals of logic, focusing on propositional and predicate logic, including definitions, equivalence rules, and derivations. It introduces key concepts such as propositions, Boolean operators, and their applications in computer science. The module emphasizes the importance of logical reasoning and its foundational role in mathematics.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 87

Module #1 - Logic

Module #1:
The Fundamentals of Logic

Rosen 5th ed., §§1.1-1.4


~81 slides, ~4 lectures

1
Module #1 - Logic

Module #1: Foundations of Logic


(§§1.1-1.3, ~3 lectures)
Mathematical Logic is a tool for working with
elaborate compound statements. It includes:
• A formal language for expressing them.
• A concise notation for writing them.
• A methodology for objectively reasoning about
their truth or falsity.
• It is the foundation for expressing formal proofs in
all branches of mathematics.

05/02/25 (c)2001-2004, Michael P. Frank 2


Module #1 - Logic

Foundations of Logic: Overview


• Propositional logic (§1.1-1.2):
– Basic definitions. (§1.1)
– Equivalence rules & derivations. (§1.2)
• Predicate logic (§1.3-1.4)
– Predicates.
– Quantified predicate expressions.
– Equivalences & derivations.

05/02/25 (c)2001-2004, Michael P. Frank 3


Module #1 - Logic Topic #1 – Propositional Logic

Propositional Logic (§1.1)


Propositional Logic is the logic of compound
statements built from simpler statements
using so-called Boolean connectives.
Some applications in computer science: George Boole
(1815-1864)
• Design of digital electronic circuits.
• Expressing conditions in programs.
• Queries to databases & search engines.

Chrysippus of Soli
05/02/25 (c)2001-2004, Michael P. Frank (ca. 281 B.C. – 205 B.C.)4
Module #1 - Logic Topic #1 – Propositional Logic

Definition of a Proposition
Definition: A proposition (denoted p, q, r, …) is simply:
• a statement (i.e., a declarative sentence)
– with some definite meaning, (not vague or ambiguous)
• having a truth value that’s either true (T) or false (F)
– it is never both, neither, or somewhere “in between!”
• However, you might not know the actual truth value,
• and, the truth value might depend on the situation or context.
• Later, we will study probability theory, in which we assign
degrees of certainty (“between” T and F) to propositions.
– But for now: think True/False only!

05/02/25 (c)2001-2004, Michael P. Frank 5


Module #1 - Logic Topic #1 – Propositional Logic

Examples of Propositions
• “It is raining.” (In a given situation.)
• “Beijing is the capital of China.” • “1 + 2 = 3”
But, the following are NOT propositions:
• “Who’s there?” (interrogative, question)
• “La la la la la.” (meaningless interjection)
• “Just do it!” (imperative, command)
• “Yeah, I sorta dunno, whatever...” (vague)
• “1 + 2” (expression with a non-true/false value)

05/02/25 (c)2001-2004, Michael P. Frank 6


Module #1 - Logic Topic #1.0 – Propositional Logic: Operators

Operators / Connectives
An operator or connective combines one or
more operand expressions into a larger
expression. (E.g., “+” in numeric exprs.)
• Unary operators take 1 operand ( e.g., −3);
binary operators take 2 operands ( eg 3  4).
• Propositional or Boolean operators operate
on propositions (or their truth values)
instead of on numbers.
05/02/25 (c)2001-2004, Michael P. Frank 7
Module #1 - Logic Topic #1.0 – Propositional Logic: Operators

Some Popular Boolean Operators

Formal Name Nickname Arity Symbol


Negation operator NOT Unary ¬
Conjunction operator AND Binary 
Disjunction operator OR Binary 
Exclusive-OR operator XOR Binary 
Implication operator IMPLIES Binary 
Biconditional operator IFF Binary ↔

05/02/25 (c)2001-2004, Michael P. Frank 8


Module #1 - Logic Topic #1.0 – Propositional Logic: Operators

The Negation Operator


The unary negation operator “¬” (NOT)
transforms a prop. into its logical negation.
E.g. If p = “I have brown hair.”
then ¬p = “I do not have brown hair.”
The truth table for NOT: p p
T F
T :≡ True; F :≡ False
“:≡” means “is defined as” F T
Operand Result
column column
05/02/25 (c)2001-2004, Michael P. Frank 9
Module #1 - Logic Topic #1.0 – Propositional Logic: Operators

The Conjunction Operator


The binary conjunction operator “” (AND)
combines two propositions to form their
logical conjunction. ND
E.g. If p=“I will have salad for lunch.” and
q=“I will have steak for dinner.”, then
pq=“I will have salad for lunch and
I will have steak for dinner.”
Remember: “” points up like an “A”, and it means “ND”
05/02/25 (c)2001-2004, Michael P. Frank 10
Module #1 - Logic Topic #1.0 – Propositional Logic: Operators

Conjunction Truth Table


Operand columns
• Note that a
p q p q
conjunction
p1  p2  …  pn F F F
of n propositions F T F
will have 2n rows T F F
in its truth table. T T T
• Also: ¬ and  operations together are suffi-
cient to express any Boolean truth table!
05/02/25 (c)2001-2004, Michael P. Frank 11
Module #1 - Logic Topic #1.0 – Propositional Logic: Operators

The Disjunction Operator


The binary disjunction operator “” (OR)
combines two propositions to form their
logical disjunction.
p=“My car has a bad engine.” 
q=“My car has a bad carburetor.”
pq=“Either my car has a bad engine, or
my car has a bad carburetor.” After the downward-
pointing “axe” of “”
splits the wood, you
Meaning is like “and/or” in English. can take 1 piece OR the
other, or both.
05/02/25 (c)2001-2004, Michael P. Frank 12
Module #1 - Logic Topic #1.0 – Propositional Logic: Operators

Disjunction Truth Table


• Note that pq means
p q p q
that p is true, or q is
true, or both are true!
F F F
Note
F T T difference
• So, this operation is
T F T from AND
also called inclusive or,
because it includes the T T T
possibility that both p and q are true.
• “¬” and “” together are also universal.
05/02/25 (c)2001-2004, Michael P. Frank 13
Module #1 - Logic Topic #1.0 – Propositional Logic: Operators

Nested Propositional Expressions


• Use parentheses to group sub-expressions:
“I just saw my old friend, and either he’s
grown or I’ve shrunk.” = f  (g  s)
– (f  g)  s would mean something different
– f  g  s would be ambiguous
• By convention, “¬” takes precedence over
both “” and “”.
– ¬s  f means (¬s)  f , not ¬ (s  f)
05/02/25 (c)2001-2004, Michael P. Frank 14
Module #1 - Logic Topic #1.0 – Propositional Logic: Operators

A Simple Exercise
Let p=“It rained last night”,
q=“The sprinklers came on last night,”
r=“The lawn was wet this morning.”
Translate each of the following into English:
¬p = “It didn’t rain last night.”
r  ¬p = “The lawn was wet this morning, and
it didn’t rain last night.”
¬rpq= “Either the lawn wasn’t wet this
morning, or it rained last night, or
the sprinklers came on last night.”
05/02/25 (c)2001-2004, Michael P. Frank 15
Module #1 - Logic Topic #1.0 – Propositional Logic: Operators

The Exclusive Or Operator


The binary exclusive-or operator “” (XOR)
combines two propositions to form their
logical “exclusive or” (exjunction?).
p = “I will earn an A in this course,”
q = “I will drop this course,”
p  q = “I will either earn an A in this course,
or I will drop it (but not both!)”

05/02/25 (c)2001-2004, Michael P. Frank 16


Module #1 - Logic Topic #1.0 – Propositional Logic: Operators

Exclusive-Or Truth Table


• Note that pq means
p q pq
that p is true, or q is
true, but not both!
F F F
F T T
• This operation is
T F T
called exclusive or,
because it excludes the T T F Note
difference
from OR.
possibility that both p and q are true.
• “¬” and “” together are not universal.
05/02/25 (c)2001-2004, Michael P. Frank 17
Module #1 - Logic Topic #1.0 – Propositional Logic: Operators

Natural Language is Ambiguous


Note that English “or” can be ambiguous
regarding the “both” case! p q p "or" q
“Pat is a singer or F F F
Pat is a writer.” -  F T T
“Pat is a man or T F T
Pat is a woman.” -  T T ?
Need context to disambiguate the meaning!
For this class, assume “or” means inclusive.
05/02/25 (c)2001-2004, Michael P. Frank 18
Module #1 - Logic Topic #1.0 – Propositional Logic: Operators

The Implication Operator


antecedent consequent
The implication p  q states that p implies q.
I.e., If p is true, then q is true; but if p is not
true, then q could be either true or false.
E.g., let p = “You study hard.”
q = “You will get a good grade.”
p  q = “If you study hard, then you will get
a good grade.” (else, it could go either way)

05/02/25 (c)2001-2004, Michael P. Frank 19


Module #1 - Logic Topic #1.0 – Propositional Logic: Operators

Implication Truth Table


• p  q is false only when p q p q
p is true but q is not true. F F T
• p  q does not say F T T The
that p causes q! T F F only
• p  q does not require False
T T T case!
that p or q are ever true!
• E.g. “(1=0)  pigs can fly” is TRUE!

05/02/25 (c)2001-2004, Michael P. Frank 20


Module #1 - Logic Topic #1.0 – Propositional Logic: Operators

Examples of Implications
• “If this lecture ever ends, then the sun will
rise tomorrow.” True or False?
• “If Tuesday is a day of the week, then I am
a penguin.” True or False?
• “If 1+1=6, then Bush is president.”
True or False?
• “If the moon is made of green cheese, then I
am richer than Bill Gates.” True or False?
05/02/25 (c)2001-2004, Michael P. Frank 21
Module #1 - Logic

Why does this seem wrong?


• Consider a sentence like,
– “If I wear a red shirt tomorrow, then Osama bin Laden
will be captured!”
• In logic, we consider the sentence True so long as
either I don’t wear a red shirt, or Osama is caught.
• But, in normal English conversation, if I were to
make this claim, you would think that I was lying.
– Why this discrepancy between logic & language?

05/02/25 (c)2001-2004, Michael P. Frank 22


Module #1 - Logic

Resolving the Discrepancy


• In English, a sentence “if p then q” usually really
implicitly means something like,
– “In all possible situations, if p then q.”
• That is, “For p to be true and q false is impossible.”
• Or, “I guarantee that no matter what, if p, then q.”
• This can be expressed in predicate logic as:
– “For all situations s, if p is true in situation s, then q is also
true in situation s”
– Formally, we could write: s, P(s) → Q(s)
• That sentence is logically False in our example,
because for me to wear a red shirt and for Osama to
stay free is a possible (even if not actual) situation.
– Natural language and logic then agree with each other.
05/02/25 (c)2001-2004, Michael P. Frank 23
Module #1 - Logic Topic #1.0 – Propositional Logic: Operators

English Phrases Meaning p  q


• “p implies q” • “p only if q”
• “if p, then q” • “p is sufficient for q”
• “if p, q” • “q is necessary for p”
• “when p, q” • “q follows from p”
• “whenever p, q” • “q is implied by p”
• “q if p” We will see some equivalent
logic expressions later.
• “q when p”
• “q whenever p”

05/02/25 (c)2001-2004, Michael P. Frank 24


Module #1 - Logic Topic #1.0 – Propositional Logic: Operators

Converse, Inverse, Contrapositive

Some terminology, for an implication p  q:


• Its converse is: q  p.
• Its inverse is: ¬ p  ¬ q.
• Its contrapositive: ¬q  ¬ p.
• One of these three has the same meaning
(same truth table) as p  q. Can you figure
out which?

05/02/25 (c)2001-2004, Michael P. Frank 25


Module #1 - Logic Topic #1.0 – Propositional Logic: Operators

How do we know for sure?


Proving the equivalence of p  q and its
contrapositive using truth tables:
p q q p p q  q   p
F F T T T T
F T F T T T
T F T F F F
T T F F T T

05/02/25 (c)2001-2004, Michael P. Frank 26


Module #1 - Logic Topic #1.0 – Propositional Logic: Operators

The biconditional operator


The biconditional p  q states that p is true if and
only if (IFF) q is true.
p = “Bush wins the 2004 election.”
q = “Bush will be president for all of 2005.”
p  q = “If, and only if, Bush wins the 2004
election, Bush will be president for all of 2005.”
2005
2004 I’m still
here!

05/02/25 (c)2001-2004, Michael P. Frank 27


Module #1 - Logic Topic #1.0 – Propositional Logic: Operators

Biconditional Truth Table


p q pq
• p  q means that p and q
have the same truth value.
F F T
• Note this truth table is the F T F
exact opposite of ’s! T F F
Thus, p  q means ¬(p  q) T T T
• p  q does not imply
that p and q are true, or that either of them causes
the other, or that they have a common cause.

05/02/25 (c)2001-2004, Michael P. Frank 28


Module #1 - Logic Topic #1.0 – Propositional Logic: Operators

Boolean Operations Summary


• We have seen 1 unary operator (out of the 4
possible) and 5 binary operators (out of the
16 possible). Their truth tables are below.
p q  p p q p q pq p q pq
F F T F F F T T
F T T F T T T F
T F F F T T F F
T T F T T F T T
05/02/25 (c)2001-2004, Michael P. Frank 29
Module #1 - Logic Topic #1.0 – Propositional Logic: Operators

Some Alternative Notations

N
a
me: no
ta
ndo
rxo
rimp
l
ies i
ff
P
r
oposi
ti
onall
ogic
:    
B
ool
eanalg
ebra
: ppq+
C
/C++/
Java(wor
dw i
se)
:! &&|
| !
= ==
C
/C++/
Java(b
it
w i
se)
: ~&|^
L
og
i
c g
at
es:

05/02/25 (c)2001-2004, Michael P. Frank 30


Module #1 - Logic Topic #2 – Bits

Bits and Bit Operations


• A bit is a binary (base 2) digit: 0 or 1. (1915-2000)
John Tukey

• Bits may be used to represent truth values.


• By convention:
0 represents “false”; 1 represents “true”.
• Boolean algebra is like ordinary algebra
except that variables stand for bits, + means
“or”, and multiplication means “and”.
– See module 23 (chapter 10) for more details.

05/02/25 (c)2001-2004, Michael P. Frank 31


Module #1 - Logic Topic #2 – Bits

Bit Strings
• A Bit string of length n is an ordered sequence
(series, tuple) of n0 bits.
– More on sequences in §3.2.
• By convention, bit strings are (sometimes) written
left to right:
– e.g. the “first” bit of the bit string “1001101010” is 1.
– Watch out! Another common convention is that the
rightmost bit is bit #0, the 2nd-rightmost is bit #1, etc.
• When a bit string represents a base-2 number, by
convention, the first (leftmost) bit is the most
significant bit. Ex. 11012=8+4+1=13.

05/02/25 (c)2001-2004, Michael P. Frank 32


Module #1 - Logic Topic #2 – Bits

Counting in Binary
• Did you know that you can count
to 1,023 just using two hands?
– How? Count in binary!
• Each finger (up/down) represents 1 bit.
• To increment: Flip the rightmost (low-order) bit.
– If it changes 1→0, then also flip the next bit to the left,
• If that bit changes 1→0, then flip the next one, etc.
• 0000000000, 0000000001, 0000000010, …
…, 1111111101, 1111111110, 1111111111

05/02/25 (c)2001-2004, Michael P. Frank 33


Module #1 - Logic Topic #2 – Bits

Bitwise Operations
• Boolean operations can be extended to
operate on bit strings as well as single bits.
• E.g.:
01 1011 0110
11 0001 1101
11 1011 1111 Bit-wise OR
01 0001 0100 Bit-wise AND
10 1010 1011 Bit-wise XOR
05/02/25 (c)2001-2004, Michael P. Frank 34
Module #1 - Logic

End of §1.1
You have learned about: • Atomic vs. compound
• Propositions: What propositions.
they are. • Alternative notations.
• Propositional logic • Bits and bit-strings.
operators’ • Next section: §1.2
– Symbolic notations. – Propositional
– English equivalents. equivalences.
– Logical meaning. – How to prove them.
– Truth tables.

05/02/25 (c)2001-2004, Michael P. Frank 35


Module #1 - Logic Topic #1.1 – Propositional Logic: Equivalences

Propositional Equivalence (§1.2)


Two syntactically (i.e., textually) different
compound propositions may be the
semantically identical (i.e., have the same
meaning). We call them equivalent. Learn:
• Various equivalence rules or laws.
• How to prove equivalences using symbolic
derivations.

05/02/25 (c)2001-2004, Michael P. Frank 36


Module #1 - Logic Topic #1.1 – Propositional Logic: Equivalences

Tautologies and Contradictions


A tautology is a compound proposition that is
true no matter what the truth values of its
atomic propositions are!
Ex. p  p [What is its truth table?]
A contradiction is a compound proposition
that is false no matter what! Ex. p  p
[Truth table?]
Other compound props. are contingencies.

05/02/25 (c)2001-2004, Michael P. Frank 37


Module #1 - Logic Topic #1.1 – Propositional Logic: Equivalences

Logical Equivalence
Compound proposition p is logically
equivalent to compound proposition q,
written pq, IFF the compound
proposition pq is a tautology.
Compound propositions p and q are logically
equivalent to each other IFF p and q
contain the same truth values as each other
in all rows of their truth tables.
05/02/25 (c)2001-2004, Michael P. Frank 38
Module #1 - Logic Topic #1.1 – Propositional Logic: Equivalences

Proving Equivalence
via Truth Tables
Ex. Prove that pq  (p  q).

p q p q  p  q  p   q  ( p   q)
F F F T T T F
F T T T F F T
T F T F T F T
T T T F F F T

05/02/25 (c)2001-2004, Michael P. Frank 39


Module #1 - Logic Topic #1.1 – Propositional Logic: Equivalences

Equivalence Laws
• These are similar to the arithmetic identities
you may have learned in algebra, but for
propositional equivalences instead.
• They provide a pattern or template that can
be used to match all or part of a much more
complicated proposition and to find an
equivalence for it.

05/02/25 (c)2001-2004, Michael P. Frank 40


Module #1 - Logic Topic #1.1 – Propositional Logic: Equivalences

Equivalence Laws - Examples


• Identity: pT  p p F  p
• Domination: pT  T pF  F
• Idempotent: pp  p p p  p
• Double negation: p  p
• Commutative: pq  qp pq  qp
• Associative: (p  q ) r  p  ( q  r)
( p  q ) r  p  (q  r)

05/02/25 (c)2001-2004, Michael P. Frank 41


Module #1 - Logic Topic #1.1 – Propositional Logic: Equivalences

More Equivalence Laws


• Distributive: p(qr)  (pq)(pr)
p(qr)  (pq)(pr)
• De Morgan’s:
(pq)  p  q
(pq)  p  q
• Trivial tautology/contradiction : Augustus
De Morgan
p  p  T p  p  F (1806-1871)

05/02/25 (c)2001-2004, Michael P. Frank 42


Module #1 - Logic Topic #1.1 – Propositional Logic: Equivalences

Defining Operators via Equivalences

Using equivalences, we can define operators


in terms of other operators.
• Exclusive or: pq  (pq)(pq)
pq  (pq)(qp)
• Implies: p  q  p  q
• Biconditional: pq  (pq)  (qp)
p  q  ( p  q )

05/02/25 (c)2001-2004, Michael P. Frank 43


Module #1 - Logic Topic #1.1 – Propositional Logic: Equivalences

An Example Problem
• Check using a symbolic derivation whether
( p  q )  ( p  r )  p  q  r .
(p  q)  (p  r) [Expand definition of ]
 (p  q)  (p  r) [Expand defn. of ]
 (p  q)  ((p  r)  (p  r))
[DeMorgan’s
Law]
 (p  q)  ((p  r)  (p  r))
cont.
05/02/25 (c)2001-2004, Michael P. Frank 44
Module #1 - Logic Topic #1.1 – Propositional Logic: Equivalences

Example Continued...
(p  q)  ((p  r)  (p  r))  [ commutes]
 (q  p)  ((p  r)  (p  r)) [ associative]
 q  (p  ((p  r)  (p  r))) [distrib.  over ]
 q  (((p  (p  r))  (p  (p  r)))
[assoc.]  q  (((p  p)  r)  (p  (p  r)))
[trivail taut.]  q  ((T  r)  (p  (p  r)))
[domination]  q  (T  (p  (p  r)))
[identity]  q  (p  (p  r))  cont.

05/02/25 (c)2001-2004, Michael P. Frank 45


Module #1 - Logic Topic #1.1 – Propositional Logic: Equivalences

End of Long Example


q  (p  (p  r))
[DeMorgan’s]  q  (p  (p  r))
[Assoc.]  q  ((p  p)  r)
[Idempotent]  q  (p  r)
[Assoc.]  ( q  p )  r
[Commut.]  p  q  r
Q.E.D. (quod erat demonstrandum)
(Which was to be shown.)
05/02/25 (c)2001-2004, Michael P. Frank 46
Module #1 - Logic Topic #1 – Propositional Logic

Review: Propositional Logic


(§§1.1-1.2)
• Atomic propositions: p, q, r, …
• Boolean operators:      
• Compound propositions: s : (p  q)  r
• Equivalences: pq  (p  q)
• Proving equivalences using:
– Truth tables.
– Symbolic derivations. p  q  r …

05/02/25 (c)2001-2004, Michael P. Frank 47


Module #1 - Logic Topic #3 – Predicate Logic

Predicate Logic (§1.3)


• Predicate logic is an extension of
propositional logic that permits concisely
reasoning about whole classes of entities.
• Propositional logic (recall) treats simple
propositions (sentences) as atomic entities.
• In contrast, predicate logic distinguishes the
subject of a sentence from its predicate.
– Remember these English grammar terms?
05/02/25 (c)2001-2004, Michael P. Frank 48
Module #1 - Logic Topic #3 – Predicate Logic

Applications of Predicate Logic


It is the formal notation for writing perfectly
clear, concise, and unambiguous
mathematical definitions, axioms, and
theorems (more on these in module 2) for
any branch of mathematics.
Predicate logic with function symbols, the “=” operator, and a
few proof-building rules is sufficient for defining any
conceivable mathematical system, and for proving
anything that can be proved within that system!

05/02/25 (c)2001-2004, Michael P. Frank 49


Module #1 - Logic Topic #3 – Predicate Logic

Other Applications
• Predicate logic is the foundation of the
field of mathematical logic, which
culminated in Gödel’s incompleteness
theorem, which revealed the ultimate
limits of mathematical thought: Kurt Gödel
– Given any finitely describable, consistent 1906-1978
proof procedure, there will always remain some
true statements that will never be proven
by that procedure.
• I.e., we can’t discover all mathematical truths,
unless we sometimes resort to making guesses.
05/02/25 (c)2001-2004, Michael P. Frank 50
Module #1 - Logic Topic #3 – Predicate Logic

Practical Applications
of Predicate Logic
• It is the basis for clearly expressed formal
specifications for any complex system.
• It is basis for automatic theorem provers and
many other Artificial Intelligence systems.
– E.g. automatic program verification systems.
• Predicate-logic like statements are supported by
some of the more sophisticated database query
engines and container class libraries
– these are types of programming tools.

05/02/25 (c)2001-2004, Michael P. Frank 51


Module #1 - Logic Topic #3 – Predicate Logic

Subjects and Predicates


• In the sentence “The dog is sleeping”:
– The phrase “the dog” denotes the subject -
the object or entity that the sentence is about.
– The phrase “is sleeping” denotes the predicate-
a property that is true of the subject.
• In predicate logic, a predicate is modeled as
a function P(·) from objects to propositions.
– P(x) = “x is sleeping” (where x is any object).

05/02/25 (c)2001-2004, Michael P. Frank 52


Module #1 - Logic Topic #3 – Predicate Logic

More About Predicates


• Convention: Lowercase variables x, y, z... denote
objects/entities; uppercase variables P, Q, R…
denote propositional functions (predicates).
• Keep in mind that the result of applying a
predicate P to an object x is the proposition P(x).
But the predicate P itself (e.g. P=“is sleeping”) is
not a proposition (not a complete sentence).
– E.g. if P(x) = “x is a prime number”,
P(3) is the proposition “3 is a prime number.”

05/02/25 (c)2001-2004, Michael P. Frank 53


Module #1 - Logic Topic #3 – Predicate Logic

Propositional Functions
• Predicate logic generalizes the grammatical
notion of a predicate to also include
propositional functions of any number of
arguments, each of which may take any
grammatical role that a noun can take.
– E.g. let P(x,y,z) = “x gave y the grade z”, then if
x=“Mike”, y=“Mary”, z=“A”, then P(x,y,z) =
“Mike gave Mary the grade A.”

05/02/25 (c)2001-2004, Michael P. Frank 54


Module #1 - Logic Topic #3 – Predicate Logic

Universes of Discourse (U.D.s)


• The power of distinguishing objects from
predicates is that it lets you state things
about many objects at once.
• E.g., let P(x)=“x+1>x”. We can then say,
“For any number x, P(x) is true” instead of
(0+1>0)  (1+1>1)  (2+1>2)  ...
• The collection of values that a variable x
can take is called x’s universe of discourse.
05/02/25 (c)2001-2004, Michael P. Frank 55
Module #1 - Logic Topic #3 – Predicate Logic

Quantifier Expressions
• Quantifiers provide a notation that allows
us to quantify (count) how many objects in
the univ. of disc. satisfy a given predicate.
• “” is the FORLL or universal quantifier.
x P(x) means for all x in the u.d., P holds.
• “” is the XISTS or existential quantifier.
x P(x) means there exists an x in the u.d.
(that is, 1 or more) such that P(x) is true.
05/02/25 (c)2001-2004, Michael P. Frank 56
Module #1 - Logic Topic #3 – Predicate Logic

The Universal Quantifier 


• Example:
Let the u.d. of x be parking spaces at UF.
Let P(x) be the predicate “x is full.”
Then the universal quantification of P(x),
x P(x), is the proposition:
– “All parking spaces at UF are full.”
– i.e., “Every parking space at UF is full.”
– i.e., “For each parking space at UF, that space is full.”

05/02/25 (c)2001-2004, Michael P. Frank 57


Module #1 - Logic Topic #3 – Predicate Logic

The Existential Quantifier 


• Example:
Let the u.d. of x be parking spaces at UF.
Let P(x) be the predicate “x is full.”
Then the existential quantification of P(x),
x P(x), is the proposition:
– “Some parking space at UF is full.”
– “There is a parking space at UF that is full.”
– “At least one parking space at UF is full.”

05/02/25 (c)2001-2004, Michael P. Frank 58


Module #1 - Logic Topic #3 – Predicate Logic

Free and Bound Variables


• An expression like P(x) is said to have a
free variable x (meaning, x is undefined).
• A quantifier (either  or ) operates on an
expression having one or more free
variables, and binds one or more of those
variables, to produce an expression having
one or more bound variables.

05/02/25 (c)2001-2004, Michael P. Frank 59


Module #1 - Logic Topic #3 – Predicate Logic

Example of Binding
• P(x,y) has 2 free variables, x and y.
 x P(x,y) has 1 free variable, and one bound
variable. [Which is which?]
• “P(x), where x=3” is another way to bind x.
• An expression with zero free variables is a bona-
fide (actual) proposition.
• An expression with one or more free variables is
still only a predicate: e.g. let Q(y) = x P(x,y)

05/02/25 (c)2001-2004, Michael P. Frank 60


Module #1 - Logic Topic #3 – Predicate Logic

Nesting of Quantifiers
Example: Let the u.d. of x & y be people.
Let L(x,y)=“x likes y” (a predicate w. 2 f.v.’s)
Then y L(x,y) = “There is someone whom x
likes.” (A predicate w. 1 free variable, x)
Then x (y L(x,y)) =
“Everyone has someone whom they like.”
(A __________ with ___ free variables.)

05/02/25 (c)2001-2004, Michael P. Frank 61


Module #1 - Logic

Review: Predicate Logic (§1.3)


• Objects x, y, z, …
• Predicates P, Q, R, … are functions mapping
objects x to propositions P(x).
• Multi-argument predicates P(x, y).
• Quantifiers: [x P(x)] :≡ “For all x’s, P(x).”
[x P(x)] :≡ “There is an x such that P(x).”
• Universes of discourse, bound & free vars.

05/02/25 (c)2001-2004, Michael P. Frank 62


Module #1 - Logic Topic #3 – Predicate Logic

Quantifier Exercise
If R(x,y)=“x relies upon y,” express the
following in unambiguous English:
Everyone has someone to rely on.
x(y R(x,y))=
There’s a poor overburdened soul whom
y(x R(x,y))= everyone relies upon (including himself)!
x(y R(x,y))= There’s some needy person who relies
upon everybody (including himself).
y(x R(x,y))=Everyone has someone who relies upon them.
x(y R(x,y))= Everyone relies upon everybody,
(including themselves)!
05/02/25 (c)2001-2004, Michael P. Frank 63
Module #1 - Logic Topic #3 – Predicate Logic

Natural language is ambiguous!


• “Everybody likes somebody.”
– For everybody, there is somebody they like,
 x y Likes(x,y) [Probably more likely.]
– or, there is somebody (a popular person) whom
everyone likes?
 y x Likes(x,y)
• “Somebody likes everybody.”
– Same problem: Depends on context, emphasis.

05/02/25 (c)2001-2004, Michael P. Frank 64


Module #1 - Logic Topic #3 – Predicate Logic

Game Theoretic Semantics


• Thinking in terms of a competitive game can help you tell
whether a proposition with nested quantifiers is true.
• The game has two players, both with the same knowledge:
– Verifier: Wants to demonstrate that the proposition is true.
– Falsifier: Wants to demonstrate that the proposition is false.
• The Rules of the Game “Verify or Falsify”:
– Read the quantifiers from left to right, picking values of variables.
– When you see “”, the falsifier gets to select the value.
– When you see “”, the verifier gets to select the value.
• If the verifier can always win, then the proposition is true.
• If the falsifier can always win, then it is false.

05/02/25 (c)2001-2004, Michael P. Frank 65


Module #1 - Logic Topic #3 – Predicate Logic

Let’s Play, “Verify or Falsify!”


Let B(x,y) :≡ “x’s birthday is followed within 7 days
by y’s birthday.”
Suppose I claim that among you:
• Let’s play it in class.
x y B(x,y)
• Who wins this game?
Your turn, as falsifier: • What if I switched the
You pick any x → (so-and-so)
quantifiers, and I
y B(so-and-so,y) claimed that
My turn, as verifier: y x B(x,y)?
I pick any y → (such-and-such) Who wins in that

B(so-and-so,such-and-such) case?

05/02/25 (c)2001-2004, Michael P. Frank 66


Module #1 - Logic Topic #3 – Predicate Logic

Still More Conventions


• Sometimes the universe of discourse is
restricted within the quantification, e.g.,
 x>0 P(x) is shorthand for
“For all x that are greater than zero, P(x).”
=x (x>0  P(x))
 x>0 P(x) is shorthand for
“There is an x greater than zero such that P(x).”
=x (x>0  P(x))

05/02/25 (c)2001-2004, Michael P. Frank 67


Module #1 - Logic Topic #3 – Predicate Logic

More to Know About Binding


 x x P(x) - x is not a free variable in
x P(x), therefore the x binding isn’t used.
• (x P(x))  Q(x) - The variable x is outside
of the scope of the x quantifier, and is
therefore free. Not a complete proposition!
• (x P(x))  (x Q(x)) – This is legal,
because there are 2 different x’s!

05/02/25 (c)2001-2004, Michael P. Frank 68


Module #1 - Logic Topic #3 – Predicate Logic

Quantifier Equivalence Laws


• Definitions of quantifiers: If u.d.=a,b,c,…
x P(x)  P(a)  P(b)  P(c)  …
x P(x)  P(a)  P(b)  P(c)  …
• From those, we can prove the laws:
x P(x)  x P(x)
x P(x)  x P(x)
• Which propositional equivalence laws can
be used to prove this?
05/02/25 (c)2001-2004, Michael P. Frank 69
Module #1 - Logic Topic #3 – Predicate Logic

More Equivalence Laws


  x  y P (x , y )   y  x P (x , y )
x y P ( x , y )  y x P ( x , y )
  x (P(x )  Q (x ))  ( x P (x ))  ( x Q (x ))
x ( P ( x )  Q ( x ) )  ( x P ( x ) )  ( x Q ( x ) )
• Exercise:
See if you can prove these yourself.
– What propositional equivalences did you use?

05/02/25 (c)2001-2004, Michael P. Frank 70


Module #1 - Logic Topic #3 – Predicate Logic

Review: Predicate Logic (§1.3)


• Objects x, y, z, …
• Predicates P, Q, R, … are functions
mapping objects x to propositions P(x).
• Multi-argument predicates P(x, y).
• Quantifiers: (x P(x)) =“For all x’s, P(x).”
(x P(x))=“There is an x such that P(x).”

05/02/25 (c)2001-2004, Michael P. Frank 71


Module #1 - Logic Topic #3 – Predicate Logic

More Notational Conventions


• Quantifiers bind as loosely as needed:
parenthesize x (P(x)  Q(x) )
• Consecutive quantifiers of the same type
can be combined: x y z P(x,y,z) 
x,y,z P(x,y,z) or even xyz P(x,y,z)
• All quantified expressions can be reduced
to the canonical alternating form
x1x2x3x4… P(x1, x2, x3, x4, …)
05/02/25 (c)2001-2004, Michael P. Frank 72
Module #1 - Logic Topic #3 – Predicate Logic

Defining New Quantifiers


As per their name, quantifiers can be used to
express that a predicate is true of any given
quantity (number) of objects.
Define !x P(x) to mean “P(x) is true of
exactly one x in the universe of discourse.”
!x P(x)  x (P(x)  y (P(y)  y x))
“There is an x such that P(x), where there is
no y such that P(y) and y is other than x.”
05/02/25 (c)2001-2004, Michael P. Frank 73
Module #1 - Logic Topic #3 – Predicate Logic

Some Number Theory Examples


• Let u.d. = the natural numbers 0, 1, 2, …
• “A number x is even, E(x), if and only if it is equal
to 2 times some other number.”
x (E(x)  (y x=2y))
• “A number is prime, P(x), iff it’s greater than 1
and it isn’t the product of any two non-unity
numbers.”
x (P(x)  (x>1  yz x=yz  y1  z1))

05/02/25 (c)2001-2004, Michael P. Frank 74


Module #1 - Logic Topic #3 – Predicate Logic

Goldbach’s Conjecture (unproven)

Using E(x) and P(x) from previous slide,


E(x>2): P(p),P(q): p+q = x
or, with more explicit notation:
x [x>2  E(x)] →
p q P ( p )  P ( q )  p + q = x .
“Every even number greater than 2
is the sum of two primes.”

05/02/25 (c)2001-2004, Michael P. Frank 75


Module #1 - Logic Topic #3 – Predicate Logic

Calculus Example
• One way of precisely defining the calculus
concept of a limit, using quantifiers:

lim f ( x) L
x a

   0 :   0 : x : 
 
 | x  a |    | f ( x)  L |  
05/02/25 (c)2001-2004, Michael P. Frank 76
Module #1 - Logic Topic #3 – Predicate Logic

Deduction Example
• Definitions:
s :≡ Socrates (ancient Greek philosopher);
H(x) :≡ “x is human”;
M(x) :≡ “x is mortal”.
• Premises:
H(s) Socrates is human.
x H(x)M(x) All humans are
mortal.

05/02/25 (c)2001-2004, Michael P. Frank 77


Module #1 - Logic Topic #3 – Predicate Logic

Deduction Example Continued


Some valid conclusions you can draw:
H(s)M(s) [Instantiate universal.] If Socrates is human
then he is mortal.
H(s)  M(s) Socrates is inhuman or mortal.
H(s)  (H(s)  M(s))
Socrates is human, and also either inhuman or mortal.
(H(s)  H(s))  (H(s)  M(s)) [Apply distributive law.]
F  (H(s)  M(s)) [Trivial contradiction.]
H(s)  M(s) [Use identity law.]
M(s) Socrates is mortal.

05/02/25 (c)2001-2004, Michael P. Frank 78


Module #1 - Logic Topic #3 – Predicate Logic

Another Example
• Definitions: H(x) :≡ “x is human”;
M(x) :≡ “x is mortal”; G(x) :≡ “x is a god”
• Premises:
 x H(x)  M(x) (“Humans are mortal”) and
 x G(x)  M(x) (“Gods are immortal”).
• Show that x (H(x)  G(x))
(“No human is a god.”)

05/02/25 (c)2001-2004, Michael P. Frank 79


Module #1 - Logic Topic #3 – Predicate Logic

The Derivation
 x H(x)M(x) and x G(x)M(x).
 x M(x)H(x) [Contrapositive.]
 x [G(x)M(x)]  [M(x)H(x)]
 x G(x)H(x) [Transitivity of .]
 x G(x)  H(x) [Definition of .]
 x (G(x)  H(x)) [DeMorgan’s law.]
 x G(x)  H(x) [An equivalence law.]
05/02/25 (c)2001-2004, Michael P. Frank 80
Module #1 - Logic

Bonus Topic: Logic Programming


• There are some programming languages that are
based entirely on predicate logic!
• The most famous one is called Prolog.
• A Prolog program is a set of propositions (“facts”)
and (“rules”) in predicate logic.
• The input to the program is a “query” proposition.
– Want to know if it is true or false.
• The Prolog interpreter does some automated
deduction to determine whether the query follows
from the facts.

05/02/25 (c)2001-2004, Michael P. Frank 81


Module #1 - Logic

Facts in Prolog
• A fact in Prolog represents a simple, non-
compound proposition in predicate logic.
– e.g., “John likes Mary”
• can be written Likes(John,Mary) in predicate logic.
• can be written likes(john,mary). in Prolog!
– Lowercase symbols must be used for all constants and
predicates, uppercase is reserved for variable names.

05/02/25 (c)2001-2004, Michael P. Frank 82


Module #1 - Logic

Rules in Prolog
• A rule in Prolog represents a universally
quanitifed proposition of the general form
x: [y P(x,y)]→Q(x),
where x and y might be compound variables
x=(z,w) and P,Q compound propositions.
• In Prolog, this is written as the rule:
q(X) :- p(X,Y). ← Variables must be capitalized
i.e., the , quantifiers are implicit.
• Example: likable(X) :- likes(Y,X).

05/02/25 (c)2001-2004, Michael P. Frank 83


Module #1 - Logic

Conjunction and Disjunction


• Logical conjunction is encoded using
multiple comma-separated terms in a rule.
• Logical disjunction is encoded using
multiple rules.
• E.g., x [(P(x)Q(x))R(x)]→S(x)
can be rendered in Prolog as:
s(X) :- p(X),q(X)
s(X) :- r(X)

05/02/25 (c)2001-2004, Michael P. Frank 84


Module #1 - Logic

Deduction in Prolog
• When a query is input to the Prolog
interpreter,
– it searches its database to determine if the query
can be proven true from the available facts.
– if so, it returns “yes”, if not, “no”.
– If the query contains any variables, all values
that make the query true are printed.

05/02/25 (c)2001-2004, Michael P. Frank 85


Module #1 - Logic

Simple Prolog Example


• An example input program:
likes(john,mary).
likes(mary,fred).
likes(fred,mary).
likable(X) :- likes(Y,X).
• An example query: ? likable(Z)
returns: mary fred

05/02/25 (c)2001-2004, Michael P. Frank 86


Module #1 - Logic Topic #3 – Predicate Logic

End of §1.3-1.4, Predicate Logic


• From these sections you should have learned:
– Predicate logic notation & conventions
– Conversions: predicate logic  clear English
– Meaning of quantifiers, equivalences
– Simple reasoning with quantifiers
• Upcoming topics:
– Introduction to proof-writing.
– Then: Set theory –
• a language for talking about collections of objects.

05/02/25 (c)2001-2004, Michael P. Frank 87

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy