-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How are axiomatic theories represented? #32
Comments
I would like to shed some light here. Is the publication (e.g. in a text file or in the TPTP format) of a raw list of axioms used in many GFO publications even in the interest of the research group? Having such a list would enable further use cases, such as using Vampire to run further analysis, evaluation etc. |
What do you suggest when I want to work with GFO axioms written in DL/FOL as well as the OWL ontology (base Would it make sense to you to "port" them into the OWL ontology in some way so there is one single point of truth? Benefits might be:
Here is a rough example how to implement it in OWL using the TPTP format for FOL/DS formulas: :MaterialContinuant
tptp:formula
"fof (foobar, axiom, ! [X]: MaterialContinuant(X) => MaterialObject(X) | MaterialAggregate(X) | MaterialPart(X))." . One could write a program to read all GFO axioms, create a temp file and feed it to a theorem prover such as Vampire to run some checks. |
@Onto-Med/gfo-developer |
What do you mean with |
To make sure they don't miss your question, I've pinged the GFO developers. |
I've started to play around with just 4 GFO axioms in TPTP + Vampire (https://github.com/vprover/vampire). In the following a summary, but you can find my test code here: https://github.com/k00ni/GFO/tree/feature/axiom-list (e.g. axioms.p). Build the docker container by running The 4 GFO axioms are:
(Source: General Formal Ontology (GFO) Part I: Basic Principles (2006), https://www.onto-med.de/sites/www.onto-med.de/files/files/uploads/Publications/2006/om-report-no8.pdf) Here is the TPTP version of these axioms:
For axiom Here is the whole Vampire call:
Vampire seems to be very fast (by their own words), but if it already takes so much time just for 4 axioms, how much does it need for all the others? This leads to the question if and how the GFO developers evaluate their own FOL-formulas? |
Small update: I tried it with SMT-Lib's Z3 and got it to return "sat" (satisfiable). SMT-code is new to me, so I generated it using Copilot. After a few rounds of trial and error I got the following. At first glance it seems to be a correct "translation" of the four axioms from above. (set-logic AUFLIA)
; Definitionen für set, item, member
(declare-fun set (Int) Bool)
(declare-fun item (Int) Bool)
(declare-fun member (Int Int) Bool)
; Axiom 1: ∃x(set(x)) ∧ ¬∃x(set(x) ∧ item(x))
(assert (and (exists ((x Int)) (set x))
(not (exists ((x Int)) (and (set x) (item x))))))
; Axiom 2: set(x) ∧ set(y) → (x = y ↔ ∀u(member(u, x) ↔ member(u, y)))
(assert (forall ((x Int) (y Int))
(or (not (and (set x) (set y)))
(and (= x y) (forall ((u Int)) (= (member u x) (member u y)))))))
; Axiom 3: ∀x y(item(x) ∧ item(y) → ∃z(set(z) ∧ ∀u(member(u, z) ↔ (u = x ∨ u = y))))
(assert (forall ((x Int) (y Int))
(or (not (and (item x) (item y)))
(exists ((z Int)) (and (set z) (forall ((u Int)) (= (member u z) (or (= u x) (= u y)))))))))
; Axiom 4: ∃x(set(x) ∧ ∀u(member(u, x) ↔ item(u)))
(assert (exists ((x Int))
(and (set x)
(forall ((u Int)) (= (member u x) (item u))))))
(check-sat) (Code can be found here: https://github.com/k00ni/GFO/blob/feature/axiom-list/axioms.smt2) So maybe Z3 is to be preferred in this regard instead of Vampire. |
Hi @k00ni - there's nothing wrong with your axioms that I can see (although we may be able to optimise - see later), but what you are asking Vampire to do is "check their consistency by trying to derive falsum" - which Vampire will try very hard to do (try What you likely want to do is to prove some conjecture from these axioms, which Vampire will find much faster. If you really want to check their consistency, try the finite model builder: A side note about your axioms. TPTP supports a typed language, and your |
The text was updated successfully, but these errors were encountered: