1 fol cs 531 dr m m awais formal logic the most widely used formal logic method is first-order...

62
CS 531 Dr M M Awais 1 FOL Formal Logic Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference : Chapter Two The predicate Calculus Luger’s Book Examples included from Norvig and Russel.

Upload: baldwin-sanders

Post on 17-Jan-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 1

FOL

Formal LogicFormal Logic

• The most widely used formal logic method is

FIRST-ORDER PREDICATE LOGIC

Reference: Chapter Two The predicate Calculus

Luger’s Book

Examples included from Norvig and Russel.

Page 2: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 2

FOL

First-order logic

• Whereas propositional logic assumes the world contains facts,

• first-order logic (like natural language) assumes the world contains– Objects: people, houses, numbers, colors, baseball

games, wars, …– Relations: red, round, prime, brother of, bigger than,

part of, comes between, …– Functions: father of, best friend, one more than, plus,

Page 3: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 3

FOL

FOL

• PL only deals with facts• PL cannot have variables• Variables refer to things in the world• You can deliberate over them• How would represent the following fact in

PLWhen you sterilize a jar all the bacteria are

dead

Page 4: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 4

FOL

Syntax of FOL: Basic elements

• Constants john, 2, lums,...

• Predicates brother, >,...

• Functions sqrt, leftsideOf,...

• Variables X,Y,A,B...

• Connectives , , , , • Equality =

• Quantifiers ,

Page 5: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 5

FOL

Syntax of FOL: Basic elements

• Constants John, Lums,...

• Predicates Brother, >,...

• Functions Sqrt, LeftsideOf,...

• Variables x,y,a,b...

• Connectives , , , , • Equality =

• Quantifiers ,

Alternate Convention also exists (Norvig uses the alternate)

Alternate Convention also exists (Norvig uses the alternate)

Page 6: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 6

FOL

Truth in first-order logic• Sentences are true with respect to a model and an

interpretation

• Model contains objects (domain elements) and relations among them

• Interpretation specifies referents forconstant symbols → objectspredicate symbols → relationsfunction symbols → functional relations

• An atomic sentence predicate(term1,...,termn) is trueiff the objects referred to by term,,..., term ,are in the relation referred to by predicate

Page 7: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 7

FOL

Alphabets-IAlphabets-I

Predicates, variables, functions,constants, connectives, quantifiers, and delimiters

Constants: (first letter small)bLUE a colorsanTRO a carcrow a birdVariables: (first letter capital)Dog: an element that is a dog, but unspecifiedColor: an unspecified color

Page 8: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 8

FOL

Alphabets-IIAlphabets-IIFunction (evaluates to a constant / variable):

Maps Sentences to Objects

Ali is father of Babar father_of(ali) = baber father(babar) = ali

Babar is son of Ali son_of(babar) = ali

• Interpretation has to be very clear.• If you write father(baber), the answer should be ali• For the above functions the arity is 1 (number of arguments to

the function)

Page 9: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 9

FOL

Alphabets-IIAlphabets-IIFunctions:1) shahid likes zahid likes(shahid) =

zahid

2) atif likes abid likes(atif) = abid

3) Constants to Variables likes(X) = Y

{X,Y} have two possible BINDINGSBINDINGS

{X, Y} could be {shahid, zahid}

Or

{X,Y} could be {atif, abid}

likes(X) =Y

Substitutions:

For 1 to be true:{shahid/X, zahid/Y}

For 2 to be true:{atif/X, abid/Y}

Page 10: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 10

FOL

Alphabets-IIAlphabets-IIPredicate

Maps Sentences to Truth Values (True/False)

1) Shahid is student student(shahid)

2) Sana is a girl girl(sana)

3) Father of baber is elder than Hamza

elder(father(babar), hamza)

For 1 and 2 arity is 1 and for 3 the arity is 2

Page 11: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 11

FOL

Alphabets-IIAlphabets-IIPredicate1) Shahid is a good studentstudent(shahid,good) or good_student(shahid) oris_good(shahid,student)

2) Sana is a friend of Saima, Sana and Saima both are girls

friend_of(sana,saima)^girl(sana)^girl(saima)3) Bill helps Fredhelps(bill,fred)

Page 12: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 12

FOL

Atomic sentencesAtomic sentence = predicate (term1,...,termn)

or term1 = term2

term = function (term1,...,termn) or constant

or variable • brother(john,richard)• greater(length(leftsideOf(squareA)), length(leftsideOf(squareB)))• >(length(leftsideOf(squareA)), length(leftsideOf(squareB)))

Functions cannot be atomic sentences

Page 13: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 13

FOL

Alphabets-IIIAlphabets-IIIConnectives:^ andv or~ not

ImplicationQuantificationAll persons can seeThere is a person who cannot see

Universal quantifiers (ALL)Existential quantifiers (There exists)

Page 14: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 14

FOL

Complex sentences

• Complex sentences are made from atomic sentences using connectives

S, S1 S2, S1 S2, S1 S2, S1 S2,

sibling(ali,hamza) sibling(hamza,ali) >(1,2) ≤ (1,2) (1 is greater than 2 or less than equal to 2)

>(1,2) >(1,2) (1 is greater than 2 and is not greater than equal to 2)

Page 15: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 15

FOL

ExamplesExamples

My house is a blue, two-story, with red shutters, and is a corner houseblue(my-house)^two-story(my-house)^red-shutters(my-

house)^corner(my-house)

Ali bought a scooter or a carbought(ali , car) v bought(ali , scooter)

IF fuel, air and spark are present the fuel will combustpresent(spark)^present(fuel)^present(air)

combustion(fuel)

Page 16: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 16

FOL

Universal quantification <variables> <sentence>Everyone at LUMS is smart:

X at(X, lums) smart(X)

X P is true in a model m iff P is true with X being each possible object in the model

• Roughly speaking, equivalent to the conjunction of instantiations of P

at(rabia,lums) smart(rabia) at(shahid,lums) smart(shahid) at(lums,lums) smart(lums) ...

Page 17: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 17

FOL ExamplesExamplesAll people need air

X[person(X) need_AIR(X)]

The owner of the car also owns the boat

[owner(X , car) ^ car(X , boat)]

Formulate the following expression in the PC:“Ali is a computer science student but not a pilot or

a football player”

cs_STUDENT(ali) ( pilot(ali) ft_PLAYER(ali) )

Page 18: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 18

FOL

ExamplesExamples

Restate the sentence in the following way:

1. Ali is a computer science (CS) student

2. Ali is not a pilot

3. Ali is not a football player

cs_student(ali)^

~pilot(ali)^

~football_player(ali)

Page 19: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 19

FOL

ExamplesExamplesStudying fuzzy systems is exciting and applying logic is great

fun if you are not going to spend all of your time slaving over the terminal

X(~slave_terminal(X) [fs_eciting(X)^logic_fun(X)])

Every voter either favors the amendment or despises it

X[voter(X) [favor(X , amendment) v despise(X,amendment)]

^ ~[favor(X , amendment) v

despise(X , amendment)] (this part simply endorses the statement, may not be required)

Page 20: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 20

FOL

Undecidable Predicate

• For which exhaustive testing is required• Example:

X likes(zahra, X)• This sentence is computationally impossible to

calculate• Scope of problem domain is to be limited to

remove this problem, – i.e., X is a variable representing final year female

student in the AI class, compared to an X representing all the people in the city of Lahore

Page 21: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 21

FOL

Robotic Arm Example

•Represent the initial details of the system•Generate sentences of descriptive and or implicative nature•Modify the facts using new sentences

a

b

c

d

Page 22: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 22

FOL

Example: Robotic Arm

• Represent the initial details of the systems

a

b

c

d

on(a,b)on( c,d)ontable(b)ontable(d)clear(a)clear(c)hand_empty

Page 23: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 23

FOL

Goal:To pick a block and place it over another block

Define predicate: stack_on(X,Y)General sentence:

Conditions ConclusionsWhat could the conditions be?

hand_emptyclear (X)clear (Y)pick (X)put_on (X,Y)

a

b

c

d

hand_empty ^ clear (X) ^ clear (Y) ^ pick (X) ^ put_on (X,Y) stack_on (X,Y)

Page 24: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 24

FOL

Goal:To pick a block and place it over another block

hand_empty ^ clear (X) ^ clear (Y) ^ pick (X) ^ put_on (X,Y) stack_on (X,Y)

hand_empty ^ clear (X) pick (X) clear(Y) ^ pick (X) put_on (X,Y)

put_on (X,Y) stack_on (X,Y)

Semantically more correct

hand_empty could be written as empty(hand), if hand_empty is in the knowledge base, then hand is empty otherwise false.

put_on (X,Y) stack_on (X,Y)

Page 25: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 25

FOL

Example: Robotic Arm• Modify details of the systems

a

b

c

d

on(b,a)on( c,d)ontable(b)ontable(d)clear(a)clear(c)hand_empty

a

b

c

d

on(b,a)on( c,d)on(e,a)ontable(b)ontable(d)clear(c)clear(e)hand_empty

e

Page 26: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 26

FOL

Models for FOL: Example

Page 27: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 27

FOL

A common mistake to avoid

• Represent: Everyone at LUMS is smart

X at(X,lums) smart(X)X at(X, lums) smart(X)• Common mistake:

using as the main connective with : means“Everyone is at LUMS and everyone is smart”

“Everyone at LUMS is smart” • Typically, is the main connective with

Page 28: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 28

FOL

Existential quantification <variables> <sentence>

• Someone at LUMS is smart: X at(X,lums) smart(X)

X P is true in a model m iff P is true with X being some possible object in the model

• Roughly speaking, equivalent to the disjunction of instantiations of P

at(sana,lums) smart(sana) at(bashir,lums) smart(bashir) at(lums,lums) smart(lums) ...

Page 29: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 29

FOL

Another common mistake to avoid

• Typically, is the main connective with

• Common mistake: using as the main connective with :

X at(X,lums) smart(X)

is true even if there is anyone who is not at LUMS!• Even if the antecedent is false the sentence can still

be true (see the truth table of implication).

Page 30: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 30

FOL

Properties of quantifiers X Y is the same as Y X X Y is the same as Y X

X Y is not the same as Y X X Y loves(X,Y)

“There is a person who loves everyone in the world” Y X loves(X,Y)

“Everyone in the world is loved by at least one person”

• Quantifier duality: each can be expressed using the other X likes(X,car) X likes(X,car) X likes(X,bread) X likes(X,bread)

Page 31: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 31

FOL

Equality

• term1 = term2 is true under a given interpretation if and only if term1 and term2 refer to the same object

• Sibling in terms of Parent:X,Y sibling(X,Y)

[(X = Y) M,F (M = F) parent(M,X) parent(F,X) parent(M,Y) parent(F,Y)]

Page 32: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 32

FOL

Using FOL

The kinship domain:• Brothers are siblings

X,Y brother(X,Y) sibling(X,Y)• One's mother is one's female parent

M,C mother(C) = M (female(M) parent(M,C))

• “Sibling” is symmetric

X,Y sibling(X,Y) sibling(Y,X)

Page 33: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 33

FOL

Rules: Wumpus worldNorvig and Russel book for details(will provide you with handouts)

• Actions– Turn(Right), Turn(Left), Forward, Shoot, Grab,

Release, Climb

• Reflex T glitter(T) bestAction(grab,T)

Page 34: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 34

FOL

Rules: Wumpus worldNorvig and Russel book for details(will provide you with handouts)

• Perception T,S,B percept([S,B,glitter],T) glitter(T)

• Reflex T glitter(T) bestAction(grab,T)

Page 35: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 35

FOL

Rules: Wumpus worldNorvig and Russel book for details(will provide you with handouts)

• Perception T,S,B percept([S,B,glitter],T) glitter(T)

• Reflex T glitter(T) bestAction(grab,T)

Page 36: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 36

FOL

Rules: Wumpus worldNorvig and Russel book for details(will provide you with handouts)

• Perception T,S,B percept([S,B,glitter],T) glitter(T)

• Reflex T glitter(T) bestAction(grab,T)

Page 37: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 37

FOL

Deducing Squares/PropertiesWhat are Adjacent Squares

X,Y,A,B adjacent([X,Y],[A,B]) [A,B] {[X+1,Y], [X-1,Y],[X,Y+1],[X,Y-1]}

Properties of squares:S,T at(agent,S,T) breeze(T) breezy(S)

Squares are breezy near a pit:Diagnostic rule---infer cause from effect

S breezy(S) adjacent(R,S) pit(R)Causal rule---infer effect from cause

R pit(R) [S adjacent(R,S) breezy(S)]

Page 38: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 38

FOL

Deducing Squares/Properties

Diagnostic rule---infer cause from effect

S breezy(S) adjacent(R,S) pit(R)

Causal rule---infer effect from cause

R pit(R) [S adjacent(R,S) breezy(S)]

Page 39: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 39

FOL

Knowledge engineering in FOL

1. Identify the task2. Assemble the relevant knowledge3. Decide on a vocabulary of predicates, functions,

and constants4. Encode general knowledge about the domain5. Encode a description of the specific problem

instance6. Pose queries to the inference procedure and get

answers7. Debug the knowledge base

8.9.10.11.12.13.

Page 40: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 40

FOL

Inferencing in FOL

• Interpretation of the objects/variables etc…

• Denotation of terms

• Find whether an interpretation holds for a particular sentence

Page 41: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 41

FOL

Interpretation I/Denotation

• ‘U’ set of Objects ( U universe of discourse)• Map constants symbols to objects in U

I(zahid), U={zahid, shahid, raza, sana, …} ‘T’

I(X) what happens now?• Map predicates symbols to the relations between the

objects on U• Map function symbols to functions on U

I(predicate(t1, t2)) I(predicate)(I(t1), I(t2))

Page 42: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 42

FOL

Holds (meta rule)

holds (predicate(t1,t2), I)

iff

<I(t1),I(t2)> I(predicate)

Page 43: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 43

FOL

Example: Robotic ArmFind if the following sentence holds or not

a

b

c

d

on(a,b)on( c,d)ontable(b)ontable(d)clear(a)clear(c)hand_empty

stack_on (X,Y)

I(X)

I(Y)

I(stack_on)

holds (stack_on(X,Y),I) iff <I(X),I(Y)> I(stack_on))

???

No

stack_on is not in ‘U’

‘on’ Holds but under the following interpretations

{a/X, b/Y} or {c/X, d/Y}

clear(a) holds but clear(b) does not hold

Page 44: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 44

FOL

Quantifiers

Page 45: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 45

FOL

FOL: Example What is U?Define the following:Predicates: above 2 circle 1oval 1square 1triangle 1 Function;hat 2

Page 46: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 46

FOL

FOL: Example

What is U?

I(object) =

I(above) =

Find whether I(square) = ????

Page 47: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 47

FOL

Reason it Out

• holds (sqaure(object),I) ?

• YES

• holds (above(object,hat(object)),I) ?

• I(hat(object))= sqaure

• holds(above(triangle,sqaure),I)?

• NO• Hence I(square) = FALSE

Page 48: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 48

FOL

Find the truth of

• holds ( X, oval(X)), I) ?• I(sqaure)={<triangle>}

Note for the studentsShould have solved it when you come next time.

Page 49: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 49

FOL

The electronic circuits domain

One-bit full adder

Page 50: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 50

FOL

The electronic circuits domain

1. Identify the task– Does the circuit actually add properly?

(circuit verification)2. Assemble the relevant knowledge

– Composed of wires and gates; Types of gates (AND, OR, XOR, NOT)

– Irrelevant: size, shape, color, cost of gates3. Decide on a vocabulary

– Alternatives:type(x1) = xortype(x1, xor)xor(x1)

–•

–•–

Page 51: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 51

FOL

The electronic circuits domain4. Encode general knowledge of the domain

T1,T2 connected(T1, T2) signal(T1) = signal(T2) T signal(T) = 1 signal(T) = 0– 1 ≠ 0 T1,T2 connected(T1, T2) connected(T2, T1) G type(G) = OR signal(out(1,G)) = 1 N

signal(in(N,G)) = 1 G type(G) = AND signal(out(1,G)) = 0 N

signal(in(N,G)) = 0 G type(G) = XOR signal(out(1,G)) = 1

signal(in(1,G)) ≠ signal(in(2,G)) G type(G) = NOT signal(out(1,G)) ≠

signal(in(1,G))–

Page 52: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 52

FOL

The electronic circuits domain

5. Encode the specific problem instancetype(x1) = xor type(x2) = xor

type(a1) = and type(a2) = and

type(o1) = or

connected(out(1,x1),in(1,x2)) connected(in(1,c1),in(1,x1))

connected(out(1,x1),in(2,a2)) connected(in(1,c1),in(1,a1))

connected(out(1,o2),in(1,o1)) connected(in(2,c1),in(2,x1))

connected(out(1,a1),in(2,o1)) connected(in(2,c1),in(2,a1))

connected(out(1,x2),out(1,c1)) connected(in(3,c1),in(2,x2))

connected(out(1,o1),out(2,c1)) connected(in(3,c1),in(1,a2))

Page 53: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 53

FOL

The electronic circuits domain

6. Pose queries to the inference procedureWhat are the possible sets of values of all the

terminals for the adder circuit? I1,I2,I3,O1,O2 signal(in(1,c_1)) = I1 signal(in(2,c1)) = I2 signal(in(3,c1)) = I3 signal(out(1,c1)) = O1 signal(out(2,o1)) = O2

7. Debug the knowledge baseMay have omitted assertions like 1 ≠ 0

–•

Page 54: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 54

FOL

Summary

• First-order logic:– objects and relations are semantic primitives– syntax: constants, functions, predicates,

equality, quantifiers

• Increased expressive power: sufficient to define wumpus world

Page 55: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 55

FOL

Operations/Processes• Entailment: • Unification: Algorithm for determining the

substitutions needed to make two predicate calculus expressions match

• Skolemization: A method of removing or replacing existential quantifiers using Skolem function

• Composition: If S and S` are two substitutions sets, then the composition of S and S` (SS`) is obtained by applying the elements of S’ to the elements of ` and adding the S’ to S

Page 56: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 56

FOL

Examples (Alternate Convention)

Superscript represents arity of predicates/functions

Page 57: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 57

FOL

Entailment

A knowledge base entails a sentence IFF the sentence holds in every interpretation in

which the knowledge base holds

In Propositional Logic:A knowledge base entails a sentence IFF the

sentence is TRUE in every interpretation that makes the knowledge base TRUE

Page 58: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 58

FOL

Entailment (follows from)

KB entails S: for every Interpretation I,

if KB holds in I,

then

S holds in I

Page 59: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 59

FOL

Entailment

•Computing entailment is impossible in general, because there are Infinitely many possible interpretations•Even computing holds is impossible for interpretations with infinite universes

Page 60: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 60

FOL

Example

Alternate Convention

Page 61: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 61

FOL

Example

Alternate Convention

Page 62: 1 FOL CS 531 Dr M M Awais Formal Logic The most widely used formal logic method is FIRST-ORDER PREDICATE LOGIC Reference: Chapter Two The predicate Calculus

CS 531 Dr M M Awais 62

FOL

Example

Alternate Convention