<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>July</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Building an Ontology of Computational Complexity</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Anton Gnatenko</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Oliver Kutz</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nicolas Troquard</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Free University of Bozen-Bolzano</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Gran Sasso Science Institute</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2024</year>
      </pub-date>
      <volume>1</volume>
      <fpage>5</fpage>
      <lpage>19</lpage>
      <abstract>
        <p>The field of computational complexity theory is a core theoretical subject in computer science with significant impact also for real-world applications. Although a plethora of individual results are known, the conceptual organisation of this knowledge is still lacking. We propose the first steps towards creating an ontologically well-founded knowledge base for the theory of computational complexity that will allow storing, querying and reasoning over the vast knowledge of algorithmic problems, complexity classes and their relationships, developed by human experts. We determine the core concepts and relations of complexity theory and model them on two levels of approximation: the description logic S ROI Q (a.k.a. OWL 2 DL) and first-order logic. Finally, we point out a number of phenomena that require more expressive formalisms beyond the first-order paradigm.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Domain modelling</kwd>
        <kwd>computational complexity</kwd>
        <kwd>description logic</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. History and Motivation</title>
      <p>and compare algorithms and decision problems based on the computational resources they require.</p>
      <sec id="sec-1-1">
        <title>This is the field of computational complexity.</title>
        <p>At the centre of research in the theory of computational complexity, or complexity theory,
for short, are the complexity classes, i.e. collections of problems that feature the same inherent
complexity. Throughout more than half a century of its history, the concept of computational
complexity has grown refined and detailed, with many definitions depending on diverse models
of computation (deterministic, nondeterministic, and probabilistic machines, alternating
computations, Boolean and quantum circuits, interactive protocols, etc.) as well as different measures of
complexity (time and space, circuit size and depth, the number of random coin tosses used in
a computation, the number of messages exchanged between communication agents, and many
more). All of this generates a vast variety of complexity classes related to each other in an intricate
manner. The discoveries in the field feature both general theorems, that refer to the properties of
whole families of complexity classes, as well as concrete facts about mutual connections between
two classes or a class and a problem.
what’s known in one unwieldy HTML file”. 1</p>
        <p>In a welcome statement to the Complexity Zoo, a website that attempts to collect all the known
results in the field with comments and references, its creator Scott Aaronson writes: “I spent
a week trying to put AM outside QMA relative to an oracle, only to learn that this followed
trivially from two known results. ⟨. . . ⟩ Some theorists seem able to hold in their minds, in one
instant, the results of every FOCS, STOC, and Complexity paper ever published. ⟨. . . ⟩ I am not
one of those theorists. ⟨. . . ⟩ And so it’s largely for my own benefit that I recorded a chunk of</p>
        <p>The Zoo made the life easier for many complexity theorists and many more researchers in
other areas of computer science, including the authors of this article. However, it has all the
standard drawbacks of old-fashioned plain-text knowledge. First, it does not contain the structural
information: if the class P is a subset of the class NP, one can read it in the class description,
but the very fact that P ⊆</p>
        <sec id="sec-1-1-1">
          <title>NP is not stored there explicitly, it cannot be searched for or used as</title>
          <p>part of a more complex query. In fact, there is no way to query the Zoo data apart from using
textual search. Second, it is not protected from errors or typos: should someone accidentally
⊈
write that P</p>
          <p>NP, no one apart from a human user would be able to detect it and report it as a
problem. Finally, even though the Zoo can provide the reader with facts and details that help to
establish previously unknown relationships between complexity classes, there is no way to do
this automatically by inferring new facts from given ones.</p>
          <p>We aim at creating a semantic Complexity Zoo, a knowledge graph populated with decision
problems and complexity classes, formalising their properties and relations, and equipped with an
ontology that provides the semantics and allows the use of off-the-shelf reasoners for query
answering, consistency checking and inference tasks. In fact, some of the phenomena of complexity
theory, such as infinite hierarchies of complexity classes, actually
require ontological axioms
even to be described, since they can not be fully represented in the data for obvious reasons. A
modest target is building a system capable of answering simple queries and making visualisations,
thus facilitating the search of information for researchers and students. An ambitious goal is
1See https://complexityzoo.net/Complexity_Zoo_Introduction. AM and QMA are complexity classes, FOCS is the
IEEE Symposium on Foundations of Computer Science, STOC—the ACM Symposium on Theory of Computing,
and ‘Complexity’ refers to the Computational Complexity Conference.
using it to discover previously unknown, even if simple, facts of the complexity world that follow
from the existing results, but that have been overlooked so far.</p>
          <p>
            This paper is the first step on this way. We discuss an approach to ontological modelling of
complexity theory phenomena that is compatible with practical ontological languages and tools,
such as OWL 2 [
            <xref ref-type="bibr" rid="ref4">4</xref>
            ] and FOWL [
            <xref ref-type="bibr" rid="ref5">5</xref>
            ]. The latter is a framework for incorporating first-order axioms
into an OWL 2 ontology and alternating between reasoning in a restricted OWL 2 setting or with
the full power of first-order logic.
          </p>
          <p>
            Our work uses elements of Semantic Web technologies and addresses issues of foundational
ontologies and the philosophy of mathematics, similar to efforts in formalised mathematics [
            <xref ref-type="bibr" rid="ref6">6</xref>
            ].
One of the few examples of ontologies pursuing a similar goal is ‘OntoMathPRO’ [
            <xref ref-type="bibr" rid="ref7">7</xref>
            ], however
they do not address computational complexity directly. Indeed, we are not aware of any work that
specifically addresses the ontological modelling challenges of computational complexity theory,
particularly aimed at concretely modelling the existing factual data.
          </p>
          <p>
            In contrast, many ontological investigations into mathematical objects focus on foundational
issues revolving around set theory, categories, and numbers, and explore the classical
philosophical dilemma asking how abstract objects can be so effective and seemingly indispensable in the
systems of modern physics, see [
            <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
            ]. Our goal here is more modest, namely to address the gap
of ontologically adequate formal modelling of a particular branch of mathematics, complexity
theory, so that it can be faithfully and efficiently used in practice.
          </p>
          <p>In Section 2, we introduce, more formally, the notions of complexity theory and highlight the
problems that arise when modelling them in an ontology. After that, in Section 3 we axiomatise
the domain using a FOWL-inspired approach, that is, writing simpler axioms in OWL 2 DL and
the more involved ones in first-order logic. We outline a couple of cases where the power of
firstorder logic is yet not enough to capture them. The presentation is wrapped up in Section 4 where
we briefly discuss possible ways of further deepening and broadening our ontology, including
extending it with a second-order layer to express more subtle details of complexity theory.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. The Domain of Computational Complexity</title>
      <p>
        The primary objects studied in complexity theory are decision problems and complexity classes.
We start with the definitions. Let f be a mapping {0, 1}∗ → {0, 1}∗ , i.e. a mapping of finite
bit-strings to finite bit-strings. Following the tradition, we will call these bit-strings “words”.
An algorithm computes a function f if on any input word w it outputs f (w). In this article, we
will use the notion of Turing machine, which is the most common model of computation, to
formalise the term “algorithm”, although we plan to include other models to our ontology in the
future. For an algorithm formulated as a Turing machine M, the time complexity is a mapping
TM : N → N, such that on an input word of length n the machine performs at most TM(n) steps
before halting. Space complexity, instead, gives the upper bound on the number of tape cells
used by the machine on an input of length n. The machine itself may be standard deterministic,
with no additional features, or allowed to use extra computational powers such as the ability to
correctly “guess” some useful information (non-deterministic machines), or use randomness to
facilitate its computations (probabilistic machines), etc. Apart from complexity of individual
algorithms, computational problems themselves have a kind of inherent complexity, as observed
by Hartmanis and Stearns [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The time (space) complexity of a function f is defined as the
minimal time (respectively, space) complexity of an algorithm that computes it.
      </p>
      <p>
        Traditionally, complexity theorists consider a simpler kind of bit-string functions, whose output
consists of just one bit. Such a function a : {0, 1}∗ → {0, 1} is called a decision problem (or
just a problem), since a can be viewed as a characteristic function of a set, and to compute a
means to “decide” whether the input is in that set. We thus write w ∈ a and w ∈/ a if, respectively,
a(w) = 1 and a(w) = 0. A famous example of a decision problem is SAT: given a Boolean
formula, decide whether it is satisfiable. Complexity classes, or just classes, for brevity, are
defined as sets of decision problems. For example, P is the class of problems decidable by a
deterministic Turing machine in polynomial time. Another related class, NP, contains problems
decidable in polynomial time by a non-deterministic Turing machine. PSPACE is the class of
problems decidable by a deterministic Turing machine using polynomial space. We invite the
reader to consult Arora and Barak [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] for a detailed presentation of the domain.
2.1. Modelling the Basics of Complexity Theory
We describe the main relations, facts, and theorems of computational complexity that, in our
opinion, constitute the “core knowledge” about complexity that we would like to represent in our
ontology, and outline which challenges arise from it.
2.1.1. Problems, Classes, and Their Relationships
The universe of complexity theory contains entities of different types. For example, there are
decision problems, and there are classes, that are sets of problems. A problem may be or may be
not an element of a class, but for two classes such a question does not make sense. This difference
must be preserved in the ontology and standard relations shall be axiomatised in order to respect
it.
      </p>
      <sec id="sec-2-1">
        <title>Challenge 1. Handling objects of different types.</title>
        <p>
          Problems are members of classes, and classes can contain, or be subsumed by, other classes.
Some set-theoretic relations between them already constitute theorems of complexity theory. For
example, it is an easy consequence of the definitions that SAT ∈ NP and P ⊆ NP, but it requires
some effort to show PSPACE ⊆ EXPTIME, i.e. that every problem decidable in polynomial space
is also decidable in exponential time. Moreover, we know that if SAT ∈ P then P = NP [
          <xref ref-type="bibr" rid="ref11 ref12">11, 12</xref>
          ].
On the other hand, if SAT ∈/ P then P ̸= NP. These are negative statements that are nonetheless
important for working in complexity theory. Therefore, set-theoretic relations and their negative
counterparts should be the basis of the ontology.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Challenge 2. Representing and reasoning about basic set-theoretic relations where both the</title>
        <p>elements and the sets are objects of the ontology.
2.1.2. Infinite Constructions
Typically, a complexity class is defined with respect to a particular computation model, particular
kind of complexity (e.g. time or space) and a bound on that complexity. In this first version of our
ontology we will focus on various Turing machines as the models, and time and space
complexities. However, for the bounds things are more interesting. Every function g : N → N gives rise to
classes DTIME(g) (that of problems decidable in time αg(n) + β , α, β ∈ N, by a deterministic
Turing machine), NTIME(g) (the same for nondeterministic Turing machines, which accept
if they are able to guess a way to the accepting state), CONTIME(g) (for co-nondeterministic
machines, that accept if all their guesses bring them to an accepting state), and ATIME(g) (for
alternating machines, that switch between nondeterministic and co-nondeterministic computations),
as well as their counterparts for space complexity: DSPACE(g), NSPACE(g), CODSPACE(g) and
ASPACE(g). Some of the fundamental theorems make use of this notation. For example, the time
hierarchy: if g(n) = o(h(n) · log n), then DTIME(n) ⊊ DTIME(h), or the similar space hierarchy:
if g(n) = o(h(n)), then DSPACE(n) ⊊ DSPACE(h). Other examples include the famous Savitch
theorem: NSPACE(g) ⊆ DSPACE (︁ g2)︁ , or the standard inclusions DTIME(g) ⊆ DSPACE(g) and
a bit more involved DSPACE(g) ⊆ DTIME (2g). However, most of complexity theory is built
around “classes” of bounds: constant, logarithmic, polynomial, exponential, double exponential,
and so on, with larger complexity classes defined as, e.g., P = ⋃︁k∈N DTIME (︁ nk)︁ . Therefore, we
can provide a less fine-grained representation of complexity bounds and the related theory, but
we will anyway need to model an infinite sequence of these “classes” of complexity bounds.</p>
      </sec>
      <sec id="sec-2-3">
        <title>Challenge 3. Representing infinite sequences of objects and relations between these objects that</title>
        <p>depend on their positions in the sequence.</p>
        <p>
          Some of the classes are defined as infinite hierarchies themselves, i.e. sequences of smaller
classes each of which may be of separate theoretical and practical interest. Take, for example,
tahnedpΠol0py⊆nomΠi1pa⊆l hΠier2pa⊆rch. y.,. .PHEa.cIhtcΣokpns(︁ iΠstskp)︁ ofistwaocilnafinssiteofchparoinbsleomfscldasesceids,ablΣe0p b⊆y Σa1pp⊆ olyΣn2po⊆
mi.a.l.time alternating Turing machine that starts in the nondeterministic mode (respectively, the
co-nondeterministic mode) and performs k alternations (see Chandra and Stockmeyer [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ],
Stockmeyer [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] for more details). Therefore, Σkp ⊆ Πkp+1 and Πkp ⊆ Σkp+1. So the union of all
{Σkp}i⩾0 equals the union of all {Πkp}i⩾0, and that union is denoted by PH. This gives another
challenge: we must state that if a ∈ Σp, then a ∈ PH, and vice versa, if a ∈ PH, then there exists
k
Σkp that contains a. The latter is non-trivial: this Σkp must exist not just somewhere in the object
universe, but in the sequence of the polynomial hierarchy. Thus, PH is defined as sort of a ‘limit’
of Σkp with respect to ⊆ : to define it, we need to talk about the ‘whole’ sequence as a second-order
entity, not just its separate members.
        </p>
      </sec>
      <sec id="sec-2-4">
        <title>Challenge 4. Axiomatising second-order properties.</title>
        <p>
          2.1.3. Relations of Higher Arity
Arguably, the notions of complexity theory that are the most famous and useful for general
computer science are those of reductions and hardness. A problem a is reducible to a problem b
if there is a function r, called reduction, such that for every word w we have w ∈ a ⇐⇒ r(w) ∈ b
(this definition is due to Karp [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]). An algorithm that solves b can be used to solve a, save
the fact that one needs first to compute the result of applying r to the input word. Therefore,
reducibility is always considered in complexity theory with respect to a certain complexity bound.
Most of the standard textbook results concentrate on reductions computable by deterministic
Turing machines in polynomial time or logarithmic space [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], although some other types of
reductions are widely used in specific fields, such as first-order reductions in database theory [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ].
A problem a is hard for a class A with respect to a particular kind of reductions, if every problem
in A is reducible to a using the reductions of that kind. A complete problem for A is such that is
hard for A and itself a member of A. Complete, and, in general, hard problems play a crucial role
in complexity theory, since they allow in many cases the reduction of the reasoning about classes
to that of individual problems. Indeed, as we mentioned earlier, it sufcfies to prove or disprove
SAT ∈ P to argue that P equals (or is not equal to) NP. Reducibility and hardness are, even if
it is not always highlighted, relations of arity 3: they are characterised also by the complexity
of reductions they use. Moreover, they may have interesting properties, e.g. a composition of
polynomial-time reductions is itself a polynomial-time reduction.
        </p>
        <p>There is a more general notion of reductions between problems, called Turing reducibility (as
opposed to Karp reducibility discussed above). Instead of converting an input for a to an input for
b and then using the algorithm for b, Turing allows calling the algorithm for b arbitrarily many
times in the process of solving a. It is usually assumed that a call to the algorithm for b can be
performed within one step of computation. In this case, we say that we are solving a relative to
an oracle b, as if we had an access to a powerful being that could instantly decide the problem
b whenever requested. This notion gives rise to many more complexity classes: for any class A
and any problem b there is a class Ab of problems that are decidable under the restrictions of A
given the access to the oracle b. Moreover, for a class B we define AB = ⋃︁b∈B Ab. Many results
of complexity theory feature oracles, e.g. the Baker-Gill-Solovay Theorem: there are oracles a
and b such that Pa = NPa and P ̸</p>
        <p>
          b = NPb [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]. This is a theorem about relations of arity 3.
        </p>
      </sec>
      <sec id="sec-2-5">
        <title>Challenge 5. Representing relations of arity higher than 2 and theorems about them.</title>
        <p>
          2.1.4. Conditional Statements
Complexity theory is rich with questions for which everyone believes in a certain answer but no
one can prove it. This leads to a generous supply of theorems of the form “if α then β ”, where α
and β are certain statements. These theorems state a relationship between two assertions, rather
than prove a particular assertion itself. For example, if NP ⊆ CONP then NP = CONP, P = NP
then EXPTIME = NEXPTIME. If NP ⊆ P/Poly then AM = MA. The first statement is an easy
corollary of the definitions, the second is a good example for the use of the so-called “padding
argument” [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], and the latter is due to Arvind et al. [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. Another, more involved, example
of a conditional statement is that if P ̸= NP then there exists a problem in NP \ P that is not
NP-complete (Ladner’s Theorem) [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ].
        </p>
      </sec>
      <sec id="sec-2-6">
        <title>Challenge 6. Representing conditional statements.</title>
        <p>In the next section we address these challenges from the FOWL perspective.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Formalisation in Ontology Languages</title>
      <p>
        The “real-world” ontology languages, e.g. description logics (DLs) [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] and related formalisms
such as OWL 2 [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], are limited to work with binary relations, while, as we have discussed
in Section 2.1.3, some of our relations are ternary. This limitation can be circumvented via
techniques like reification [
        <xref ref-type="bibr" rid="ref20 ref21">20, 21</xref>
        ], but only to a certain extent. Second, even the most expressive
DLs, such as S ROI Q [
        <xref ref-type="bibr" rid="ref22 ref23">22, 23</xref>
        ], put a lot of restrictions on axiomatising binary relations. A
simple example of this is the equality relation. As a set-theoretic relation between classes, it should
be in a correspondence to the subset relation, i.e. we would like to say equals ≡ subset ⊓ subset− ,
but S ROI Q does not have the construct ⊓ to express the intersection of binary relations.
      </p>
      <p>
        Issues of this kind have recently received considerable attention in the literature [
        <xref ref-type="bibr" rid="ref24 ref5">24, 5</xref>
        ].
Experiments suggest that formulating the forbidden axioms in first-order logic allows one to
perform many inferences and query answering, using a first-order prover, in acceptable time.
Specifically, the tool presented by Flügel et al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] allows the user to write first-order axioms
as annotations in an .owl file, and then use, depending on one’s needs, OWL reasoners with
the part of the ontology written in OWL, or Vampire, a first-order reasoner [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ], on the whole
ifrst-order ontology. With this approach at hand, we turn to writing down the axioms.
3.1. Axioms
We go through the challenges listed in Section 2, repeating them and providing (partial) solutions.
We use S ROI Q, where possible, but retreat to first-order logic when necessary. The reader is
invited to consult Rudolph [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] for a detailed definition of S ROI Q.
3.1.1. Problems, Classes, and Their Relationships
Types of objects can be naturally represented by using disjoint concepts, addressing Challenge 1.
For example, for problems and classes we use concepts Prob and Class, and state that their
intersection is an empty concept:
      </p>
      <p>Prob ⊓ Class ⊑ ⊥</p>
      <p>As for Challenge 2, the set-theoretic relations can be naturally viewed from a second-order
perspective. To stay on the first-order and even description logic level, we simulate the
secondorder relations ∈ and ⊆ via dedicated binary relations (or roles, as binary relations are called in
description logics) ‘in’ and ‘subset’. In fact, there is not much that we want from these roles. The
subset relation is transitive, and the composition of ‘in’ and ‘subset’ gives a ‘in’:
(1)
(3)
(4)
(5)
We also ensure that these roles respect types of the objects, e.g. the domain of ‘in’ consists of
problems and its range—of classes, while for ‘subset’ both the domain and the range are restricted
to the objects of type Class:
∃in ⊑ Prob
∃subset ⊑ Class</p>
      <p>∃in− ⊑ Class
∃subset− ⊑ Class
Simulating equality of classes is less easy. Indeed, we can introduce a role ‘equals’, but the only
thing we can say is that it is a sub-relation of both the subset and the superset relations:
subset ◦ subset ⊑ subset
in ◦ subset ⊑ in
(2)
equals ⊑ subset
equals ⊑ subset−
and on the first-order level we can use negation to say that strictSubset(A, B) requires that B is
larger than A:</p>
      <p>∀x, y . strictSubset(x, y) =⇒ ∃z . in(z, y) ∧ ¬in(z, x)
The “full” semantics of equality require reasoning about the intersection of roles ‘subset’ and
‘subset− ’, which is not allowed in S ROI Q. We thus add a first-order axiom:
∀x, y . equals(x, y) ⇐⇒ subset(x, y) ∧ subset(y, x)
We can describe other peculiar relations in the same way, such as the strict subset relation. In
S ROI Q, we can say that it is a sub-relation of ‘subset’:
strictSubset ⊑ subset
(6)
(7)
(8)
3.1.2. Infinite Constructions
As we have mentioned in Section 2.1.2, every function N → N defines a complexity bound, but
most of the theory is built around “classes” of bounds on time or space: constant, logarithmic,
polynomial, exponential, double-exponential, triple-exponential, and so on, where by k-exponential
bound we mean the function exp(n, k) defined as exp(n, 1) = 2n and exp(n, k + 1) = 2exp(n,k).
Of course, the countable sequence of k-exponentials does not exhaust the world of complexity
bounds that are present in the literature, but they are enough to represent most of the results. We
come back to this question in Section 4.</p>
      <p>We suggest to represent each “class” of complexity bounds by an individual, and subsequent
bounds (such as logarithmic and polynomial, or k-exponential and k + 1-exponential, are
connected by a functional role ‘nextBound’. Moreover, since we can not explicitly list the whole
sequence in the data, we need this role to create an infinite chain. This is done by saying
that no object has two or more outgoing or incoming ‘nextBound’ roles, and that an incoming
‘nextBound’ implies the existence of an outgoing one:
⩾ 2 nextBound ⊑ ⊥
⩾ 2 nextBound− ⊑ ⊥
∃nextBound− ⊑ ∃nextBound
(9)
To create the sequence, we only need to declare the existence of an outgoing ‘nextBound’ for the
ifrst object:
∃nextBound(Const)
(10)
And to access any object in the chain, say the exponential bound, it suffices to list all the previous:
nextBound(Const, Log)
nextBound(Log, Poly)
nextBound(Poly, Exp)
(11)
Complexity classes can now be defined as individuals “attached” to the chain of bounds via
specific roles ‘dTime’, ‘nTime’, ‘conTime’, ‘aTime’, and ‘dSpace’, ‘nSpace’, ‘conSpace’, ‘aSpace’
(that are all required to be functional). For example, we assert dTime(P, Poly), and, similarly,
conTime(CONP, Poly), dTime(EXPTIME, Exp), dSpace(L, Log), and so on. We express the
properties discussed in Section 2.1.2 via role chains. For example, deterministic classes are
subsets of the respective non-deterministic classes, and a space class is always contained in the
time class with an exponentially higher bound:
dTime ◦ nTime− ⊑ subset
dSpace ◦ nextBound ◦ dTime− ⊑ subset
(12)
In particular, the second axiom of (12) ensures that if we go from PSPACE along ‘dSpace’ (arriving
at ‘Poly’), then along ‘nextBound’ (to ‘Exp’), and then backwards along ‘dTime’, we will end up
at an individual representing a superclass of PSPACE (in this case it will be the class EXPTIME).
Technically, by finding the described chain of three roles, we infer subset(PSPACE, EXPTIME).
The space and time hierarchies are similar:
dSpace ◦ nextBound ◦ dSpace− ⊑ strictSubset
dTime ◦ nextBound ◦ dTime− ⊑ strictSubset
Savitch theorem is more complicated. In our representation, it means that the role inclusion
nSpace ◦ dSpace ⊑ subset holds for all elements of the bounds sequence starting from ‘Poly’. To
handle this, we introduce a concept name ‘Savitch’ and assert that, first, it is true for ‘Poly’ and,
second, that it spreads along the ‘nextBound’ role, thus covering the whole chain from ‘Poly’ and
on:</p>
      <sec id="sec-3-1">
        <title>Savitch(Poly)</title>
        <p>Savitch ⊑ ∃nextBound.Savitch
That is, for any individual labelled with ‘Savitch’ there exists an outgoing ‘nextBound’ to another
individual with this label. Since ‘nextBound’ is functional by axioms (9), the label is inferred for
the next element in the chain. Finally, we must state that a role chain of nSpace ◦ dSpace− that
passes through the label ‘Savitch’ induces a subset relation. To do so, we introduce a new role
name ‘nSpaceSavitch’ and say:
⩾ 2 nSpace− ⊑ ⊥</p>
        <p>Savitch ⊑ ∃nSpace−Savitch
nSpaceSavitch ⊑ nSpace
Thus, the existence of ‘Savitch’, e.g., at ‘Poly’, creates an incoming role ‘nSpaceSavitch’, and by
design this role has to come along with the existing ‘nSpace’ role. Finally:
(13)
(14)
(15)
(16)
(17)
nSpaceSavitch ◦ dSpace− ⊑ subset
We believe that many theorems about hierarchies can be expressed using this approach. This
settles Challenge 3.</p>
        <p>Indeed, other hierarchies, such as PH, can be modelled in a similar way. We first create an
infinite chain of the levels of the hierarchy, where the ith level is represented by an object ℓi,
and the objects ℓk and ℓk+1 are connected by the ‘nextLevelPH’ role, that is functional in both
directions and has the same properties as ‘nextBound’ in (9). We start the chain at the level ℓ0 and
attach the class P to it by two parallel roles: sigmap(P, ℓ0) and pip(P, ℓ0). For the higher levels,
these two roles are used to connect to ℓk the two respective classes, Σk and Πkp. It is not hard to
p
express the subset relationships between these classes in the same fashion as we did before.</p>
        <p>There are two more tricky issues about PH. The first is that the whole hierarchy is contained in
PSPACE. This is easy to say in FOL, but we can also do it in S ROI Q. For that we introduce a
role ‘higherLevelPH’, define it as the transitive closure of ‘ nextLevelPH’, and use it to get from
any level of the hierarchy back to P, and then to PSPACE, via a suitable chain of roles:
nextLevelPH ⊑ higherLevelPH</p>
        <p>nextLevelPH ◦ higherLevelPH ⊑ higherLevelPH
sigmap ◦ higherLevel−PH ◦ sigmap− ◦ dTime ◦ dSpace− ⊑ subset
(18)
(19)
Read (19) as follows: from a class Σkp we step, via ‘sigmap’, to ℓk; from there we get down to ℓ0,
where we by ‘sigmap− ’ get to P; and from P we get to PSPACE via dTime ◦ dSpace− , passing
through the object ‘Poly’ in the chain of bounds.</p>
        <p>The second issue is exactly Challenge 4: to define the class PH itself as a “limit” point of the
sequence. In FOWL, we are able to give only a partial solution to this problem. Indeed, like
with PSPACE above, we can say that Σkp ⊆ PH for all k. However, it remains to state that PH
is subsumed by the union of Σkp, i.e. that if ‘in(a, PH)’ is true, then there exists Σkp in the chain
that contains a. We leave it as a question of further development and briefly discuss it again in
Section 4.
3.1.3. Relations of Higher Arity
We now settle Challenge 5. We need first-order logic to work with relations of arity 3, such as
reachability and hardness. On the other hand, most of reductions in the “textbook” complexity
theory are polynomial time or logarithmic space reductions. Therefore, it makes sense to provide
S ROI Q variants for these types of reductions.</p>
        <p>We introduce roles isReducibleL and isReducibleP, and, similarly, isHardL and isHardP for
hardness relations with respect to these complexity bounds. We can express some of their
properties in S ROI Q, e.g. both reducibility relations are transitive, being hard for a class
results in being hard for any of its subclasses, and if a hard problem is reducible to another one,
than that one is also hard. Thus, for F ∈ {L, P}:
isReducibleF ◦ isReducibleF ⊑ isReducibleF
isHardF ◦ subset− ⊑ isHardF
(isReducibleF )− ◦ isHardF ⊑ isHardF
Also, as one can expect, every logspace reduction can be computed in polynomial time:
isReducibleL ⊑ isReducibleP
isHardL ⊑ isHardP
These roles can be connected back to their first-order originals. For example, for logspace
reducibility it is done as follows:</p>
        <p>∀x, y . isReducibleL(x, y) ⇐⇒ isReducible(x, y, L)
A class Ab is defined via two objects, A and b. This can be represented by a pair
of roles: ‘hasBase’ and ‘hasPower’. For example NP = PSAT, therefore we write
hasBase(A, P), hasPower(A, SAT), equals(NP, A). In this setting, stating Ladner’s
Theorem is done via ABox assertions using special objects that are mentioned in the theorem,
i.e. the Ladner’s oracle l and the classes Pl, and NPl, for which the following is stated:
hasBase(Pl, P), hasPower(Pl, l), hasBase(NPl, NP), hasPower(NPl, l), notEquals(Pl, NPl).
(20)
(21)
(22)
(23)
(24)
3.1.4. Conditional Statements
Most of the conditional statements can be treated as implications between ABox assertions, that
are easy to reason about within Boolean logic, as in
equals(P, NP) =⇒ equals(EXPTIME, NEXPTIME)
(25)
In cases that assert existence of an object if a certain condition is true, we can introduce such an
object as a “certifier” for the result:
¬equals(P, NP) =⇒ in(certifier , NP) ∧ ¬isHardPoly(certifier , NP)
(26)</p>
      </sec>
      <sec id="sec-3-2">
        <title>This is our approach to Challenge 6.</title>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Discussion and Future Work</title>
      <p>For a more distant future, we foresee four ways of enhancing the ontology:
• Broadening. There are many more notions and related to them phenomena of complexity
theory that we are not addressing here. From diverse models of computation (such as finite
automata, Boolean circuits, probabilistic and quantum machines) to different approaches
to define complexity classes (such as descriptive complexity) to connections with algebra
and number theory: there is a lot of human knowledge on the subject to systematise in a
machine-readable way.
• Deepening. As we have mentioned, our current approach focuses on the ‘core
knowledge’ of complexity theory, i.e. the knowledge one usually acquires in an introductory
undergraduate course. However, many more subtle details are swept under the carpet with
this approach. For example, we work only with “large” classes like P and PSPACE, and
thus do not mention important facts such as P ̸= DSPACE(n). Indeed, P and PSPACE, are
themselves hierarchies of classes DTIME(nk) and DSPACE(nk). The expressiveness of
FOWL is enough to add these and other details.
• Increasing complexity. Currently, we were only able to provide a partial solution to
Challenge 4. Apart from the polynomial hierarchy, defining ‘limits’ of chains is important
for other aspects of complexity theory. For example, our chain of bounds (Const, Log, Poly,
Exp, 2Exp, 3Exp, ...) has, in fact, a limit, the tower function t(n) defined by t(0) = 1 and
t(n + 1) = 2t(n). Functions that require time t(n) to be computed are called non-elementary
[27]. But this is not the end: there are Ackermann-hard computational problems [28] that
have time complexity higher than the tower function, and further on [29, 30]. Representing
and axiomatising these phenomena will, we believe, require more expressive formalisms,
such as second-order logic.
• Adding metadata. In addition to representing the complexity theoretic results, it will be
useful to provide meta-information, such as references to papers where a certain fact was
(first) demonstrated, the proof techniques used, etc.</p>
      <p>A separate research direction is providing a strong ontological and knowledge-engineering
basis for our ontology. This would include defining basic notions of computer science, such
as algorithms, models of computation, complexity measures and their relationships, in one or
several mid-level ontologies, and further connecting them to a top-level ontology.
[27] L. J. Stockmeyer, The complexity of decision problems in automata theory and logic, Ph.D.
thesis, Massachusetts Institute of Technology, 1974. URL: https://api.semanticscholar.org/
CorpusID:62162426.
[28] W. Czerwinski, L. Orlikowski, Reachability in vector addition systems is
ackermanncomplete, in: 2021 IEEE 62nd Annual Symposium on Foundations of Computer Science
(FOCS), 2022, pp. 1229–1240. doi:10.1109/FOCS52979.2021.00120.
[29] H. Rogers, Theory of recursive functions and effective computability, MIT
Press, Cambridge, MA, USA, 1987. URL: https://mitpress.mit.edu/9780262680523/
theory-of-recursive-functions-and-effective-computability/.
[30] P. G. Hinman, Classical recursion theory. the theory of functions and sets of natural
numbers., Journal of Symbolic Logic 55 (1990). doi:10.2307/2274492.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A.</given-names>
            <surname>Church</surname>
          </string-name>
          , A Note on the Entscheidungsproblem,
          <source>J. Symb. Log</source>
          .
          <volume>1</volume>
          (
          <year>1936</year>
          )
          <fpage>40</fpage>
          -
          <lpage>41</lpage>
          . doi:
          <volume>10</volume>
          . 2307/2269326.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>A. M.</given-names>
            <surname>Turing</surname>
          </string-name>
          ,
          <article-title>On computable numbers, with an application to the Entscheidungsproblem</article-title>
          ,
          <source>Proc. London Math. Soc. s2-42</source>
          (
          <year>1937</year>
          )
          <fpage>230</fpage>
          -
          <lpage>265</lpage>
          . doi:
          <volume>10</volume>
          .1112/PLMS/S2-42.1.230.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>J.</given-names>
            <surname>Hartmanis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Stearns</surname>
          </string-name>
          ,
          <article-title>On the computational complexity of algorithms</article-title>
          ,
          <source>Transactions of The American Mathematical Society</source>
          <volume>117</volume>
          (
          <year>1965</year>
          )
          <fpage>285</fpage>
          -
          <lpage>306</lpage>
          . doi:
          <volume>10</volume>
          .2307/1994208.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>B. C.</given-names>
            <surname>Grau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Horrocks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Motik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Parsia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Patel-Schneider</surname>
          </string-name>
          ,
          <string-name>
            <surname>U.</surname>
          </string-name>
          <article-title>Sattler, OWL 2: The next step for OWL</article-title>
          ,
          <source>Journal of Web Semantics</source>
          <volume>6</volume>
          (
          <year>2008</year>
          )
          <fpage>309</fpage>
          -
          <lpage>322</lpage>
          . doi:
          <volume>10</volume>
          .1016/j.websem.
          <year>2008</year>
          .
          <volume>05</volume>
          .001,
          <string-name>
            <surname>Semantic</surname>
            <given-names>Web</given-names>
          </string-name>
          <source>Challenge</source>
          <year>2006</year>
          /
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>S.</given-names>
            <surname>Flügel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Glauer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Neuhaus</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hastings</surname>
          </string-name>
          ,
          <article-title>When one logic is not enough: Integrating ifrst-order annotations in OWL ontologies</article-title>
          ,
          <source>Semantic Web Journal Preprint</source>
          (
          <year>2024</year>
          )
          <fpage>1</fpage>
          -
          <lpage>16</lpage>
          . doi:
          <volume>10</volume>
          .3233/SW-243440.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>C.</given-names>
            <surname>Lange</surname>
          </string-name>
          ,
          <article-title>Ontologies and languages for representing mathematical knowledge on the semantic web</article-title>
          ,
          <source>Semantic Web</source>
          <volume>4</volume>
          (
          <year>2013</year>
          )
          <fpage>119</fpage>
          -
          <lpage>158</lpage>
          . doi:
          <volume>10</volume>
          .3233/SW-2012-0059.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A. M.</given-names>
            <surname>Elizarov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. V.</given-names>
            <surname>Kirillovich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. K.</given-names>
            <surname>Lipachev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O. A.</given-names>
            <surname>Nevzorova</surname>
          </string-name>
          ,
          <source>OntoMathPRO: An Ontology of Mathematical Knowledge, Doklady Mathematics</source>
          <volume>106</volume>
          (
          <year>2022</year>
          )
          <fpage>429</fpage>
          -
          <lpage>435</lpage>
          . URL: https://doi.org/10.1134/S1064562422700016. doi:
          <volume>10</volume>
          .1134/S1064562422700016.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>H.</given-names>
            <surname>Putnam</surname>
          </string-name>
          , What is mathematical truth?,
          <source>Historia Mathematica</source>
          <volume>2</volume>
          (
          <year>1975</year>
          )
          <fpage>529</fpage>
          -
          <lpage>533</lpage>
          . doi:
          <volume>10</volume>
          . 1016/
          <fpage>0315</fpage>
          -
          <lpage>0860</lpage>
          (
          <issue>75</issue>
          )
          <fpage>90116</fpage>
          -
          <lpage>0</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>J.</given-names>
            <surname>Landgrebe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Smith</surname>
          </string-name>
          , Ontologies of common sense,
          <source>physics and mathematics</source>
          , arXiv preprint (
          <year>2023</year>
          ). doi:
          <volume>10</volume>
          .48550/arXiv.2305.01560.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>S.</given-names>
            <surname>Arora</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Barak</surname>
          </string-name>
          , Computational Complexity:
          <string-name>
            <given-names>A Modern</given-names>
            <surname>Approach</surname>
          </string-name>
          , Cambridge University Press,
          <year>2006</year>
          . doi:
          <volume>10</volume>
          .1017/CBO9780511804090.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>S. A.</given-names>
            <surname>Cook</surname>
          </string-name>
          ,
          <article-title>The complexity of theorem-proving procedures</article-title>
          ,
          <source>in: Proceedings of the Third Annual ACM Symposium on Theory of Computing</source>
          , STOC '71,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>1971</year>
          , p.
          <fpage>151</fpage>
          -
          <lpage>158</lpage>
          . doi:
          <volume>10</volume>
          .1145/800157.805047.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>R. M. Karp</surname>
          </string-name>
          , Reducibility among Combinatorial Problems, Springer US, Boston, MA,
          <year>1972</year>
          , pp.
          <fpage>85</fpage>
          -
          <lpage>103</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-1-
          <fpage>4684</fpage>
          -2001-2_
          <fpage>9</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>A. K. Chandra</surname>
            ,
            <given-names>L. J.</given-names>
          </string-name>
          <string-name>
            <surname>Stockmeyer</surname>
          </string-name>
          , Alternation,
          <source>in: 17th Annual Symposium on Foundations of Computer Science</source>
          (sfcs
          <year>1976</year>
          ),
          <year>1976</year>
          , pp.
          <fpage>98</fpage>
          -
          <lpage>108</lpage>
          . doi:
          <volume>10</volume>
          .1109/SFCS.
          <year>1976</year>
          .
          <volume>4</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>L. J.</given-names>
            <surname>Stockmeyer</surname>
          </string-name>
          ,
          <article-title>The polynomial-time hierarchy</article-title>
          ,
          <source>Theoretical Computer Science</source>
          <volume>3</volume>
          (
          <year>1976</year>
          )
          <fpage>1</fpage>
          -
          <lpage>22</lpage>
          . doi:https://doi.org/10.1016/
          <fpage>0304</fpage>
          -
          <lpage>3975</lpage>
          (
          <issue>76</issue>
          )
          <fpage>90061</fpage>
          -
          <lpage>X</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>L.</given-names>
            <surname>Libkin</surname>
          </string-name>
          ,
          <source>Elements of Finite Model Theory, Texts in Theoretical Computer Science. An EATCS Series</source>
          , Springer,
          <year>2004</year>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>662</fpage>
          -07003-1.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>T.</given-names>
            <surname>Baker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Gill</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Solovay</surname>
          </string-name>
          ,
          <article-title>Relativizations of the P = ?NP question</article-title>
          ,
          <source>SIAM Journal on Computing</source>
          <volume>4</volume>
          (
          <year>1975</year>
          )
          <fpage>431</fpage>
          -
          <lpage>442</lpage>
          . doi:
          <volume>10</volume>
          .1137/0204037.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>V.</given-names>
            <surname>Arvind</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Köbler</surname>
          </string-name>
          , U. Schöning,
          <string-name>
            <given-names>R.</given-names>
            <surname>Schuler</surname>
          </string-name>
          ,
          <article-title>If NP has polynomial-size circuits</article-title>
          ,
          <source>then MA = AM, Theoretical Computer Science</source>
          <volume>137</volume>
          (
          <year>1995</year>
          )
          <fpage>279</fpage>
          -
          <lpage>282</lpage>
          . doi:https://doi.org/10. 1016/
          <fpage>0304</fpage>
          -
          <lpage>3975</lpage>
          (
          <issue>95</issue>
          )
          <fpage>91133</fpage>
          -
          <lpage>B</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>R. E.</given-names>
            <surname>Ladner</surname>
          </string-name>
          ,
          <article-title>On the structure of polynomial time reducibility</article-title>
          ,
          <source>J. ACM</source>
          <volume>22</volume>
          (
          <year>1975</year>
          )
          <fpage>155</fpage>
          -
          <lpage>171</lpage>
          . doi:
          <volume>10</volume>
          .1145/321864.321877.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          , I. Horrocks,
          <string-name>
            <given-names>C.</given-names>
            <surname>Lutz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Sattler</surname>
          </string-name>
          , An Introduction to Description Logic, Cambridge University Press,
          <year>2017</year>
          . doi:
          <volume>10</volume>
          .1017/9781139025355.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>D.</given-names>
            <surname>Hernández</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hogan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Krötzsch</surname>
          </string-name>
          ,
          <string-name>
            <surname>Reifying</surname>
            <given-names>RDF</given-names>
          </string-name>
          :
          <article-title>What Works Well With Wikidata?</article-title>
          , in: T.
          <string-name>
            <surname>Liebig</surname>
            ,
            <given-names>A</given-names>
          </string-name>
          . Fokoue (Eds.),
          <source>Proceedings of the 11th International Workshop on Scalable Semantic Web Knowledge Base Systems</source>
          , volume
          <volume>1457</volume>
          <source>of CEUR Workshop Proceedings, CEUR-WS.org</source>
          ,
          <year>2015</year>
          , pp.
          <fpage>32</fpage>
          -
          <lpage>47</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>D.</given-names>
            <surname>Brickley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Guha</surname>
          </string-name>
          ,
          <source>RDF Vocabulary Description Language 1</source>
          .0:
          <string-name>
            <given-names>RDF</given-names>
            <surname>Schema</surname>
          </string-name>
          ,
          <year>2004</year>
          . URL: https://www.w3.org/2001/sw/RDFCore/Schema/200212bwm/.
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>I.</given-names>
            <surname>Horrocks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Kutz</surname>
          </string-name>
          , U. Sattler,
          <article-title>The even more irresistible SROIQ</article-title>
          , in: P. Doherty,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. A.</given-names>
            <surname>Welty</surname>
          </string-name>
          (Eds.),
          <source>Proceedings, Tenth International Conference on Principles of Knowledge Representation and Reasoning</source>
          ,
          <source>Lake District of the United Kingdom, June 2-5</source>
          ,
          <year>2006</year>
          , AAAI Press,
          <year>2006</year>
          , pp.
          <fpage>57</fpage>
          -
          <lpage>67</lpage>
          . URL: http://www.aaai.org/Library/KR/2006/kr06-
          <fpage>009</fpage>
          . php.
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>S.</given-names>
            <surname>Rudolph</surname>
          </string-name>
          , Foundations of Description Logics, Springer Berlin Heidelberg, Berlin, Heidelberg,
          <year>2011</year>
          , pp.
          <fpage>76</fpage>
          -
          <lpage>136</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>642</fpage>
          -23032-
          <issue>5</issue>
          _
          <fpage>2</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>M.</given-names>
            <surname>Schneider</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Rudolph</surname>
          </string-name>
          , G. Sutcliffe,
          <article-title>Modeling in OWL 2 without restrictions</article-title>
          , in: M.
          <string-name>
            <surname>Rodriguez-Muro</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Jupp</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          Srinivas (Eds.),
          <source>Proceedings of the 10th International Workshop on OWL: Experiences and Directions (OWLED</source>
          <year>2013</year>
          )
          <article-title>co-located with 10th Extended Semantic Web Conference (ESWC</article-title>
          <year>2013</year>
          ), Montpellier, France, May
          <volume>26</volume>
          -27,
          <year>2013</year>
          , volume
          <volume>1080</volume>
          <source>of CEUR Workshop Proceedings, CEUR-WS.org</source>
          ,
          <year>2013</year>
          . URL: https: //ceur-ws.
          <source>org/</source>
          Vol-
          <volume>1080</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>A.</given-names>
            <surname>Riazanov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Voronkov</surname>
          </string-name>
          ,
          <article-title>The design and implementation of VAMPIRE</article-title>
          ,
          <source>AI Commun</source>
          .
          <volume>15</volume>
          (
          <year>2002</year>
          )
          <fpage>91</fpage>
          -
          <lpage>110</lpage>
          . URL: https://dl.acm.org/doi/10.5555/1218615.1218620.
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26] OpenAI, GPT-4
          <source>Technical Report</source>
          ,
          <year>2024</year>
          . arXiv:
          <volume>2303</volume>
          .
          <fpage>08774</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>