From Propositional!to Predicate Logic"
CSCI 2824, Fall 2012"http://l3d.cs.colorado.edu/~ctg/
classes/struct12/ "
Let’s See if We Can Represent Mastermind Ideas in
Propositional Logic… First, let’s make some proposition symbols. We’ll
say that BLUE1 stands for the proposition “In the correct code, the blue peg is in position 1”.
There are a bunch of these propositions: BLUE2,
BLUE3, BLUE4, ORANGE1, ORANGE2…
More Mastermind
• “In the correct code, there is one peg (of some color) in position 1”: – BLUE1 OR ORANGE1 OR RED1 OR
WHITE1 OR YELLOW1 OR PURPLE1 But that’s not quite enough… The statement
above is consistent with the (incorrect) possibility that both a blue and orange (say) are in position 1.
• So we need some additional statements: NOT (ORANGE1 AND BLUE1) NOT (ORANGE1 AND RED1) NOT (ORANGE1 AND PURPLE1) etc. These statements say “It is not the case that there are two distinct colors in position 1”
What do we learn from a guess? My guess: RED BLUE WHITE ORANGE
Answer: X,0
From the X, I get: RED1 OR BLUE2 OR WHITE3 OR ORANGE4 NOT (RED1 AND BLUE2) NOT (RED1 AND WHITE3) NOT (RED1 AND ORANGE4) NOT (BLUE2 AND WHITE3) NOT (BLUE2 AND ORANGE4) NOT (WHITE3 AND ORANGE4)
What do we learn from a guess? My guess: RED BLUE WHITE ORANGE
Answer: X,0
From the 0, I get: RED2 OR RED3 OR RED4 OR BLUE1 OR BLUE3 OR BLUE4 OR
WHITE1 OR WHITE2 OR WHITE4 OR ORANGE1 OR ORANGE2 OR ORANGE3
NOT (RED2 AND BLUE1)… many others of this form
What have we learned about propositional logic from this?
• One thing that we’ve learned–on the good side–is that propositions do allow us to represent situations like Mastermind.
• On the not-so-good side, we’ve found that doing real tasks with propositional logic (if you want to call Mastermind a real task) can require a surprising amount of “infrastructure”.
Why (or why not?) Propositional Logic
• It’s simple to understand • … But it’s rather inexpressive • And “simple to understand” does not mean
that all problems are simple: (x1 OR ~x5 OR x3) AND (~x1 OR ~x2 OR x6) AND (x3 OR x5 OR ~x6) AND….
A Brief Aside: Illogical Humans?
• Problems with Modus Ponens and Modus
Tollens • When are we logical?
Drinking Coke
Drinking Beer
21 years old
18 years old
If a person is drinking an alcoholic beverage, then that person is at least twenty years old.
Propositional Logic: Where We’ve Come So Far
• Basic “objects” are sentences with T/F values • Connectors (AND, OR, NOT, etc.) are used to make
compound sentences • Basic rules of inference (Modus Ponens, etc.) are used to
derive new sentences from a “knowledge base” of existing sentences
First-Order Predicate Logic • We introduce a world of objects. Our logical sentences
will refer to these objects. • In many computer programs, the “objects” might refer to
elements of a finite set (think about a database for, say, a library, or a business payroll)
• For our initial examples, we’ll mainly use numbers as our objects (and we’ll specify whether we mean a finite set, integers, rationals, reals, etc.)
Some Sample Predicates
• Prime (n) is the predicate “n is a prime number” (defined over the infinite set of positive integers)
• Even (n) is the predicate “n is an even number”
• Rational (x) is the predicate “x is a rational number” (defined over the infinite set of real numbers)
Some statements about positive integers (note: we still have the
usual connectors):���
Prime (19) Even (7) OR Even (8) Prime(23) AND NOT(Even (23))
First-Order Predicate Logic: A Bit More Terminology
We allow predicates of two or more arguments: Greater-Than(5, 3)
Relatively-Prime (25, 6) Equal (2, 2) [often we just write 2 = 2 for simplicity]
We have two quantifiers: THERE-EXISTS and FOR-ALL
FOR-ALL(n) [(Prime(n) AND Greater-than(n, 2)) -> NOT (Even (n))]
THERE-EXISTS(n) [Even(n) AND Prime(n)]
Predicate Logic “Classics”
FOR-ALL(n)[ Prime(n) à THERE-EXISTS(q) [Greater-than(q, n) AND Prime(q)]]
Predicate Logic “Classics”
FOR-ALL(n) [(Even(n) AND Greater-than(n, 2)) –> THERE-EXISTS (p, q) [Prime(p) AND Prime(q) AND n = (p + q)]] “The Goldbach Conjecture”
Quantifiers in English: An Example
You can fool all of the people some of the time, and some of the people all of the time, but you can’t fool all of the people all of the time.
FOR-ALL (x) [Person(x) --> THERE-EXISTS(t)[Time(t) AND Fool-at-time(x, t)]]
THERE-EXISTS(x) [Person(x) AND (FOR-ALL(t)[Time(t) --> Fool-at-time(x, t)]]
NOT(FOR-ALL(x, t)[(Person(x) AND Time(t)) --> Fool-at-time(x,t)]
Quantifiers and Dean Martin Everybody loves somebody sometime. FOR-ALL(x)[Person(x) --> THERE-EXISTS(y, t) [Person(y) and Time(t) and Loves-at-time(x,y,t)]] THERE-EXISTS(t,y)[Time(t) AND Person(y) AND FOR-ALL(x)[Person(x) --> Loves-at-time(x,y, t)]]
THERE-EXISTS(t)[Time(t) AND FOR-ALL(x) [Person(x) --> THERE-EXISTS(y) [Person(y) AND Loves-at-time(x,y,t)]} THERE-EXISTS(y)[Person(y) AND FOR-ALL(x) [Person (x) --> THERE-EXISTS(t)[Time(t) AND Loves-at-time(x, y, t)]]
Mastermind Challenge Problem ���(due 9/11)
Colors: Blue, Orange, Red, Yellow, Purple, White Repeat colors in the code are allowed. Clues: “x” = “a peg in the right position” “o” = “a peg that has to be moved to be in the right position” W O B R ! ! !xo !P Y R B ! ! !xo!R R O Y ! ! !ooo!Y R R W ! ! !xx!
Top Related