Knowledge Representation & Reasoning
Discrete Structures

# Representing English Sentences in FOL

 Last Update: 27 February 2005 Note: or material is highlighted

This document uses "pretend-it's-English" semantics, for convenience only :-)

EnglishFOL
Mark Twain is wiseWise(mt)
Mark Twain is Samuel Clemensmt = sc
All dogs are animals x[Dog(x) Animal(x)]
Some dogs are pets. x[Dog(x) ^ Pet(x)]
No dogs are fish.¬ x[Dog(x) ^ Fish(x)]
All dogs are not fish. x[Dog(x) ¬Fish(x)]
Some dogs are not pets. x[Dog(x) ^ ¬Pet(x)]
No dogs are not mammals.¬ x[Dog(x) ^ ¬Mammal(x)]
Not all dogs are pets.¬ x[Dog(x) Pet(x)]
All that glitters is not gold.¬ x[Glitters(x) Gold(x)] (!)
Every boy loves a girl. x[Boy(x)  y[Girl(y) ^ Loves(x,y)]]
(There is) A girl (who) is loved by every boy. y[Girl(y) ^ x[Boy(x) Loves(x,y)]]
Everyone loves someone. x y.Loves(x,y)
Someone is loved by everyone. y x.Loves(x,y)
There is exactly one P. x[P(x) ^ y[P(y) y=x]]
The present King of France is bald. x[is_a_present_king_of_France(x) ^ y[is_a_present_king_of_France(y) y=x] ^ Bald(x)]
The present King of France is not bald. x[is_a_present_king_of_France(x) ^ y[is_a_present_king_of_France(y) y=x] ^ ¬Bald(x)]
The present King of France is not bald.¬ x[is_a_present_king_of_France(x) ^ y[is_a_present_king_of_France(y) y=x] ^ Bald(x)]
John goes to school.Goes(john, school) (?)
John goes to school.Goes(john-3, school-173) (?)
John goes to school. x[Named(x, "John") ^ y[School(y) ^ Goes(x,y)]]
or x y[Named(x, "John") ^ School(y) ^ Goes(x,y)]

Need an ontology of names!

John goes to school.above, conjoined with:
Person(x) ^ Male(x) ^ z[School(z) ...]
John sold a book to Mary. x y z[Named(x, "John") ^ Named(y, "Mary") ^ Book(z) ^ Sold(x,y,z)]
John sold a book to Mary. x y z t[Time(t) ^ Named(x, "John") ^ Named(y, "Mary") ^ Book(z) ^ Sell(x,y,z,t) ^ Before(t,n) ^ Now(n)] (?)

Need an ontology of time!

Mary bought a book from John.As above
and/or x y z[Sold(x,y,z) Buy(y,x,z)]