logic - recapweb.cecs.pdx.edu/~mperkows/class_410aer/009.basiclogic.pdf · logic - recap so far, we...

40

Upload: others

Post on 15-Mar-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements
Page 2: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Logic - recap

● So far, we have seen that:● Logic is a “language” which can be used

to describe:● Statements about the real world● The simplest pieces of data in an automatic

processing system such as a computer

Page 3: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Logic - recap

● The key characteristic of a statement, ora piece of data, in logic is its truth value.There are two possible truth values:● True● False

Page 4: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Logic - recap

● Simple statements, or simple pieces ofdata, can be joined together to givemore complicated structures usinglogical connectives.

● The most important of these are “and”,“or”, “implies”, “equivalent to” and “not”,for which we use the symbols ∧, ∨, ⇒,⇔, and ¬ respectively.

Page 5: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Logic - recap

● Each of these logical connectives isdefined by a truth table.

● It is often possible to convert an Englishsentence into a logical formula – thereare simple techniques for doing this.

Page 6: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Logic - recap● Questions:

● “when is this formula true?”● “are these two formulae essentially the same?”

● One useful technique for answeringquestions about logical formula (such asabove) is to draw up a large truth tabledescribing the formula/formulae in question.

Page 7: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

What is low-level logic usedfor?

● To specify the way in whichindividual bits of information areprocessed in order to perform thearithmetic, and all the other forms ofsymbolic processing, that goes onin the circuits of a computer.

Page 8: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

What is high-level logic usedfor?

● Used as an unambiguouslanguage,

● i.e. as a medium for knowledgerepresentation.

Page 9: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

What is high-level logic usedfor?

● Used as a rigorous form of reasoning.● Deductions which follow the rules of logic

are guaranteed to be correct.● This is not necessarily true of other

representation schemes.● So logic can act as a "gold standard""gold standard"

against which other forms orrepresentation and reasoning can beassessed.

Page 10: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

What is high-level logic usedfor?

● Logic is available for establishingwhether a complicated argument, e.g. alegal case, makes sense or not.

Page 11: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

What is high-level logic used for?● Logic is a tool for mathematical research.● The mathematician has available a set of

propositions which have been established astrue -● these are referred to as "the axioms".

● He/she has a proposition, or set of propositions,that he/she wants to prove to be true -● referred to as "the theorem".

● Both sets can be written as statements in logic:● the problem is to find a set of sound logical

manipulations to convert one into the other.

Page 12: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

More on processing logicalformulae

● The “build a truth table” techniquedescribed earlier always works,● at least for the simple form of logic we’ve

been using so far.● However, sometimes it isn’t necessary.

Instead, to solve a problem in logic, wecan use:● Rules of inference● Logical equivalencies

Page 13: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Rules of inference

● These are well-established ways ofproving an argument in logic.

Page 14: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

The most useful are:● modus ponens: P ⇒ Q. P. ∴ Q.● modus tolens: P ⇒ Q. ¬Q. ∴ ¬P.● disjunctive syllogism:P ∨ Q. ¬P. ∴ Q.● hypothetical syllogism: P ⇒ Q. Q ⇒ R.

∴ P ⇒ R.● contraposition: P ⇒ Q. ∴ ¬Q ⇒ ¬P.● In English, the first of these would read “If you

know that P implies Q, and you know that P istrue, then you know that Q is true.”

● These can be used to establish the truth ofarguments involving complicated formulae.

Page 15: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Logical equivalences:

● these are well-established ways of turninga logical statement containing one set oflogical connectives into a statementcontaining a different set.

Page 16: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Logical equivalences

● Here are some of the more important ones.● IdempotencyP is logically equivalent to (P ∧ P)● Double negationP is logically equivalent to ¬¬P● Commutative laws(P ∧ Q) is logically equivalent to (Q ∧ P)(P ∨ Q) is logically equivalent to (Q ∨ P)

Page 17: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Logical equivalencies

● Associative laws(P ∧ (Q ∧ R) is logically equivalent to ((P ∧ Q) ∧ R)(P ∨ (Q ∨ R)) is logically equivalent to ((P ∨ Q) ∨ R)

● Distributive laws(P ∧ (Q ∨ R) is logically equivalent to ((P ∧ Q) ∨ (P ∧ R))(P ∨ (Q ∧ R)) is logically equivalent to ((P ∨ Q) ∧ (P ∨ R))

Page 18: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Logical equivalences● De Morgan’s laws

¬(P ∧ Q) is logically equivalent to (¬P ∨ ¬Q)¬(P ∨ Q) is logically equivalent to (¬P ∧ ¬Q)

● Contraposition(P ⇒ Q) is logically equivalent to (¬Q ⇒ ¬P)

Page 19: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Logical equivalences

● Redefining material conditional as adisjunction or conjunction

(P ⇒ Q) is logically equivalent to (¬P ∨ Q)(P ⇒ Q) is logically equivalent to ¬(P ∧ ¬Q)

● Exportation(P ⇒ (Q ⇒ R)) is logically equivalent to

((P ∧ Q) ⇒ R))

Page 20: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Logical equivalencies

● It's not necessary to remember theelaborate names, or the exact details ofthese equivalences.

● It is important to appreciate that, by usingone of these equivalences, a logicalformula can be turned into a formulawhich looks quite different, but whichactually has exactly the same truth value.

Page 21: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Tautologies and contradictions

• A logical statement which is always true(no matter what values you give to theparts that make it up) is called atautology.

• A statement which is always false iscalled a contradiction.

• All other logical statements are knownas contingent statements.

Page 22: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Tautologies and contradictions

● example: Consider the statement(¬P ⇒ ((P ∨ Q) ⇔ Q)).

P could be true and Q could be true.P could be false and Q could be false.P could be true and Q could be false.P could be false and Q could be true.● In every one of these cases, the whole

statement would be true.● So the statement is a tautology.

Page 23: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Propositional calculus

● The simple form of logic whichwe have been using so far, in whichthe symbols stand for ideas whichcan be expressed as wholesentences, is known asPropositionalPropositional Calculus Calculus.

Page 24: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Propositional calculus

● Propositional calculus is decidable:● it's always possible to decide whether

an argument in propositional calculusis valid or not.

● You can either use the logicalequivalence rules, and the rules ofinference, described above, or youcan build a big truth table.

Page 25: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Propositional calculus

● Propositional calculus:● is the simplest form of logic,● and also the weakest,

in terms of its power to express ideas.● Other forms of logic have been invented

to express more complex ideas.

Page 26: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Predicate calculus

● Another form of logic: first orderpredicate calculus.

● There are many fairly simple, obviousarguments that propositional calculuscannot handle at all.

e.g. All lawyers are scoundrels. Sir JamesThames is a lawyer. Therefore Sir JamesThames is a scoundrel.

Page 27: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Predicate calculus● 1st order predicate calculus has some extra

features: the statements joined by the logicalconnectives can be predicates. e.g.

a(b) a(b, c) lawyer(Sir_James_Thames) owes(Jim, Sid, 500pounds)

These can convey ideas such as "b is an a", “bhas the quality a”, or "b & c are connected bythe property a". A predicate can have any number of places, i.e.

items in brackets.

Page 28: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Predicate calculus

● The items inside the brackets of a predicatecan be constants (names of things orrelationships) or variables.● If they're variables, they don't refer to

specific things; specific items can besubstituted for them.

● When this happens, all variables with thesame name will refer to the same thing.

Page 29: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Predicate calculus - the universalquantifier

● 1st order predicate calculus has asymbol ∀∀∀∀ called the universalquantifier.

● ∀ x means "for every x".

Page 30: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Predicate calculus - the universalquantifier

● Thus, if lawyer(x) means "x is a lawyer"and scoundrel(x) means "x is ascoundrel",

∀ x ( lawyer(x) ⇒ scoundrel(x) )means "for every x, if that x is a lawyer,then that x is a scoundrel".Which is the predicate calculus way ofsaying "All lawyers are scoundrels."

Page 31: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Predicate calculus - the existentialquantifier

● 1st order predicate calculus has a

symbol ∃∃∃∃ called the existentialquantifier.

● ∃ x means "there is an x such that".

Page 32: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Predicate calculus - the existentialquantifier

● If lawyer(x) means "x is a lawyer" andscoundrel(x) means "x is a scoundrel",

∃ x ( lawyer(x) ∧ scoundrel(x) )means "There is an x such that x is a lawyer,and x is a scoundrel".Which means that there is at least one lawyerwho is a scoundrel, and is the predicatecalculus way of saying "Some lawyers arescoundrels."

Page 33: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Predicate calculus

● Predicate calculus uses the samelogical connectives as propositionalcalculus.

Page 34: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Logic and ambiguity

● One of the problems with converting statementsin English into statements in some otherknowledge representation is that Englishstatements are often ambiguous. e.g.

"Someone is mugged in Soho every day."[Could mean: "a particular person goes to Sohoevery day, and gets mugged"; or "A muggingtakes place in Soho every day (not necessarilywith the same victim)".]

Page 35: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Logic and ambiguity

● Statements in predicate calculus aren'tambiguous, so translating English intopredicate calculus forces the ambiguity to beironed out. The previous statement translatesinto:

∃ x( person(x) ∧ ∀ y( day(y) ⇒(mugged_on(x, y) ∧ mugged_in(x, Soho))))

or ∀ x( day(x) ⇒ ∃ y( person(y) ∧mugged_on(y, x) ∧ mugged_in(y, Soho))))

Page 36: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Predicate calculus

● Establishing whether an argument isvalid or not, in First Order PredicateCalculus:

● this is harder than in propositionalcalculus.

● You can't use truth tables.

Page 37: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Predicate calculus

● There are some rules of inference (i.e. waysof proving an argument) which correspond tothose found in propositional calculus;e.g. universal instantiation:

∀∀∀∀ x( p(x) ⇒⇒⇒⇒ c(x) ) p(a). ∴ c(a).

and the rules already established forpropositional calculus apply here too.

Page 38: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Predicate calculus

● There are techniques for proving anargument in FOPC - sequences of stepswhich will always show that an argument istrue, if it is true.

● If it isn't true, the sequence of steps is liableto go on for ever, without producing a result.

● For this reason, FOPC is said to be semi-decidable.

Page 39: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Problems and Assignments

● Read Chapter 2 in the Luger/Stubblefieldbook.

● Read chapter 3.3 in the Luger/Stubblefieldbook.

● Read chapter 5.4 in the Luger/Stubblefieldbook.

● Create a robot planner using predicatecalculus, next program it in Prolog.

Page 40: Logic - recapweb.cecs.pdx.edu/~mperkows/CLASS_410AER/009.basicLogic.pdf · Logic - recap So far, we have seen that: Logic is a “language” which can be used to describe: Statements

Sources

● John Platts