Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese.
Post on 18-Jan-2016
231 Views
Preview:
Transcript
Logics for Data and KnowledgeRepresentation
Exercises of Propositional Logic
Vincenzo Maltese
Modeling the world
2
World
SEMANTICGAP
Monkey
MentalModel
LanguageL
PROPOSITION SENTENCE
The famous triangle
3
CONCEPT(what we have in mind)
SYMBOL(what we write)
REFERENT(the real object)
Monkey
stands for
refers to symbolizes
Example: what is a Banana?
4
I mean banana as something yellow
and curve, no matter if partially
opened
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
FORMAL MODEL M1 FORMAL MODEL M2
T F T F
MENTAL MODEL MENTAL MODEL
THE WORLD
Symbols in PL
Which of the following symbols are used in PL?
⊓ ⊤ ∨ ≡ ⊔ ⊑ → ↔ ⊥ ∧ ⊨
5
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
Symbols in PL (solution)
Which of the following symbols are used in PL?
⊓ ⊤ ∨ ≡ ⊔ ⊑ → ↔ ⊥ ∧ ⊨
6
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
Formation Rules (FR): well formed formulas Well formed formulas (wff) in PL can be described by the
following BNF grammar (codifying the FR):
<Atomic Formula> ::= A | B | ... | P | Q | ... | | ⊥ ⊤
<wff> ::= <Atomic Formula> | ¬<wff> | <wff> ∧ <wff> | <wff> ∨ <wff>
<wff> <wff> | <wff> <wff>
Σ0 + FR define a propositional language
A formula is correct if and only if it is a wff
7
PARSERψ, PLYes, ψ is correct!
No
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
Formation rules Which of the following is not a wff?
1. MonkeyLow BananaHigh ∨
2. MonkeyLow BananaHigh
3. MonkeyLow BananaHigh
4. MonkeyLow → GetBanana
NUM. 3 IS WRONG!
8
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
Translate NL sentences into PLIf 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
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
Modeling the problem of passing the exam
10
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)
Modeling the Bananas
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.
11
L = {RedBanana, YellowBanana, EatBanana, GetCrazy, Banana}
T = {RedBanana → Banana, YellowBanana → Banana,
EatBanana → YellowBanana, EatBanana → GetCrazy}
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
Truth-values 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 ¬ )⊥
12
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
Truth valuations and Truth Tables 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.
13
A B A∧B
T T T
T F F
F T F
F F F
POSSIBLEASSIGNEMENTS
VARIABLESLOGICAL
OPERATION
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
Example Calculate the Truth Table of the following formulas:
(1) A ∧ B; (2) A ∨ B; (3) A ↔ B.
14
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
POSSIBLEASSIGNEMENTS
VARIABLES (1)
(2)
(3)
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
Provide the models for the propositions RECALL: a truth valuation ν is a model for a proposition P iff
ν(P) = true
List the models for the following formulas:1. A ∧ ¬B
2. (A ∧ B) ∨ (B ∧ C)
3. A ∨ B → C4. ¬A ↔ B ↔ C
15
A B A ¬ B∧
T T F
T F T
F T F
F F F
MODEL
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
Exercise: Truth Valuations Compute truth valuations for the formula P: (A B)→ ∨ C
a) Rewrite as (A B) ∨ ∨ C
b) Rewrite as ( A ∧ B) ∨ C
16
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
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
Exercise: Truth Valuations Compute truth valuations for the formula P: (A B) ¬B
Notice that the formula is unsatisfiable. In fact:
17
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
A B P
T T F
T F F
F T F
F F F
Exercise: Truth Valuations 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)
18
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
A B P
T T T
T F T
F T T
F F T
Entailment 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.
19
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
Exercise: prove entailment 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); Q∧ ∨ 1 = X; Q2 = (X C) (¬B ¬C Y); Q∨ ∧ ∨ ∨ 3 = X Y∧
P Q1 is obvious.⊨
Since X X C and (¬ C Y) (¬B ¬C Y), then P Q⊨ ∨ ∨ ⊨ ∨ ∨ ⊨ 2.
Since Y (¬C Y), then Q⊨ ∨ 3 P (and not vice versa).⊨
20
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
Exercise: prove entailment using truth tables 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 Q i are true.
Solution to (2): Check whether there is any assignment for which all the sentences above are true.
21
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
Logical implication and deduction 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
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
Prove using truth tables, the following deductions
1. Double negative elimination
P ⊢ P
2. Conjunction introduction / elimination
(a) {P, Q} ⊢ P∧Q; (b) P ∧ Q ⊢ P; (c) P ∧ Q ⊢ Q.
3. Disjunction introduction / elimination
(a) P ⊢P ∨ Q; (a) Q ⊢ P ∨ Q; (c) {P ∨ Q, P → R, Q → R} ⊢ R
4. Bi-conditional introduction / elimination
(P → Q) ∧ (Q → P) ⊢ (P ↔ Q)
5. De Morgan
(a) (P ∧ Q) ⊢ P ∨ Q; (b) (P ∨ Q) ⊢ P ∧ Q
23
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
Proofs of the Deduction Rules
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
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
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
Prove validity (I) 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) = ⊤
25
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);
}
26
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
Consistency Check
Empty Close Test
Unit Propagation
Pure Literal Elimination
Splitting rule
Recall the DPLL algorithm
Convert a formula in CNF (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)
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
27
Convert a formula in CNF (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
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
28
Using DPLL for reasoning tasks 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
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
Use DPLL to prove satisfiabilityB ¬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
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
30
Use DPLL to prove satisfiability(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) …
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
31
Use DPLL to prove unsatisfiabilityUsing 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.
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
32
Use DPLL to prove validityUsing 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.
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
33
Use DPLL to prove validityUsing 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.
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
34
Are you ‘Sherlock Holmes’?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.
35
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
Knights and Knaves 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)
36
SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS
top related