Title: Logics for Data and Knowledge Representation
1Logics for Data and KnowledgeRepresentation
- Exercises of Propositional Logic
Vincenzo Maltese
2Modeling the world
Mental Model
Language L
World
Monkey
SEMANTIC GAP
PROPOSITION
SENTENCE
2
3The famous triangle
CONCEPT (what we have in mind)
refers to
symbolizes
Monkey
SYMBOL (what we write)
REFERENT (the real object)
stands for
3
4Example what is a Banana?
THE WORLD
MENTAL MODEL
MENTAL MODEL
I mean banana as something yellow or red, which
can be one or many together, no matter how big
they are, and whether they are opened or not
I mean banana as something yellow and curve, no
matter if partially opened
T
F
T
F
FORMAL MODEL M1
FORMAL MODEL M2
4
5Symbols in PL
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- Which of the following symbols are used in PL?
-
- ? ? ? ? ? ? ? ? ? ? ?
6Symbols in PL (solution)
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- Which of the following symbols are used in PL?
-
- ? ? ? ? ? ? ? ? ? ? ?
6
7Formation Rules (FR) well formed formulas
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- Well formed formulas (wff) in PL can be described
by the following BNF grammar (codifying the FR) - ltAtomic Formulagt A B ... P Q ...
? ? - ltwffgt ltAtomic Formulagt ltwffgt ltwffgt?
ltwffgt ltwffgt ? ltwffgt - ltwffgt? ltwffgt ltwffgt ? ltwffgt
- S0 FR define a propositional language
- A formula is correct if and only if it is a wff
8Formation rules
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- Which of the following is not a wff?
-
- ? MonkeyLow ? BananaHigh
- ? ? MonkeyLow ? BananaHigh
- MonkeyLow ? ? BananaHigh
- MonkeyLow ? ? GetBanana
- NUM. 3 IS WRONG!
8
9Translate NL sentences into PL
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- If David comes to the party then Bruno and Carlo
come too - D ? B ? C
- Carlo comes to the party only if Angelo and Bruno
do not come - (?A ? ?B) ? C
- Carlo comes to the party given that David doesn't
come, but, if David comes, then Bruno doesn't
come - (C ? ?D) ? (D ? ?B)
- A necessary condition for Angelo coming to the
party, is that, if - Bruno and Carlo aren't coming, David comes
- A ? ((?B ? ?C) ? D)
9
10Modeling the problem of passing the exam
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- If you play and you study you'll pass the exams,
while if you play and don't study you won't pass.
Thus, if you play, then you study and you'll pass
the exams, or you don't study and you won't pass.
- L P, S, E
- P you play, S you study E you pass
the exam - (P ? S) ? E
- (P ? ?S) ? ?E
- P ? (S ? E) ? (?S ? ?E)
10
11Modeling the Bananas
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- 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, Banana T RedBanana ? Banana,
YellowBanana ? Banana, EatBanana ?
YellowBanana, ? EatBanana ? GetCrazy
11
12Truth-values
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- Definition a truth valuation on a propositional
language L is a mapping ? assigning to each
formula A of L a truth value ?(A), namely in the
domain D T, F - ?(A) T or F according to the modeler, with A
atomic - ?(A) T iff ?(A) F
- ?(A?B) T iff ?(A) T and ?(B) T
- ?(A?B) T iff ?(A) T or ?(B) T
- ?(?) F (since ?df P?P)
- ?(?) T (since ?df ?)
13Truth valuations and Truth Tables
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- 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
14Example
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- Calculate the Truth Table of the following
formulas - (1) A ? B (2) A ? B (3) A ? B.
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
15Provide the models for the propositions
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- 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
15
16Exercise Truth Valuations
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- Compute truth valuations for the formula P
(A?B)? ?C - a) Rewrite as ? (A ? B) ? ? C
- b) Rewrite as (? A ? ? B) ? ? C
A B C P
T T T F
T F T F
F T T F
F F T T
T T F T
T F F T
F T F T
F F F T
16
17Exercise Truth Valuations
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- Compute truth valuations for the formula P (A ?
B) ? B - Notice that the formula is unsatisfiable. In
fact
A B P
T T F
T F F
F T F
F F F
17
18Exercise Truth Valuations
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- Compute truth valuations for the formula P (A
? B) ? (A ? B) - Notice that the formula is valid. In fact
- a) Rewrite as (A ? B) ? (A ? B)
- b) Rewrite as (A ? B) ? (A ? B)
A B P
T T T
T F T
F T T
F F T
18
19Entailment
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- RECALL ? ? ? iff all models satisfying the
formulas in ? also satisfy ? - Let A, B, C be propositional sentences.
- If A ? B ? C, then A ? B or A ? C or both?
- Proof If A ? B ? C, for all ? such that v(A)
T it should be v(B ? C) T. However, by
definition this means that v(B) T and v(C) T.
Therefore it is true for both.
20Exercise prove entailment
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- 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).
21Exercise prove entailment using truth tables
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- 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.
21
22Logical implication and deduction
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- 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 (deduction
theorem). -
- For instance (A ? B) ? (A ? B) iff (A ? B)
? (A ? B) - Well-known tautologies (e.g. the De Morgan Law
above) can be used
22
23Prove using truth tables, the following deductions
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- 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
23
24Proofs of the Deduction Rules
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
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
24
25Prove validity (I)
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- Suppose p, q, r, s are four propositional
sentences, is the following sentence valid? - A (p ? r) ? (?p ? r)
- 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) ? (p ? r)
- (p ? r) ? (p ? r)
- (p ? r) ? (p ? r) ?
26Recall the DPLL algorithm
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- 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
26
27Convert a formula in CNF
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- (A ? B) ? A
- (A ? B) ? A
- A ? B ? A
- (C ? A) ? (B ? A)
- (C ? A) ? (B ? A)
- (C ? A) ? (B ? A)
- (C ? A) ? (B ? A)
28Convert a formula in CNF
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- (A ? C) ? (C ? A)
- (A ? C) ? (C ? A)
- (A ? C) ? (C ? A)
- A ? C ? C ? A
- A ? C
- ((A ? B) ? A) ? A
- ?(?(? A ? B) ? A) ? A
- ?((A ? ?B) ? A) ? A
- ?((A ? A) ? (A ? ?B)) ? A
- ?A ? ?(A ? ?B) ? A
- ?(A ? ?B)
- ?A ? B
29Using DPLL for reasoning tasks
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- Model checking Does ? satisfy P? (? ? P?)
- Check if ?(P) true
- Satisfiability Is there any ? such that ? ? P?
- Check that DPLL(P) succeeds and returns a ?
- Unsatisfiability Is it true that there are no ?
satisfying P? - Check that DPLL(P) fails
- Validity Is P a tautology? (true for all ?)
- Check that DPLL(?P) fails
- NOTE typical DPLL implementations take two
parameters the proposition P and a model ?.
Therefore, in case of model checking the real
call would be DPLL(P, ?) and check that it
succeeds
29
30Use DPLL to prove satisfiability
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- B ? A ? (C ? A) ? (B ? C)
- 1. Is it a consistent set of literals? There are
no contradictions, but there are closes which are
not atomic. - 2. Are there any empty clauses? No, go ahead.
- 3. Assign the right truth value to all literals
and simplify the formula - Assign v(B) T, v(A) F and then the formula
simplifies to C - 4. Assign the right value to pure literals
- Assign v(C) F. Done.
- 5. No need for the splitting rule
- The formula is satisfiable at least for the
assignment (a model for it) - v(A) F, v(B) T, v(C) F
31Use DPLL to prove satisfiability
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- (C ? A) ? (C ? B) ? ?(A ? B)
- First convert in CNF (? C ? A) ? (? C ? B) ? (?
A ? ? B) - 1. Is it a consistent set of literals? There are
no contradictions, but there are closes which are
not atomic. - 2. Are there any empty clauses? No, go ahead.
- 3. Assign the right truth value to all literals
and simplify the formula. - There are no atomic clauses. Go ahead.
- 4. Assign the right value to pure literals
- Assign v(C) T and simplify to (? A ? ? B)
- 5. Apply the splitting rule and return DPLL((? A
? ? B) ? A) or DPLL((? A ? ? B) ? ? A)
32Use DPLL to prove unsatisfiability
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- Using DPLL, prove the unsatisfiability of (B ? A)
? (A ? B) - First convert in CNF (?B ? A) ? A ? B
-
- Assign the right truth value to all literals and
simplify the formula - Assign v(A) F, v(B) T.
-
- Now, by propagation all the literals in the first
clause become false.This generates an empty
clause, thus the DPLL returns false.
33Use DPLL to prove validity
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- Using DPLL, prove the validity of (A ? B) ? (B ?
A) - First negate the formula ((A ? B) ? (B ? A))
- Then convert in CNF ((A ? B) ? (B ? A))
- ((A ? B) ? (B ? A))
- (A ? B) ? (B ? A)
- (A ? B) ? B ? A
- Assign the right truth value to all literals and
simplify the formula - Assign v(A) T, v(B) F.
-
- Now, by propagation all the literals in the first
clause become false.This generates an empty
clause, thus the DPLL returns false. - Thus, the original formula is valid.
34Use DPLL to prove validity
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- Using DPLL, prove the validity of (A ? B) ? (A ?
B) - First negate the formula ((A ? B) ? (A ? B))
- Then convert in CNF ((A ? B) ? (A ? B))
- (A ? B) ? (A ? B)
- (A ? B) ? (A ? B)
- (A ? B) ? (A ? B)
- (A ? B ? A) ? (A ? B ? B)
- (B ? ?) ? (A ? ?)
- This is clearly unsatisfiable even before calling
DPLL.
35Are you Sherlock Holmes?
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- 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.
36Knights and Knaves
SYNTAX MODELING A PROBLEM SEMANTICS
LOGICAL IMPLICATION REASONING SOME NICE
PROBLEMS
- 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)