- 77 Views
- Uploaded on
- Presentation posted in: General

First-Order Logic

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

First-Order Logic

- Suppose you want to say “All humans are mortal”
- In propositional logic, you would need ~6.7 billion statements

- Suppose you want to say “Some people can run a marathon”
- You would need a disjunction of ~6.7 billion statements

- Propositional logic assumes the world consists of atomic facts
- First-order logic assumes the world contains objects, relations, and functions

- Constants:John, Sally, 2, ...
- Variables:x, y, a, b,...
- Predicates:Person(John), Siblings(John, Sally), IsOdd(2), ...
- Functions:MotherOf(John), Sqrt(x), ...
- Connectives:, , , ,
- Equality:=
- Quantifiers:,
- Term:Constant or Variableor Function(Term1, ... , Termn)
- Atomic sentence:Predicate(Term1, ... , Termn)or Term1 = Term2
- Complex sentence: made from atomic sentences using connectivesand quantifiers

- Sentences are true with respect to a model and an interpretation
- Model contains objects (domainelements) and relations among them
- Interpretation specifies referents for
constantsymbols→objects

predicatesymbols→relations

functionsymbols→functional relations

- An atomic sentence Predicate(Term1, ... , Termn) is true iffthe objects referred to by Term1, ... , Termnare in the relation referred to by predicate

- x P(x)
- Example: “Everyone at UNC is smart”
x At(x,UNC) Smart(x)

Why not x At(x,UNC) Smart(x)?

- Roughly speaking, equivalent to the conjunction of all possible instantiations of the variable:
[At(John, UNC) Smart(John)] ...

[At(Richard, UNC) Smart(Richard)] ...

- x P(x)is true in a model m iffP(x)is true with x being each possible object in the model

- x P(x)
- Example: “Someone at UNC is smart”
x At(x,UNC) Smart(x)

Why not x At(x,UNC) Smart(x)?

- Roughly speaking, equivalent to the disjunction of all possible instantiations:
[At(John,UNC) Smart(John)]

[At(Richard,UNC) Smart(Richard)] …

- x P(x) is true in a model m iffP(x)is true with x being some possible object in the model

- x y is the same as yx
- x yis the same as yx
- x yis not the same as yx
x y Loves(x,y)

“There is a person who loves everyone”

yx Loves(x,y)

“Everyone is loved by at least one person”

- Quantifier duality: each quantifier can be expressed using the other with the help of negation
x Likes(x,IceCream)x Likes(x,IceCream)

x Likes(x,Broccoli)xLikes(x,Broccoli)

- Term1= Term2is true under a given model if and only if Term1and Term2refer to the same object
- E.g., definition of Sibling in terms of Parent:
x,ySibling(x,y) [(x = y) m,f(m = f) Parent(m,x) Parent(f,x) Parent(m,y) Parent(f,y)]

- Brothers are siblings
x,y Brother(x,y) Sibling(x,y)

- “Sibling” is symmetric
x,y Sibling(x,y) Sibling(y,x)

- One's mother is one's female parent
m,c(Mother(c) = m) (Female(m) Parent(m,c))

- s Set(s) (s = {}) (x,s2 Set(s2) s = {x|s2})
- x,s {x|s} = {}
- x,s x s s = {x|s}
- x,s x s [ y,s2(s = {y|s2} (x = y x s2))]
- s1,s2 s1 s2 (x x s1 x s2)
- s1,s2 (s1 = s2) (s1 s2 s2 s1)
- x,s1,s2 x (s1 s2) (x s1 x s2)
- x,s1,s2 x (s1 s2) (x s1 x s2)

- FOL permits quantification over variables
- Higher order logics permit quantification over functions and predicates:
P,x [P(x) P(x)]

x,y (x=y) [P (P(x)P(y))]