The output from current ATP systems varies widely in quantity, quality, and meaning. At the low end of the scale, systems that search for a refutation of a set of clauses may output only an assurance that a refutation exists (the wonderful "yes" output). At the high end of the scale a system may output a natural deduction proof of a problem expressed in FOF. In some cases the output is misleading, e.g., when a CNF based system claims that a FOF input problem is "unsatisfiable" it typically means that the negated CNF of the problem is unsatisfiable.
In order to use ATP systems' results, e.g., as input to other tools, it is necessary that the ATP systems correctly and precisely specify what has been established. To this end a problem status ontology has been established. The ontology was based on initial work done to establish communication protocols for systems on the MathWeb Software Bus. The ontology is shown below.
The ontology assumes that the input F is of the form Ax => C, where Ax is a set (conjunction) of axioms and C is a single conjecture formula. This is a common standard usage of ATP systems.
If F is not of the form Ax => C, it is treated as a single monolithic conjecture formula (even if it is an "axiom" or "set of axioms" from the user view point). This is equivalent to Ax being TRUE. In this case not all of the statuses are appropriate, and those that are possible are marked with a * in the ontology.
System
Status
|
------------------+------------------
/ \
Success Error
Status Status
|
--------+--------
/ \
Unknown Known
Formula Formula
Status Status
| |
Open --------+--------
/ \
Deductive Preserving
Status Status
Deductive
Status
|
------------------+------------------
/ \
Satisfiable* ------------&------------- Counter
| No Satisfiable*
| Consequence |
| |
Theorem ----------------&---------------- Counter
| Contradictory Theorem
| Axioms |
--------+-------- --------+--------
/ \ / \
Tautologous Equivalent Counter Unsatisfiable
Conclusion | Equivalent Conclusion
\ / \ /
--------+-------- --------+--------
| |
Tautology* Unsatisfiable*
Preserving
Status
|
------------------+------------------
/ \
Satisfiability Counter Satisfiability
Preserving Preserving
| |
Satisfiability Counter Satisfiability
Partial Mapping Partial Mapping
| |
Satisfiability Counter Satisfiability
Mapping Mapping
| |
Satisfiability Counter Satisfiability
Bijection Bijection
Error
Status
|
--------------------------+--------------------------
/ | | \
Input error Gave up Resource Out Unknown
| / \
(Reason) Timeout (Other)
All status values are expressed as "one word" to make system output parsing simple, and also have a three letter code. Associated with each possible status are the possible outputs from the ATP system.
| Output Value | TSTP Code |
|---|---|
| Assurance | Ass |
| Refutation | Ref |
| CNFRefutation | CRf |
| Proof | Prf |
| Model | Mod |
| Saturation | Sat |