159.302LECTURE 159.302 LECTURE Propositional Logic Syntax 1 Source: MIT OpenCourseWare.

Post on 13-Dec-2015

221 views 2 download

Transcript of 159.302LECTURE 159.302 LECTURE Propositional Logic Syntax 1 Source: MIT OpenCourseWare.

159.302159.302 LECTURELECTURE

Propositional Logic Propositional Logic SyntaxSyntax

1

Source: MIT OpenCourseWare

Propositional Logic What is a logic?

A formal language

Propositional Logic What is a logic?

A formal language

• Syntax – what expressions are legal

Propositional Logic What is a logic?

A formal language

• Syntax – what expressions are legal

• Semantics – what legal expressions mean

Propositional Logic What is a logic?

A formal language

• Syntax – what expressions are legal

• Semantics – what legal expressions mean

• Proof System – a way of manipulating syntactic expressions to get other syntactic expressions (which will tell us something new)

Propositional Logic What is a logic?

A formal language

• Syntax – what expressions are legal

• Semantics – what legal expressions mean

• Proof System – a way of manipulating syntactic expressions to get other syntactic expressions (which will tell us something new)

Why proofs?

• Two kinds of inferences an agent might want to make:

Propositional Logic What is a logic?

A formal language

• Syntax – what expressions are legal

• Semantics – what legal expressions mean

• Proof System – a way of manipulating syntactic expressions to get other sytactic expressions (which will tell us something new)

Why proofs?

• Two kinds of inferences an agent might want to make:

• Multiple percepts => conclusions about the world

Propositional Logic What is a logic?

A formal language

• Syntax – what expressions are legal

• Semantics – what legal expressions mean

• Proof System – a way of manipulating syntactic expressions to get other sytactic expressions (which will tell us something new)

Why proofs?

• Two kinds of inferences an agent might want to make:

• Multiple percepts => conclusions about the world

• Current state & operator => properties of next state

Propositional Logic

Syntax: what you’re allowed to write

• for( thing t=fizz; t == fuzz; t++ ){…}

Propositional Logic

Syntax: what you’re allowed to write

• for(thing t=fizz; t == fuzz; t++){…}

• Colorless green ideas sleep furiously.

Propositional Logic

Syntax: what you’re allowed to write

• for(thing t=fizz; t == fuzz; t++){…}

• Colorless green ideas sleep furiously.

Sentences (wwfs: well-formed formulas)

Propositional Logic

Syntax: what you’re allowed to write

• for(thing t=fizz; t == fuzz; t++){…}

• Colorless green ideas sleep furiously.

Sentences (wwfs: well-formed formulas)

• true and false are sentences

Propositional Logic

Syntax: what you’re allowed to write

• for(thing t=fizz; t == fuzz; t++){…}

• Colorless green ideas sleep furiously.

Sentences (wwfs: well-formed formulas)

• true and false are sentences

• Propositional variables are sentences: P, Q, R, Z

Propositional Logic

Syntax: what you’re allowed to write

• for(thing t=fizz; t == fuzz; t++){…}

• Colorless green ideas sleep furiously.

Sentences (wwfs: well-formed formulas)

• true and false are sentences

• Propositional variables are sentences: P, Q, R, Z

• If φ and ψ are sentences, then so are

,,,),(

Propositional Logic

Syntax: what you’re allowed to write

• for(thing t=fizz; t == fuzz; t++){…}

• Colorless green ideas sleep furiously.

Sentences (wwfs: well-formed formulas)

• true and false are sentences

• Propositional variables are sentences: P, Q, R, Z

• If φ and ψ are sentences, then so are

,,,),(

• Nothing else is a sentence

Precedence

159.302159.302 LECTURELECTURE

Propositional Logic Propositional Logic SemanticsSemantics

2

Source: MIT OpenCourseWare

Propositional Logic

Semantics

• Meaning of a sentence is truth value {t, f}

Propositional Logic

Semantics

• Meaning of a sentence is truth value {t, f}

• Interpretation is an assignment of truth values to the propositional variables

holds( , i) [Sentence is t in interpretation i]

Propositional Logic

Semantics

• Meaning of a sentence is truth value {t, f}

• Interpretation is an assignment of truth values to the propositional variables

holds( , i) [Sentece is t in interpretation i]

fails( , i) [Sentence is f in interpretation i]

Propositional Logic

Semantic Rules

holds(true, i) for all i

Propositional Logic

Semantic Rules

holds(true, i) for all i

fails(false, i) for all i

Propositional Logic

Semantic Rules

holds(true, i) for all i

fails(false, i) for all i

holds( , i) if and only if fails( , i) (negation)

Propositional Logic

Semantic Rules

holds(true, i) for all i

fails(false, i) for all i

holds( , i) if and only if fails( , i) (negation)

holds( , i) iff holds( ,i) and holds( , i) (conjunction)

Propositional Logic

Semantic Rules

holds(true, i) for all i

fails(false, i) for all i

holds( , i) if and only if fails( , i) (negation)

holds( , i) iff holds( ,i) and holds( , i) (conjunction)

holds( , i) iff holds( ,i) or holds( , i) (disjunction)

Propositional Logic

Semantic Rules

holds(true, i) for all i

fails(false, i) for all i

holds( , i) if and only if fails( , i) (negation)

holds( , i) iff holds( ,i) and holds( , i) (conjunction)

holds( , i) iff holds( ,i) or holds( , i) (disjunction)

holds( P, i) iff i(P) = t

fails( P, i) iff i(P) = f

Propositional Logic

Some important shorthand

(antecedent consequent)),( nimplicatiolconditiona

Propositional Logic

Some important shorthand

(antecedent consequent)),( nimplicatiolconditiona

),( )()( eequivalencnalbiconditio

Propositional Logic

Some important shorthand

(antecedent consequent)),( nimplicatiolconditiona

),( )()( eequivalencnalbiconditio

f f t f f t t t

f t t f t t f f

t f f f t f t f

t t f t t t t t

P Q P QP QP QP PQ QP

Propositional Logic

Some important shorthand

(antecedent consequent)),( nimplicatiolconditiona

),( )()( eequivalencnalbiconditio

f f t f f t t t

f t t f t t f f

t f f f t f t f

t t f t t t t t

P Q P QP QP QP PQ QP

Note that implication is not “causality”, if P is f then is t QP

Implication doesn't mean "is related" in any kind of real-world way

Propositional Logic

Terminology

A sentence is valid iff its truth value is t in all interpretations

Pfalse, Ptrue, :sentences Valid

A sentence is satisfiable iff its truth value is t in at least one interpretation

PP, true, :sentences eSatisfiabl

A sentence is unsatisfiable iff its truth value is f in all interpretations

trueP, false, P :sentences bleUnsatisfia

All are finitely decidable.

Examples

Sentence Valid? Interpretation that make sentence’s truth value = f

valid

satisfiable, not valid

satisfiable, not valid

valid

valid

smokesmoke smokesmoke

firesmoke ffiretsmoke ,

)()( fsfs tffs ,

ffstfs )(,)(

)()( sffs contrapositive

)( dbdb dbdb

Examples

Sentence Valid? Interpretation that make sentence’s truth value = f

valid

satisfiable, not valid

satisfiable, not valid

valid

valid

smokesmoke smokesmoke

firesmoke ffiretsmoke ,

)()( fsfs tffs ,

ffstfs )(,)(

)()( sffs contrapositive

)( dbdb dbdb

Examples

Sentence Valid? Interpretation that make sentence’s truth value = f

valid

satisfiable, not valid

satisfiable, not valid

valid

valid

smokesmoke smokesmoke

firesmoke ffiretsmoke ,

)()( fsfs tffs ,

ffstfs )(,)(

)()( sffs contrapositive

)( dbdb dbdb

Examples

Sentence Valid? Interpretation that make sentence’s truth value = f

valid

satisfiable, not valid

satisfiable, not valid

valid

valid

smokesmoke smokesmoke

firesmoke ffiretsmoke ,

)()( fsfs tffs ,

ffstfs )(,)(

)()( sffs contrapositive

)( dbdb dbdb

ExamplesExamples

Sentence Valid? Interpretation that make sentence’s truth value = f

valid

satisfiable, not valid

satisfiable, not valid

valid

valid

smokesmoke smokesmoke

firesmoke ffiretsmoke ,

)()( fsfs tffs ,

ffstfs )(,)(

)()( sffs contrapositive

)( dbdb dbdb

Satisfiability

• Related to constraint satisfaction

• Given a sentence S, try to find an interpretation i such that holds(S,i)

• Analogous to finding an assignment of values to variables such that the constraints hold

Satisfiability

• Related to constraint satisfaction

• Given a sentence S, try to find an interpretation i such that holds(S,i)

• Analogous to finding an assignment of values to variables such that the constraints hold

• Brute force method: enumerate all interpretations and check

Satisfiability

• Related to constraint satisfaction

• Given a sentence S, try to find an interpretation i such that holds(S,i)

• Analogous to finding an assignment of values to variables such that the constraints hold

• Brute force method: enumerate all interpretations and check

• Better methods:

Heuristic searchConstraint propagationStochastic search

Satisfiability Problems

• Scheduling nurses to work in a hospital

• propositional variables represent for example, that Pat is working on Tuesday at 2pm

• constraints on the schedule are represented using logical expressions over the variables

• Finding bugs in software

• propositional variables represent state of the program

• use logic to describe how the program works and to assert there is a bug

• if the sentence is satisfiable, you’ve found the bug!

159.302159.302 LECTURELECTURE

Propositional Logic ProofPropositional Logic Proof

3

Source: MIT OpenCourseWare

A Good lecture?A Good lecture?

• Imagine we knew that:

• If today is sunny, then Tomas will be happy

Should we conclude that the lecture will be good?

)( HS

• If Tomas is happy, the lecture will be good )( GH

)(S• Today is sunny

Checking InterpretationsChecking Interpretations

SS HH GG S HS H H GH G SS GG

tt tt tt tt tt tt tt

tt tt ff tt ff tt ff

tt ff tt ff tt tt tt

tt ff ff ff tt tt ff

ff tt tt tt tt ff tt

ff tt ff tt ff ff ff

ff ff tt tt tt ff tt

ff ff ff tt tt ff ff

Good lecture!Good lecture!

Adding a variableAdding a variable

LL SS HH GG S HS H H GH G SS GG

tt tt tt tt tt tt tt tt

tt tt tt ff tt ff tt ff

tt tt ff tt ff tt tt tt

tt tt ff ff ff tt tt ff

tt ff tt tt tt tt ff tt

tt ff tt ff tt ff ff ff

tt ff ff tt tt tt ff tt

tt ff ff ff tt tt ff ff

ff tt tt tt tt tt tt tt

ff tt tt ff tt ff tt ff

…… …… …… ……

EntailmentEntailment

•A knowledge base (KBKB) entailsentails a sentence SS iff every interpretation that makes KBKB true also makes SS true

Computing EntailmentComputing Entailment

• enumerate all interpretations

• select those in which all elements of KBKB are true

• check to see if SS is true in all of those interpretations

Computing EntailmentComputing Entailment

• enumerate all interpretations

• select those in which all elements of KBKB are true

• check to see if SS is true in all of those interpretations

• Way too many interpretations, in general!!

Entailment and ProofEntailment and Proof

• A proofproof is a way to test whether a KB entails a sentence, without enumerating all possible interpretations

ProofProof

• A proofproof is a sequence of sentences

• First ones are premises (KBKB)

• Then, you can write down on the next line the result of applying an inference ruleinference rule to previous lines

• When S is on a line, you have provedproved SS from KBKB

• If inference rules are soundsound, then any SS you can prove from KBKB is entailed by KBKB

• If inference rules are completecomplete, then any SS that is entailed by KBKB can be proven from KBKB

Natural DeductionNatural Deduction

• Some inference rulesinference rules:

Modus ponens

Natural DeductionNatural Deduction

• Some inference rules:

Modus ponens Modus tolens

Natural DeductionNatural Deduction

• Some inference rules:

Modus ponens Modus tolens

And-Introduction

Natural DeductionNatural Deduction

• Some inference rules:

Modus ponens Modus tolens

And-Introduction

And-Elimination

Natural Deduction ExampleNatural Deduction Example

StepStep FormulaFormula DerivationDerivation

11 GivenGiven

22 GivenGiven

33 GivenGiven

QP

RP

SRQ )(

Prove SProve S

Natural Deduction ExampleNatural Deduction Example

StepStep FormulaFormula DerivationDerivation

11 GivenGiven

22 GivenGiven

33 GivenGiven

44 PP 1 And-Elim1 And-Elim

QP

RP

SRQ )(

Prove SProve S

Natural Deduction ExampleNatural Deduction Example

StepStep FormulaFormula DerivationDerivation

11 GivenGiven

22 GivenGiven

33 GivenGiven

44 PP 1 And-Elim1 And-Elim

55 RR 4,2 Modus-Ponens4,2 Modus-Ponens

QP

RP

SRQ )(

Prove SProve S

Natural Deduction ExampleNatural Deduction Example

StepStep FormulaFormula DerivationDerivation

11 GivenGiven

22 GivenGiven

33 GivenGiven

44 PP 1 And-Elim1 And-Elim

55 RR 4,2 Modus-Ponens4,2 Modus-Ponens

66 QQ 1 And-Elim1 And-Elim

QP

RP

SRQ )(

Prove SProve S

Natural Deduction ExampleNatural Deduction Example

StepStep FormulaFormula DerivationDerivation

11 GivenGiven

22 GivenGiven

33 GivenGiven

44 PP 1 And-Elim1 And-Elim

55 RR 4,2 Modus-Ponens4,2 Modus-Ponens

66 QQ 1 And-Elim1 And-Elim

77 5,6 And-Intro5,6 And-Intro

QP

RP

SRQ )(

Prove SProve S

RQ

Natural Deduction ExampleNatural Deduction Example

StepStep FormulaFormula DerivationDerivation

11 GivenGiven

22 GivenGiven

33 GivenGiven

44 PP 1 And-Elim1 And-Elim

55 RR 4,2 Modus-Ponens4,2 Modus-Ponens

66 QQ 1 And-Elim1 And-Elim

77 5,6 And-Intro5,6 And-Intro

88 SS 7,3 Modus-Ponens7,3 Modus-Ponens

QP

RP

SRQ )(

Prove SProve S

RQ

Proof SystemsProof Systems

• There are many natural deduction systems; they are typically “proof checkers”, sound but not complete

Proof SystemsProof Systems

• There are many natural deduction systems; they are typically “proof checkers”, sound but not complete

• Natural deductionNatural deduction uses lots of inference rules which introduces a large branching factor in the search for a proof.

Proof SystemsProof Systems

• There are many natural deduction systems; they are typically “proof checkers”, sound but not complete

• Natural deductionNatural deduction uses lots of inference rules which introduces a large branching factor in the search for a proof.

• In general, you need to do “proof by casesproof by cases” which introduces even more branching.

StepStep FormulaFormula

11

22

33

QP

RQ

RP

Prove R

Propositional ResolutionPropositional Resolution

Resolution rule:

• Single inference rule is a sound and complete proof system

• Requires all sentences to be converted to conjunctive normal form

159.302159.302 LECTURELECTURE

Propositional Logic Propositional Logic Conjunctive Normal Form (CNF)Conjunctive Normal Form (CNF)

4

Source: MIT OpenCourseWare

Conjunctive Normal Conjunctive Normal FormForm

CNF Formulas:

)()()()( CBADBCBA

Conjunctive Normal Conjunctive Normal FormForm

CNF Formulas:

)()()()( CBADBCBA

clause a is )( CBA

Conjunctive Normal Conjunctive Normal FormForm

CNF Formulas:

)()()()( CBADBCBA

clause a is )( CBA , which is a disjunction of literals, which is a disjunction of literals

Conjunctive Normal Conjunctive Normal FormForm

CNF Formulas:

)()()()( CBADBCBA

clause a is )( CBA

literals are ) ,, CandBA

, which is a disjunction of literals, which is a disjunction of literals

Conjunctive Normal Conjunctive Normal FormForm

CNF Formulas:

)()()()( CBADBCBA

clause a is )( CBA

literals are ) ,, CandBA

, which is a disjunction of literals, which is a disjunction of literals

, each of which is a variable or the negation of a variable., each of which is a variable or the negation of a variable.

Conjunctive Normal Conjunctive Normal FormForm

CNF Formulas:

)()()()( CBADBCBA

clause a is )( CBA

literals are ) ,, CandBA

, which is a disjunction of literals, which is a disjunction of literals

, each of which is a variable or the negation of a variable., each of which is a variable or the negation of a variable.

• Each clause is a requirement that must be satisfied and can be Each clause is a requirement that must be satisfied and can be satisfied in multiple wayssatisfied in multiple ways

Conjunctive Normal Conjunctive Normal FormForm

CNF Formulas:

)()()()( CBADBCBA

clause a is )( CBA

literals are ) ,, CandBA

, which is a disjunction of literals, which is a disjunction of literals

, each of which is a variable or the negation of a variable., each of which is a variable or the negation of a variable.

• Each clause is a requirement that must be satisfied and can be Each clause is a requirement that must be satisfied and can be satisfied in multiple wayssatisfied in multiple ways

• Every sentence in propositional logic can be written in CNFEvery sentence in propositional logic can be written in CNF

Converting to CNFConverting to CNF

1. Eliminate arrows using definitions

Converting to CNFConverting to CNF

1. Eliminate arrows using definitions

2. Drive in negations using De Morgan’s Laws

))(

))(

Converting to CNFConverting to CNF

1. Eliminate arrows using definitions

2. Drive in negations using De Morgan’s Laws

))(

))(

3. Distribute or over and

)()()(( CABACBA

Converting to CNFConverting to CNF

1. Eliminate arrows using definitions

2. Drive in negations using De Morgan’s Laws

))(

))(

3. Distribute or over and

)()()(( CABACBA

4. Every sentence can be converted to CNF, but it may grow exponentially in size

CNF Conversion ExampleCNF Conversion Example

)()( DCBA

CNF Conversion ExampleCNF Conversion Example

1. Eliminate arrows using definitions

)()( DCBA

)()( DCBA

CNF Conversion ExampleCNF Conversion Example

1. Eliminate arrows using definitions

2. Drive in negations using De Morgan’s Laws

)()( DCBA

)()( DCBA

)()( DCBA

CNF Conversion ExampleCNF Conversion Example

1. Eliminate arrows using definitions

2. Drive in negations using De Morgan’s Laws

3. Distribute or over and

)()( DCBA

)()( DCBA

)()( DCBA

)()( DCBDCA

159.302159.302 LECTURELECTURE

Propositional ResolutionPropositional Resolution

5

Source: MIT OpenCourseWare

Propositional ResolutionPropositional Resolution Resolution rule:

• Convert all sentences to CNF

• Negate the desired conclusion (converted to CNF)

Resolution refutation:

• Apply resolution rule until either

• Derive false (a contradiction)

• Can’t apply anymore

Resolution refutation is soundsound and completecomplete

• If we derive a contradiction, then the conclusion follows from the axioms

• If we can’t apply anymore, then the conclusion cannot be proven from the axioms

Propositional ResolutionPropositional Resolution

StepStep FormulaFormula

11

22

33

QP

RP

RQ

Prove R

StepStep FormulaFormula DerivationDerivation

11 GivenGiven

22 GivenGiven

33 GivenGiven

44 Negated conclusionNegated conclusion

55 1,21,2

66 2,42,4

77 3,43,4

88 5,75,7

99 ▪▪ 4,84,8

QP

RP RQ

R

RQ

P

Q

R

Propositional ResolutionPropositional Resolution

StepStep FormulaFormula

11

22

33

QP

RP

RQ

Prove R

StepStep FormulaFormula DerivationDerivation

11 GivenGiven

22 GivenGiven

33 GivenGiven

44 Negated conclusionNegated conclusion

55 1,21,2

66 2,42,4

77 3,43,4

88 5,75,7

99 ▪▪ 4,84,8

QP

RP RQ

R

RQ

P

Q

R

Rfalse falseR

falsefalse

Propositional ResolutionPropositional Resolution

StepStep FormulaFormula

11

22

33

QP

RP

RQ

Prove R

StepStep FormulaFormula DerivationDerivation

11 GivenGiven

22 GivenGiven

33 GivenGiven

44 Negated conclusionNegated conclusion

55 1,21,2

66 2,42,4

77 3,43,4

88 5,75,7

99 ▪▪ 4,84,8

QP

RP RQ

R

RQ

P

Q

R

Rfalse falseR

falsefalse

unnecessaryunnecessary

The Power of FalseThe Power of False

StepStep FormulaFormula

11

22

P

P

Prove Z

StepStep FormulaFormula DerivationDerivation

11 GivenGiven

22 GivenGiven

33 Negated conclusionNegated conclusion

44 ▪▪ 1,21,2

validis )( that Note ZPP

P

PZ

• Any conclusion follows from a contradiction – and so strict logic systems are very brittle.

Example ProblemExample Problem

StepStep FormulaFormula

11

22

33

QQP )(

Prove R

RPP )(

)()( QSSR

Convert to CNF

Example ProblemExample Problem

StepStep

11

22

33

44

55

66

77 NegNeg

Prove R

QP StepStep FormulaFormula

11

22

33

QQP )(

RPP )(

)()( QSSR

RP

RP SR

QR

QS

R

Example ProblemExample Problem

StepStep

11

22

33

44

55

66

77 NegNeg

88 4,74,7

99 6,86,8

1010 1,91,9

1111 3,103,10

1212 ▪▪ 7,117,11

Prove R QP

StepStep FormulaFormula

11

22

33

QQP )(

RPP )(

)()( QSSR

RP

RP SR

QR

QS

R

Q

S

P

R

Proof StrategiesProof Strategies

• Produces a shorter clause – which is good since we are trying to produce a zero-length clause, that is, a contradiction.

Unit Preference: prefer a resolution step involving a unit clause (clause with one literal).

• We’re trying to produce a contradiction that follows from the negated goal, so these are “relevant” clauses

Set of support: choose a resolution involving the negated goal or any clause derived from the negated goal.

• If a contradiction exists, one can find one using the set-of-support strategy.