How to prove that something can *not* be translated into description logic?

你说的曾经没有我的故事 提交于 2019-12-24 10:11:07

问题


My intuition says that it is not possible to translate the sentence

all red cars are better than all blue cars

into description logics (in FOL this would be

∀x∀y (red(x) ∧ blue(y) → better(x,y))

interpreted in the domain of cars). Indeed, the only construction that is a complete binary relation containing all pairs of elements of the domain is the universal role U. I don't see how to ask for all pairs of elements of the set red on the left and elements of the set blue on the right, i.e., how to restrict U to a specific set of predecessors and successors.

But not seeing how to do it is not proof that it is not possible. Therefore my question: when you work with a specific kind of description logic (for example SROIQ as described here), how do you prove that it is impossible to represent a given natural language sentence or FOL formula in it?


回答1:


Proving that something cannot be expressed in a description logic is difficult. There are several ways to do it. For instance, consider the fragment of FOL that can express all of SROIQ, add to it the fragment of FOL that covers your case, and study the complexity of the resulting logic. If the complexity is strictly higher than the one of SROIQ, then clearly SROIQ is insufficient to express what you want. You could also study the shapes of the models. For instance, in ALC, there are always finite models of any consistent KB. If by adding new constructs you can show that there must be infinite models, then you can't express your constructs in ALC. Etc.

Back to your specific case where all red cars are better than all blue cars (a statement that is highly debatable!). You con't prove that it cannot be expressed in SROIQ because it can! This kind of constructs (called concept-product because it corresponds to a carthesian product of two classes, namely red and blue in your case) is addressed by a 2008 research paper titled All elephants are bigger than all mice by Rudolph, Krötzsch, and Hitzler. The paper proves that concept-products can be expressed in OWL 2 DL and explains how it can be done in general.

This is done as follows in OWL, serialised in the Turtle syntax (:r1 and :r2 must be fresh role names, not used anywhere else, and :x must be a fresh individual name, not used elsewhere):

:r1 a owl:ObjectProperty .
:r2 a owl:ObjectProperty .
:x a owl:Thing .
:better a owl:ObjectProperty;
    owl:propertyChainAxiom (:r1 :r2) .
:Red a owl:Class;
    rdfs:subClassOf [
        a owl:Restriction;
        owl:onProperty :r1;
        owl:hasValue :x
    ] .
 :Blue a owl:Class;
    rdfs:subClassOf [
        a owl:Restriction;
        owl:onProperty [owl:inverseOf :r2];
        owl:hasValue :x
    ] .


来源:https://stackoverflow.com/questions/43698223/how-to-prove-that-something-can-not-be-translated-into-description-logic

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!