![Page 2: First-Order Logic - Duke UniversityModels for First-Order Logic Recall from Propositional Logic! A model is a formalization of a “world”: • Set the value of every variable in](https://reader030.vdocuments.site/reader030/viewer/2022040308/5f09daea7e708231d428d17c/html5/thumbnails/2.jpg)
![Page 3: First-Order Logic - Duke UniversityModels for First-Order Logic Recall from Propositional Logic! A model is a formalization of a “world”: • Set the value of every variable in](https://reader030.vdocuments.site/reader030/viewer/2022040308/5f09daea7e708231d428d17c/html5/thumbnails/3.jpg)
First-Order LogicMore sophisticated representation language.!!World can be described by:
objects
functionsColor(·)
relations
Adjacent(·, ·)IsApple(·)
![Page 4: First-Order Logic - Duke UniversityModels for First-Order Logic Recall from Propositional Logic! A model is a formalization of a “world”: • Set the value of every variable in](https://reader030.vdocuments.site/reader030/viewer/2022040308/5f09daea7e708231d428d17c/html5/thumbnails/4.jpg)
First-Order LogicObjects:
• A “thing in the world”• Apples• Red• The Internet• Team Edward• Reddit
• A name that references something.• Cf. a noun.
MyApple271
TheInternet
EnnuiCompSci270
![Page 5: First-Order Logic - Duke UniversityModels for First-Order Logic Recall from Propositional Logic! A model is a formalization of a “world”: • Set the value of every variable in](https://reader030.vdocuments.site/reader030/viewer/2022040308/5f09daea7e708231d428d17c/html5/thumbnails/5.jpg)
First-Order LogicFunctions:• Operator that maps object(s) to single object.
• • • •
ColorOf(·)ObjectNextTo(·)SocialSecurityNumber(·)DateOfBirth(·)Spouse(·)
ColorOf(MyApple271) = Red
![Page 6: First-Order Logic - Duke UniversityModels for First-Order Logic Recall from Propositional Logic! A model is a formalization of a “world”: • Set the value of every variable in](https://reader030.vdocuments.site/reader030/viewer/2022040308/5f09daea7e708231d428d17c/html5/thumbnails/6.jpg)
First-Order LogicRelations (also called predicates):!Like a function, but returns True or False - holds or does not.
• • • •
!These are like verbs or verb phrases.
IsApple(·)ParentOf(·, ·)BiggerThan(·, ·)HasA(·, ·)
![Page 7: First-Order Logic - Duke UniversityModels for First-Order Logic Recall from Propositional Logic! A model is a formalization of a “world”: • Set the value of every variable in](https://reader030.vdocuments.site/reader030/viewer/2022040308/5f09daea7e708231d428d17c/html5/thumbnails/7.jpg)
First-Order LogicWe can build up complex sentences using logical connectives, as in propositional logic:
• • • •
!!
Predicates can appear where a propositions appear in propositional logic, but functions cannot.
Fruit(X) =) Sweet(X)Food(X) =) (Savory(X) _ Sweet(X))ParentOf(Bob,Alice) ^ ParentOf(Alice,Humphrey)Fruit(X) =) Tasty(X) _ (IsTomato(X) ^ ¬Tasty(X))
![Page 8: First-Order Logic - Duke UniversityModels for First-Order Logic Recall from Propositional Logic! A model is a formalization of a “world”: • Set the value of every variable in](https://reader030.vdocuments.site/reader030/viewer/2022040308/5f09daea7e708231d428d17c/html5/thumbnails/8.jpg)
Models for First-Order LogicRecall from Propositional Logic!
A model is a formalization of a “world”:• Set the value of every variable in the KB to True or False.• 2n models possible for n propositions.
!!!!!!
Proposition Value
Cold FalseRaining FalseCloudy FalseHot False
Proposition Value
Cold TrueRaining FalseCloudy FalseHot False
Proposition Value
Cold TrueRaining TrueCloudy TrueHot True
…
![Page 9: First-Order Logic - Duke UniversityModels for First-Order Logic Recall from Propositional Logic! A model is a formalization of a “world”: • Set the value of every variable in](https://reader030.vdocuments.site/reader030/viewer/2022040308/5f09daea7e708231d428d17c/html5/thumbnails/9.jpg)
Models for First-Order LogicThe situation is much more complex for FOL.!A model in FOL consists of:
• A set of objects.• A set of functions + values for all inputs.• A set of predicates + values for all inputs.
![Page 10: First-Order Logic - Duke UniversityModels for First-Order Logic Recall from Propositional Logic! A model is a formalization of a “world”: • Set the value of every variable in](https://reader030.vdocuments.site/reader030/viewer/2022040308/5f09daea7e708231d428d17c/html5/thumbnails/10.jpg)
Models for First-Order LogicConsider:!
Objects Predicates Functions!!!!Example model:
OrangeApple
IsRed(·)HasV itaminC(·)
OppositeOf(·)
Predicate Argument ValueIsRed Orange FalseIsRed Apple True
HasV itaminC Orange TrueHasV itaminC Apple True
Function Argument Return
OppositeOf Orange AppleOpposite Apple Orange
![Page 11: First-Order Logic - Duke UniversityModels for First-Order Logic Recall from Propositional Logic! A model is a formalization of a “world”: • Set the value of every variable in](https://reader030.vdocuments.site/reader030/viewer/2022040308/5f09daea7e708231d428d17c/html5/thumbnails/11.jpg)
Knowledge Bases in FOLA KB is now:
• A set of objects.• A set of predicates.• A set of functions.• A set of sentences using the predicates, functions, and
objects, and asserted to be true.
Objects Predicates Functions!!!!
OrangeApple
IsRed(·)HasV itaminC(·)
OppositeOf(·)
IsRed(Apple)
HasV itaminC(Orange)
![Page 12: First-Order Logic - Duke UniversityModels for First-Order Logic Recall from Propositional Logic! A model is a formalization of a “world”: • Set the value of every variable in](https://reader030.vdocuments.site/reader030/viewer/2022040308/5f09daea7e708231d428d17c/html5/thumbnails/12.jpg)
Knowledge Bases in FOLListing everything is tedious …
• Especially when general relationships hold.!
We would like a way to say more general things about the world than explicitly listing truth values for each object.
![Page 13: First-Order Logic - Duke UniversityModels for First-Order Logic Recall from Propositional Logic! A model is a formalization of a “world”: • Set the value of every variable in](https://reader030.vdocuments.site/reader030/viewer/2022040308/5f09daea7e708231d428d17c/html5/thumbnails/13.jpg)
QuantifiersNew weapon:
• Quantifiers. !
Quantifiers allow us to make generic statements about properties that hold for the entire collection of objects in our KB.!Natural way to say things like:
• All fish have fins.• All books have pages.• There is a textbook about AI.
!
Key idea: variable + binding rule.
![Page 14: First-Order Logic - Duke UniversityModels for First-Order Logic Recall from Propositional Logic! A model is a formalization of a “world”: • Set the value of every variable in](https://reader030.vdocuments.site/reader030/viewer/2022040308/5f09daea7e708231d428d17c/html5/thumbnails/14.jpg)
Existential QuantifiersThere exists object(s) such that a sentence holds. !
9x, IsPresident(x)
“there exists”
temporary variable
sentenceusing variable
![Page 15: First-Order Logic - Duke UniversityModels for First-Order Logic Recall from Propositional Logic! A model is a formalization of a “world”: • Set the value of every variable in](https://reader030.vdocuments.site/reader030/viewer/2022040308/5f09daea7e708231d428d17c/html5/thumbnails/15.jpg)
Existential QuantifiersExamples:!
• !
• !
•
9x, Person(x) ^Name(x,George)
9x,Car(x) ^ ParkedIn(x,E23)
9x,Course(x) ^ Prerequisite(x,CS270)
![Page 16: First-Order Logic - Duke UniversityModels for First-Order Logic Recall from Propositional Logic! A model is a formalization of a “world”: • Set the value of every variable in](https://reader030.vdocuments.site/reader030/viewer/2022040308/5f09daea7e708231d428d17c/html5/thumbnails/16.jpg)
Universal QuantifiersA sentence holds for all object(s).
“for every”sentence
using variable
temporary variable
8x,HasStudentNumber(x) =) Person(x)
![Page 17: First-Order Logic - Duke UniversityModels for First-Order Logic Recall from Propositional Logic! A model is a formalization of a “world”: • Set the value of every variable in](https://reader030.vdocuments.site/reader030/viewer/2022040308/5f09daea7e708231d428d17c/html5/thumbnails/17.jpg)
Universal QuantifiersExamples!
• !
• !
8x, Fruit(x) =) Tasty(x)
8x,Bird(x) =) Feathered(x)
8x,Book(x) ! HasAuthor(x)
![Page 18: First-Order Logic - Duke UniversityModels for First-Order Logic Recall from Propositional Logic! A model is a formalization of a “world”: • Set the value of every variable in](https://reader030.vdocuments.site/reader030/viewer/2022040308/5f09daea7e708231d428d17c/html5/thumbnails/18.jpg)
QuantifiersDifference in strength:
• Universal quantifier is very strong.• So use weak sentence.
!!!
• Existential quantifier is very weak.• So use strong sentence.
8x,Bird(x) =) Feathered(x)
9x,Car(x) ^ ParkedIn(x,E23)
![Page 19: First-Order Logic - Duke UniversityModels for First-Order Logic Recall from Propositional Logic! A model is a formalization of a “world”: • Set the value of every variable in](https://reader030.vdocuments.site/reader030/viewer/2022040308/5f09daea7e708231d428d17c/html5/thumbnails/19.jpg)
Compound Quantifiers
8x, 9y, Person(x) =) Name(x, y)
“every person has a name”
![Page 20: First-Order Logic - Duke UniversityModels for First-Order Logic Recall from Propositional Logic! A model is a formalization of a “world”: • Set the value of every variable in](https://reader030.vdocuments.site/reader030/viewer/2022040308/5f09daea7e708231d428d17c/html5/thumbnails/20.jpg)
Common Pitfalls
8x,Bird(x) ^ Feathered(x)
![Page 21: First-Order Logic - Duke UniversityModels for First-Order Logic Recall from Propositional Logic! A model is a formalization of a “world”: • Set the value of every variable in](https://reader030.vdocuments.site/reader030/viewer/2022040308/5f09daea7e708231d428d17c/html5/thumbnails/21.jpg)
Common Pitfalls
9x,Car(x) =) ParkedIn(x,E23)
![Page 22: First-Order Logic - Duke UniversityModels for First-Order Logic Recall from Propositional Logic! A model is a formalization of a “world”: • Set the value of every variable in](https://reader030.vdocuments.site/reader030/viewer/2022040308/5f09daea7e708231d428d17c/html5/thumbnails/22.jpg)
Examples…
![Page 23: First-Order Logic - Duke UniversityModels for First-Order Logic Recall from Propositional Logic! A model is a formalization of a “world”: • Set the value of every variable in](https://reader030.vdocuments.site/reader030/viewer/2022040308/5f09daea7e708231d428d17c/html5/thumbnails/23.jpg)
Inference in First-Order LogicGround term, or literal - an actual object:!!
vs. a variable:!!If you have only ground terms, you can convert to a propositional representation and proceed from there.
MyApple12
x
IsTasty(Apple) : IsTastyApple
![Page 24: First-Order Logic - Duke UniversityModels for First-Order Logic Recall from Propositional Logic! A model is a formalization of a “world”: • Set the value of every variable in](https://reader030.vdocuments.site/reader030/viewer/2022040308/5f09daea7e708231d428d17c/html5/thumbnails/24.jpg)
InstantiationGetting rid of variables: instantiate a variable to a literal.Universally quantified:!!!!!!!!For every object in the KB, just write out the rule with the variables substituted.
8x, Fruit(x) =) Tasty(x) Fruit(Apple) =) Tasty(Apple)
Fruit(Orange) =) Tasty(Orange)
Fruit(MyCar) =) Tasty(MyCar)
Fruit(TheSky) =) Tasty(TheSky)
![Page 25: First-Order Logic - Duke UniversityModels for First-Order Logic Recall from Propositional Logic! A model is a formalization of a “world”: • Set the value of every variable in](https://reader030.vdocuments.site/reader030/viewer/2022040308/5f09daea7e708231d428d17c/html5/thumbnails/25.jpg)
InstantiationExistentially quantified:
• Invent a new name (Skolem constant) !
!
!
!
!
!• Name cannot be one you’ve already used.• Rule can then be discarded.
9x,Car(x) ^ ParkedIn(x,E23)
Car(C) ^ ParkedIn(C,E23)
![Page 26: First-Order Logic - Duke UniversityModels for First-Order Logic Recall from Propositional Logic! A model is a formalization of a “world”: • Set the value of every variable in](https://reader030.vdocuments.site/reader030/viewer/2022040308/5f09daea7e708231d428d17c/html5/thumbnails/26.jpg)
PROLOGPROgramming in LOGic (Colmerauer, 1970s)
• General-purpose AI programming language• Based on First-Order Logic• Declarative
!• Use centered in Europe and Japan• Fifth-Generation Computer Project
!• Some parts of Watson (pattern matching over NLP)• Often used as component of a system.