Title: Logics for Data and Knowledge Representation
1Logics for Data and KnowledgeRepresentation
- Exercises Propositional Logic
Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese
2Outline
- Syntax
- Symbols and formation rules
- Modeling a problem
- Semantics
- Assignments, models
- Logical implication
- Reasoning
- Satisfiability and validity
- Some nice problems
3Symbols in PL
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS DPLL
- Which of the following symbols are used in PL?
-
- ? ? ? ? ? ? ? ? ? ? ?
- Which of the following symbols are in well formed
formulas? -
- ? ? ? ? ? ? ? ? ? ? ?
4Symbols in PL (solution)
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS DPLL
- Which of the following symbols are used in PL?
-
- ? ? ? ? ? ? ? ? ? ? ?
- Which of the following symbols are in well formed
formulas? - ? ? ? ? ? ? ? ? ? ? ?
- Remember the BNF grammar
- ltAtomic Formulagt A B ... P Q ...
? ? - ltwffgt ltAtomic Formulagt ltwffgt ltwffgt?
ltwffgt ltwffgt? ltwffgt ltwffgt ? ltwffgt ltwffgt ?
ltwffgt
4
5Formation rules
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS DPLL
- Which of the following is not a wff?
-
- ? MonkeyLow ? BananaHigh
- ? ? MonkeyLow ? BananaHigh
- MonkeyLow ? ? BananaHigh
- MonkeyLow ? ? GetBanana
- NUM. 3 IS WRONG!
5
6Modeling Bananas
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS DPLL
- Highlight relevant words, define a PL language
and a theory for the problem below.
- Bananas may differ in many ways. However, there
are red and yellow bananas. I like bananas, but I
eat only yellow bananas. If I do not eat at least
a banana I get crazy.
6
7Modeling Bananas (possible solution)
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS DPLL
- Bananas may differ in many ways. However, there
are red and yellow bananas. I like bananas, but I
eat only yellow bananas. If I do not eat at least
a banana I get crazy.
L RedBanana, YellowBanana, EatBanana,
GetCrazy T EatBanana ? YellowBanana, ?
EatBanana ? GetCrazy
7
8Truth valuations and Truth Tables
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS DPLL
- A truth valuation on a PL language L is a mapping
? that assigns to each formula P of L a truth
value ?(P). - A truth table is composed of one column for each
input variable and one (or more) final column for
all of the possible results of the logical
operation that the table is meant to represent.
Each row of the truth table therefore contains
one possible assignment of the input variables,
and the result of the operation for those values.
LOGICAL OPERATION
VARIABLES
A B A?B
T T T
T F F
F T F
F F F
POSSIBLE ASSIGNEMENTS
9Example
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS DPLL
- Calculate the Truth Table of the following
formulas - (1) A ? B (2) P ? Q (3) X ? Y.
VARIABLES
(1)
(2)
(3)
A B A?B A?B A?B
T T T T T
T F F T F
F T F T F
F F F F T
POSSIBLE ASSIGNEMENTS
10Exercise Truth Valuations
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS DPLL
- Compute truth valuations for the formulas
- (A?B)?C
-
- (A?B)?C
-
- (A?B?C?D?E)?(F?A)?(F?G?H?F)?(I?(D?J))?(J?D
?E)?F
10
11Provide the models for the propositions
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS DPLL
- RECALL a truth valuation ? is a model for a
proposition P iff ?(P) true - List the models for the following formulas
- A ? B
- (A ? B) ? (B ? C)
- A ? B ? C
- A ? B ? C
A B A ? B
T T F
T F T
F T F
F F F
MODEL
11
12Entailment
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS DPLL
- RECALL ? ? ? iff all models satisfying the
formulas in ? also satisfy ? - Let A, B, C be propositional sentences.
- (a) If A ? B ? C, then A ? B or A ? C or both?
- (b) What if A ? B ? C?
- Proof The only model satisfying B ? C is ?
BT, CT. - If A ? B ? C then ? should be also a model of
A. However, since ? assigns true to B, ? is a
model of B. Similarly, ? is also a model of
C. So, (a) above is true for both. - Assume now that A ? B ? C. A model of B ? C
is ? BT, CF. - ? is not a model of C, therefore A ? C. The
other cases are similar.
13Exercise prove entailment
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS DPLL
- Given that
- P (A ? B ) ? (?C ? ?D ? E)
- Q1 A ? B
- Q2 (A ? B ? C) ? ((B ? C ? D) ? E)
- Q3 (A ? B) ? (?D ? E)
- Does P ? Qi ?
-
- Proof Let X A ? B, Y ?D ? E, then we can
rewrite - P X ? (C ? Y) Q1 X Q2 (X ? C) ? (B ?
C ? Y) Q3 X ? Y - P ? Q1 is obvious.
- Since X ? X ? C and ( C ? Y) ? (B ? C ?
Y), then P ? Q2. - Since Y ? (C ? Y), then Q3 ? P (and not vice
versa).
14Exercise prove entailment using truth tables
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS DPLL
- Given that
- P (A ? B ) ? (?C ? ?D ? E)
- Q1 A ? B
- Q2 (A ? B ? C) ? (B ? C ? D ? E)
- Q3 (A ? B) ? (?D ? E)
- (1) List all truth assignments such that P ? Qi
- (2) Is there any assignment such that P ? Qi for
all i? - Solution to (1) First compute the truth tables
for all the propositions above. Then, list all
rows for which both P and Qi are true. - Solution to (2) Check whether there is any
assignment for which all the sentences above are
true.
14
15Logical implication and deduction
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS DPLL
- Deduction (?) is the process of inferring new
knowledge from known facts. - Logical implication (?) is a way to include
deduction directly in the language. It is an
alternative way to implement deduction. -
- For instance (A ? B) ? (A ? B) iff (A ? B)
? (A ? B) - We provided some well known tautologies in the
theoretical part (e.g. the De Morgan Law above)
15
16Prove using truth tables, the following deductions
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS DPLL
- Double negative elimination
- Â ??P ? P
- Conjunction introduction / elimination
- (a) P, Q ? P?Q (b) P ? Q ? P (c) P ? Q ? Q.
- Disjunction introduction / eliminationÂ
- (a) P ?P ? Q (a) Q ? P ? Q (c) P ? Q, P ? R,
Q ? R ? R - Bi-conditional introduction / elimination
- (P ? Q) ? (Q ? P) ? (P ? Q)Â
- De Morgan
- (a) ?(P ? Q) ? ?P ? ?Q (b) ?(P ? Q) ? ?P ? ?Q
16
17Proofs of the Deduction Rules
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS DPLL
P Q P?Q P?Q P?Q
T T T T T
T F F T F
F T F T F
F F F F T
P Q P P?Q Q?P (P?Q) P?Q (P?Q) P?Q
T T T T T F F F F
T F T F T T T F F
F T F T F T T F F
F F F T T T T T T
17
18Soundness and Completeness
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS DPLL
- A deductive system is sound if any sentence P
that is derivable from a set ? of sentences is
also a logical consequence of that set ?. - A deductive system is complete if every sentence
P that is a semantic consequence of a set of
sentences G can be derived in the deduction
system from that set. - A soundness property provides the initial reason
for counting a logical system as desirable. The
completeness property means that every validity
(truth) is provable.
18
19Prove validity (I)
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS DPLL
- Suppose p, q, r, s are four propositional
sentences, is the following sentence valid? - A (p ? r) ? (q ? s) ? (?r ? ?s) ?(?p ? ?q)
- A way to prove validity is to show that the
proposition entails ?. This can be done by
applying well known tautologies (e.g. De Morgan).
In alternative we can show using truth tables
that all the assignments are true. -
- (p ? r) ? (q ? s) ? (r ? s) ? (p ? q)
- ((p ? r) ? (q ? s) ? (r ? s)) ? p ? q
- (p ? r) ? (q ? s) ? (r ? s) ? p ? q
- ?
20Prove validity (II)
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS DPLL
p q r s A
T T T T T
T T T F T
T T F T T
T T F F T
T F T T T
T F T F T
T F F T T
T F F F T
F T T T T
F T T F T
F T F T T
F T F F T
F F T T T
F F T F T
F F F T T
F F F F T
20
21Calculus with Tableaux
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS DPLL
G A ??B, B, ?A
G B ?A, B
G ?(A ? ?B), A
?A
B
A
B
?B ? A
?A ? B
A
?B
?A
B
A ? ?B
closed
closed
A
?B
closed
closed
21
22Calculus with Tableaux
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS DPLL
G ?(A ??B) ? (B ? ?A), B
B
??(A ? ?B) ? (? B ? ?A)
??(A ? ?B)
? B ? ?A
A ? ?B
?B
?A
closed
A
?B
closed
22
23Are you Sherlock Holmes?
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS DPLL
- There was a robbery in which a lot of goods were
stolen. The robber(s) left in a truck. It is
known that - (1) Nobody else could have been involved other
than A, B and C. - (2) C never commits a crime without A's
participation. - (3) B does not know how to drive.
- Is A innocent or guilty?
- Proof The 3 points above can be translated in
PL as follows - (1) ?1 A ? B ? C
- (2) ?2 C ? A
- (3) ?3 B ? (B ? A) ? (B ? C)
- Does ?1 , ?2 , ?3 ? A ? Yes!
- We can prove it by showing that ?1 ? ?2 ? ?3 ? A
is a tautology.
24Knights and Knaves
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS DPLL
- A very special island is inhabited only by
knights and knaves. Knights always tell the
truth, and knaves always lie. - You meet two inhabitants Zoey and Mel.
- Zoey tells you that Mel is a knave.
- Mel says Neither Zoey nor I are knaves.
- Can you determine what are they? (who is a
knight and who is a knave?) - Proof The two sentences above can be translated
in PL as follows - (1) Z ? ?M (2) M ? Z ? M.
- We can use truth tables to prove that there are
two possible situations - - Both lie (they are both knaves)
- - Zoey tells the true (is a Knight) and Mel lies
(is a knave)
25Recall the DPLL algorithm
REVIEW REASONING IN PL THE DPLL PROCEDURE
OBSERVTIONS CONCLUSIONS
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS DPLL
- Input a proposition P in CNF
- Output true if "P satisfiable" or false if "P
unsatisfiable" - boolean function DPLL(P)
- if consistent(P) then return true
- if hasEmptyClause(P) then return false
- foreach unit clause C in P do
- P unit-propagate(C, P)
- foreach pure-literal L in P do
- P pure-literal-assign(L, P)
- L choose-literal(P)
- return DPLL(P ? L) OR DPLL(P ? ?L)
Consistency Check
Empty Close Test
Unit Propagation
Pure Literal Elimination
Splitting rule
25
26Use DPLL to prove satisfiability
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS DPLL
- B ? A ? (C ? A) ? (B ? C)
- 1. Is it consistent? YES, there are no
contradictions - 2. Are there any empty clauses? No, go ahead.
- 3. Assign the right truth value to all literals
and simplify the formula - Assign B T, A F and then the formula
simplifies to C - 4. Assign the right value to pure literals
- Assign C F. Done.
- 5. No need for the splitting rule
- The formula is satisfiable at least for the
assignment (a model for it) - A F, B T, C F