SZS Ontology

The SZS ontologies (named after the authors of the original paper describing the success ontology [SZS03, SZS04, Sut08] provide status values to describe logical data. The SZS success ontology provides status values to describe what is known or has been successfully established about the relationship between the axioms and conjectures in logical data. The SZS no-success ontology provides status values to describe why a Success Ontology value has not been established. The SZS dataform ontology provides status values to describe the nature of logical data. All status values are expressed as OneWord to make system output parsing simple, and also have a three letter mnemonic. In the figures below many of the "OneWord" status values are abbreviated - see the list below for the official full "OneWord"s. The lines in the ontologies can be followed up the hierarchy as "isa" links, e.g., an EquivalentTheorem (ETH) isa Equivalent (EQV) isa Satisfiable (SAT) and isa SatisfiableAxiomsTheorem (STH).

Commonly Used Ontology Values

The ontologies are very fine grained ontology, which have more status values and dataforms than are commonly used by ATP systems. Suitable subsets for practical purposes are as follows: Success ontology values are also used in TPTP format proofs to record the relationship between the parents and inferred formula of each inference step. Commonly used values are:

Standard Presentation of Ontology Values

The solution status should be reported exactly once, in a line starting "% SZS status" (the leading '%' makes the line into a TPTP language comment). For examples:
    % SZS status Unsatisfiable for SYN075+1

    % SZS status GaveUp for SYN075+1
A success or no-success ontology value should be presented as early as possible, at least before any data output to justify the value. The justifying data should be reported exactly once, delimited by lines starting "% SZS output start" and "% SZS output end". For example: All "% SZS" lines can optionally have software specific information appended, separated by a :. For examples:
    % SZS status GaveUp for SYN075+1 : Could not complete CNF conversion

    % SZS output end CNFRefutation for SYN075-1 : Completed in CNF conversion


The Success Ontology

The ontology assumes that the input is a 2-tuple of the form <Ax,C>, where Ax is a set (conjunction) of axioms and C is a set (conjunction) of conjectures. This is a common standard usage of ATP systems (often there is only a single conjecture). If the input does not have any conjectures, e.g., a set of axioms, then the set (conjunction) of formulae are used to form C and the 2-tuple is <TRUE,C>. The ontology values are based on the possible relationships between the sets of models of Ax and C.


The NoSuccesss Ontology

In order to understand and make productive use of a lack of success, it is necessary to precisely specify the reason for and nature of the lack of success. The SZS no-success ontology provides status values for describing the reasons. Note that no-success is not the same as failure: failure means that the software has completed its attempt to process the logical data and could not establish a success ontology value. In contrast, no-success might be because the software is still running, or that it has not yet even started processing the logical data.


The Data Ontology

The data ontology provides suitable values for describing the form of logical data. The ontology values are commonly used to describe data provided to justify a success ontology value, e.g., if an ATP system reports the success ontology value Theorem it might output a Proof to justify that.