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

Post on 18-Jan-2016

233 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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