logics for data and knowledge representation exercises of propositional logic vincenzo maltese

36
Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

Upload: loraine-morgan

Post on 18-Jan-2016

232 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

Logics for Data and KnowledgeRepresentation

Exercises of Propositional Logic

Vincenzo Maltese

Page 2: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

Modeling the world

2

World

SEMANTICGAP

Monkey

MentalModel

LanguageL

PROPOSITION SENTENCE

Page 3: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

The famous triangle

3

CONCEPT(what we have in mind)

SYMBOL(what we write)

REFERENT(the real object)

Monkey

stands for

refers to symbolizes

Page 4: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 5: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

Symbols in PL

Which of the following symbols are used in PL?

⊓ ⊤ ∨ ≡ ⊔ ⊑ → ↔ ⊥ ∧ ⊨

5

SYNTAX :: MODELING A PROBLEM :: SEMANTICS :: LOGICAL IMPLICATION :: REASONING :: SOME NICE PROBLEMS

Page 6: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 7: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 8: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 9: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 10: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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)

Page 11: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 12: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 13: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 14: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 15: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 16: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 17: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 18: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 19: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 20: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 21: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 22: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 23: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 24: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 25: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 26: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 27: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 28: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 29: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 30: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 31: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 32: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 33: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 34: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 35: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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

Page 36: Logics for Data and Knowledge Representation Exercises of Propositional Logic Vincenzo Maltese

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