Formal Ontology Training - Exercises

This course is about formal ontology - the representation of the world in large theories coded in mathematical logic. We will use the Suggested Upper Merged Ontology (SUMO)

Exercises

Use the "KB term" field in Sigma to find the term "Planning". What is it a subclass of?

Use the "KB term" field in Sigma to call up the page for the "part" relation. Find the rule in which the term appears at line 514-518 of Geography.kif.

Exercise #1:

Represent the statements below in SUO-KIF syntax. You may be able to do this just by looking at examples in the SUMO browser (type terms like "Object", "part", "Table" into the "KB term" field). You can also use the SUO-KIF manual as a reference.

Please email me your exercises. Feel free to ask questions!

Exercise #2

Exercise #3:

Find appropriate "parent" terms in SUMO for the following: crater, nosh, fault line, biohazard, to peep, to thud

Represent the statements below in SUO-KIF syntax and terms from SUMO whenever possible

The next few are harder - represent the following in SUO-KIF and SUMO: Create a very basic definition for kangaroo, consisting of at least the following statements in SUO-KIF and SUMO, paying careful attention to strictly correct syntax.

The following are harder, and may be considered "extra credit"

Exercise #4:

Add a WordNet-SUMO mapping for kangaroo by editing the wordnet noun file. Restart Sigma and verify that it loads the new mapping. A prerequisite for this exercise is having Sigma running on your laptop. Follow the instructions in the Sigma User Guide to install Sigma

Exercise #5:

Convert to CNF:

((((![X]:a(X))|b(X)) | (?[X]:(?[Y]:p(X,f(Y))))) <=> q(g(a),X))
Exercise #6:

You'll create a file with the following inference test for E, which is presented simplified first here:

p(X) => q(X)
q(X)|r(X) => t(X)
p(a)

t(a) | r(a)        - conjecture
TPTP languages require all quantifiers to be explicit though:
![X]:p(X) => q(X)
![X]:q(X)|r(X) => t(X)
p(a)

t(a) | r(a)        - conjecture
And the actual test file requires some syntactic "wrappers" around the formulae>
fof(ax1,axiom, ![X]:(p(X) => q(X))).
fof(ax2,axiom, ![X]:((q(X)|r(X)) => t(X))).
fof(ax3,axiom, p(a)).
fof(ax4,axiom, ~(t(a) | r(a) )).
Save this file as ex.tptp. Run the following command line invocation (changing the path to eprover as needed in your installation) for Linux to run the prover and generate a proof.
/home/user/Programs/E/PROVER/eprover -auto --tptp3-format -l 2 ex.tptp

Can you follow the proof and see why a contradiction follows from the four formulas in the input? You can get many more test problems from the TPTP

References and Resources

Books

This is just the list of hardcopies. I'd also suggest reading of some of my application papers that are available on the web.

Syllabus

contact: Adam Pease web