159.302lecture 159.302 lecture propositional logic syntax 1 source: mit opencourseware
TRANSCRIPT
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.