lecture 8: first order logic heshaam faili [email protected] university of tehran motivation for...

43
Lecture 8: First Order Logic Heshaam Faili [email protected] c.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics Building KB in FOL Inference rules for FOL

Upload: lynne-lindsey

Post on 04-Jan-2016

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

Lecture 8: First Order Logic

Heshaam [email protected]

University of Tehran

Motivation for First Order Logic (FOL)FOL syntaxQuantifiers

FOL semanticsBuilding KB in FOL

Inference rules for FOL

Page 2: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

2

History First Order Logic (FOL) was

essentially developed by Gottlob Frege around 1879.

The goal was to create a sound and complete system from which all logical truths could be derived.

In 1930, Kurt Godel showed that such a system does not exist (Godel’s completeness theorem).

Page 3: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

3

Formal languages

Properties:Declarative

Compositionality

Natural Language like English, Persian - Are more expressive languages-But involve a lot of ambiguity

-Used for communication rather than presentation

Page 4: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

4

First-order logic -- rationale (1)

Extended language to express general statements of the form: “every person has a father and a mother” without explicitly listing all instances

The extension requires: variables: X, Y, … that can refer to specific objects relations: father(X,Y), mother(Z,Y) quantifiers: for all , there exists, to specify the

scope of the variablesX Y Z father(Y,X) and mother(Z,X)

syntax, semantics, and deduction rules

Page 5: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

5

First order logic -- rationale (2)

First order logic (FOL) and its properties have been widely studied in Mathematics and Logic

FOL can express anything that can be programmed

Issues for knowledge representation: how to effectively represent the world -- many

ontologies possible KB design. how to make sound, complete, and

computationally effective deductions with it.

Page 6: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

6

Elements of First Order Logic (1)

Terms are primitive objects: they are built out of individual variables and function symbols (and individual constants).

individual constants: name of a single object in the world: sarah, 55, blue (True, False)

individual variables: place holder for objects:X, Y

function symbols: they are just symbols but will be interpreted as operations on objects -- return an object father(sarah), father(X), color(block), sarah(), father(block)

Page 7: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

7

Elements of First Order Logic (2)

Predicate symbols will be interpreted as relations between objects: they act on terms

father_of 2-place father_of(sarah, moshe) color_of 2-place color_of(block123, blue),

color 1-place color(blue)bird 1-place bird(Tweety)

Functions: father(sarah) = moshe Atomic formula

Page 8: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

8

Elements of First Order Logic (3)

Formulas are built out of atomic formulas with propositional connectives (, , ~, =>, <=>) and quantifiers: (universal) and (existential):

father_of(sarah, husband(tal))

father(sarah) = husband(tal) ( X = father(sarah) ) (X = husband(tal))

X (X = father(sarah) => X = moshe) X Y father_of(X, Y) Y X father_of(X, Y)

Page 9: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

9

Elements of First Order Logic (4)

A sentence is a formula in which all variables are quantified (no free variable)

KB is a set of sentences on(a,b) on(b,c)

clear(a) color_of(a, blue)

c

ab

Page 10: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

10

FOL Example

Page 11: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

11

First Order Logic -- Syntax

Formula ----> Atomic_Formula | Formula Connective Formula |

Quantifier Variable Formula | (Formula) | ~Formula

Atomic_Formula ----> PredicateS( Term, ..., Term) | Term = Term

Term ----> Constant | Variable |FunctionS( Term, …, Term)

Connective ----> | | => | <=> Quantifier ----> | Constant ----> sara, 55, blue,... (lower case letters)Variable -----> X, Y, …. (upper case letters)PredicateS ----> before(_,_) …. (n-ary relation)FunctionS ----> mother(_,_), >, ..(n-ary function)

Page 12: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

12

Terminology

A literal is an atomic formula or its negation A clause is a disjunction of literals A term without variables is called a ground

term. A clause without variables is called a ground

clausefather_of(sarah, moshe) father (lea, moshe)

Our convention: ground terms start with lower case letters uninstantiated variables start with capital letters

Page 13: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

13

Universal Quantifier

States that a sentence is true for all objects in the world being modeled. X ( block(X) => color_of(X,red))

is used to claim that every object in the world that is a block is red.

X (X = a X = b X = c ) says that there are at most three objects in the world and that they are denoted by a, b, c. It is only in such a world that X ( block(X) => color_of(X,red)) is equivalent to:

block(a) => color_of(a,red) block(b) => color_of(b,red) block(c) => color_of(c,red)

Page 14: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

14

Existential Quantifier

States that a sentence is true for some objects in the world being modeled. X block(X) color_of(X,red) is equivalent to

block(a) color_of(a,red) block(b) color_of(b,red) block(c) color_of(c,red) in a world with at most

three objects named by a,b,c. Otherwise there may be a red block that is not a, b or c.

Page 15: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

15

Expressiveness

How can we say that the only objects in the world are a, b and c?

X (X = a) (X = b) (X = c)

What is this?~(a = b) ~(a = c) ~(b = c) ?

Page 16: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

16

Quantifiers scope

Scope: in X S the scope of the quantifier is the whole formula S.

X [block(X) => color_of(X,red)] on(a,Y) Order: existential quantifiers commute and

universal quantifiers commute X (Y (Sentence)) equivalent to Y (X (Sentence))

X (Y(Sentence)) equivalent toY(X (Sentence)) Mixed quantifiers do NOT commute

X Y loves(X,Y) vs. Y X loves(X,Y) everybody loves somebody vs.

somebody is loved by everybody

Page 17: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

17

Relations between quantifiers

Existential and universal quantifiers are related to each other through negation

DeMorgan’s laws for quantifiersX ~P ~ X P ~P ~ Q ~(P Q) ~X P X ~ P ~(P Q) ~P ~Q X P ~X ~ P P Q ~(~P ~Q)

X P ~ X ~ P P Q ~ (~P ~Q) Example: every

person has a father there is no person that does not have a father

Page 18: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

18

Equality and its use The equality symbol indicates that two terms

refer to the same objectfather(sarah) = moshe

indicates that the object refered to by father(sarah) and by moshe are the same

Equality can be viewed as the identity relation =(sarah,sarah), …

Used to distinguish between objects X Y sister_of(sarah, X) sister(sarah, Y)

~(X=Y) to specify that sarah has two sisters (at least)

Page 19: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

19

First Order Logic – Semantics (1)

We define the meaning of terms and formulas in structures with the help of an assignment for the individual variables.

A structure consists of a non-empty domain, A, a suitable function: An A for every n-place function symbol of , a subset of An for every n-place predicate symbol.

An variable assignment associates an element of A with each individual variable.

Page 20: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

20

First Order Logic – Semantics (2)

Every term is interpreted as an element of the

domain A: individual variables using the variable

assignment complex terms by applying the function

corresponding to the function symbol to the interpretations of the arguments.

Page 21: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

21

First Order Logic – Semantics (3)

Truth value of formulas is defined recursively from the truth value of atomic formulas, as in Propositional Logic

Atomic formula: using the interpretation of the predicate symbol and the interpretations of the terms: father_of(sarah, moshe) is true iff the pair < sarah, moshe > of interpretations is in the interpretation father_of.

_father_of is a subset of A2

Page 22: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

22

First Order Logic – Semantics (4)

Formulas such as A B, A B, ~A, A=>B are interpreted as in propositional calculus

X S is true iff there is some element w of the domain A, such that S gets the value True, when one uses not the original variable assignment but the modified assignment in which X gets associated with w.

X S is true iff S gets the value true with all variable assignments that differ from the original one only in the value associated with X.

Page 23: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

23

Natural Numbers

NatNum(0)n NatNum(n) NatNum(S(n))

n, 0S(n)m,n mn S(m) S(n)

m NatNum(m) +(0,m) = mm,n NatNum(m) NatNum(n) +(S(m),n) = S(+

(m,n))

Page 24: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

24

Variable assignment and satisfiability

A sentence S is satisfied by a variable assignment U when the ground sentence S[U] is valid

|= S[U] for U ={X/a, Y/b, ….} The satisfiability of logical sentences is

determined by the logical connective|=(S1 S2 … Sn)[U] iff |= Si[U] for all i = 1 .. n

|=(S1 S2 … Sn)[U] iff |= Si[U] for some i = 1 .. n

Page 25: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

25

Expressing knowledge in FOL

Given a world or domain, identify and define constant objects, functions, and relation predicates

Define relevant domain knowledge stated informally in English as a set of FOL sentences

KB usually has two types of statements statements about the specific objects -- statements about general relationships --

axioms

Page 26: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

26

Example: family relations domain

Objects: members of the family Functions: father, mother Relations: male, female, parent_of,

sibling_of, brother_of, sister_of, child_of, daughter_of, son_of, spouse_of, wife_of, husband_of, ….

statements about the specific familyfemale(sarah), father(sarah) = moshe

statements about family relationships X Y : (Z = father(X) Z = mother(X) ) => sibling(X, Y)

Page 27: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

27

Some family relationships rules

A mother is a female parent M C mother(M) = C <=> female(C) parent_of(M,C)

A grandparent is a parent of one’s parent G C grandparent_of(G,C) <=>

P parent_of(G,P) parent_of(P,C) Parent and child are inverse relations

P C parent_of(P,C) <=> child_of(C,P)

A sibling is another child of one’s parents X Y sibling_of(X,Y) <=> X Y P parent_of(P,X) parent_of(P,Y)

Page 28: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

28

Inference in First Order Logic

As for propositional logic, will work only on the syntactic form of the sentences

Extend the rules of propositional logic to deal with quantifiers and variables. The rules will deal with variable assignment, using (syntactic) substitutions.

Page 29: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

29

Inference Rules: examples (1)

From KB: 1. M C mother(C) = M <=>

female(M) parent(M,C) 2. mother(sarah) = ruth

Deduce: female(ruth) parent(ruth,sarah)

Page 30: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

30

Inference Rules: examples (2)

From KB = 1. X father_of(Y, X) ~husband_of(mother(Y), X)2. husband_of(mother(Y), Z)Deduce: father_of(Y, Z)

From KB = {X F(Y, X) ~H(M(Y), X) H(M(Y), Z)}Deduce: F(Y, Z)

Page 31: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

31

Substitution

Substitution is a syntactic operation that takes a formula and replaces a variable everywhere it appears by a term.

Subst(,S) is the result of replacing the variables X, Y, …. by the terms t1, t2, … respectively in a formula S. The result is denoted S[ ]. ={X/t1, Y/t2, …}

For example father_of(X, Y) [ X/sarah, Y/moshe ] is father_of(sarah, moshe)

Substitution is syntactic, variable assignment is semantic.

Page 32: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

32

Other rules: good and bad

Universal Elimination: X S for any t S[X/t]

In particular: X S S

Universal Introduction: S X S

If KB does not

mention the

variable X

Page 33: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

33

FOL -- Inference Rules for quantifiers

Substitution operationSubst(,S) is the result of applying the variable assignment ={X/x, Y/y, …} to S, i.e, S[ ]

Universal and Existential Elimination

x doesnot appear in the whole KB: skolemization

Existential Introduction

)},/({

xXSubstX

)},/({

xXSubstX

)},/({

xXSubstX

Page 34: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

34

Example of a proof

“It is a crime for an American to sell weapons to hostile nations. North Korea is an enemy of America, has some missiles, and all of its missiles were sold to it by Coronel West, who is American.”

Prove that Coronel West is a

criminal!

Page 35: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

35

Formalization

1. X,Y,Z american(X) weapon(Y) nation(Z) hostile(Z) sells(X,Z,Y) criminal(X)

2. X missile(X) owns(nkorea,X) 3. X missile(X) owns(nkorea,X)

sells(west,nkorea,X)4. X missile(X) weapon(X)5. X enemy(X,america) hostile(X)6. american(west)7. nation(nkorea)8. enemy(nkorea,america)9. nation(america)

Page 36: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

36

Proof (1)

2. and Existential elimination

10. missile(m) owns(nkorea,m) X/m 10. and And-Elimination 11. owns(nkorea,m)12. missile(m)

4. And Universal Elimination13. missile(m) => weapon(m) X/m 12, 13 and Modus Ponens14. weapon(m)

3 and Universal Elimination

15. missile(m) owns(nkorea,m) => sells(west,nkorea,m)

Page 37: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

37

Proof (2)

15, 10 and Modus Ponens16. sells(west, nkorea,m) 1 and Universal Elimination (three times) 17. american(west) weapon(m)

nation(nkorea) hostile(nkorea) sells(west,nkorea,m) => criminal(west)

5 and Universal Elimination18. enemy(nkorea,america) =>

hostile(nkorea) 8, 18 and Modus Ponens

Page 38: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

38

Proof (3)

19. hostile(nkorea)6, 7, 14, 16, 19 and And-Introduction

20. american(west) weapon(m) nation(nkorea) hostile(nkorea) sells(west,nkorea,m)

17, 20 and Modus Ponens 21. criminal(west)

Page 39: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

39

FOL inferences

Soundness: Rules for propositional logic are sound.

Godel proposed a system R and proved in 1931 that in FOL any sentence that logically follows from a KB can be proven:

if KB |= S then KB |=R S Robinson developed in 1965 a mechanizable

proof procedure based on resolution -- we will study it in detail next.

Page 40: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

40

knowledge engineering process

knowledge engineer is someone who investigates a particular domain, learns what concepts are important in that domain, and creates a formal representation of the objects and relations in the domain. Identify the task. Assemble the relevant knowledge (Knowledge

acquisition) Decide on a vocabulary of predicates, functions, and

constants. Encode general knowledge about the domain. Encode a description of the specific problem instance. Pose queries to the inference procedure and get

answers. Debug the knowledge base.

Page 41: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

41

Main differences with propositional logic

There are infinitely many possible models: we cannot just enumerate all the models to see whether a sentence is satisfied in all models.

There still exist refutation-complete rules

Godel’s incompleteness theorem says that we cannot hope for the application of these rules to terminate always when the formula C is not entailed by KB.

Page 42: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

42

Key issues in developing an effective inference procedure

Have as few inference rules as possible to reduce the search’s branching factor

The complexity is still exponential in the number of atomic sentences

More efficient procedures for restricted forms of logic sentences (Horn clauses)

Page 43: Lecture 8: First Order Logic Heshaam Faili hfaili@ece.ut.ac.ir University of Tehran Motivation for First Order Logic (FOL) FOL syntax Quantifiers FOL semantics

43

?