Problem Status Ontology


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.

The Ontology

                                   System
                                   Status
                                      |
                    ------------------+------------------
                  /                                       \
              Solved                                    Unknown 
              Status                                       |
                 |                                         |
         --------+--------                         {Unsolved Status}
       /                   \                             \ | /
  Deductive            Preserving                        Open
   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 
 
                                   Unsolved
                                    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.

Deductive Statuses

  1. Tautology (TAU)
    Every interpretation is a model of Ax and a model of C

  2. Tautologous Conclusion (TAC)
    Every interpretation is a model of C

  3. Equivalent (EQV)
    Ax and C have the same models (and there are some)

  4. Theorem (THM)
    Every model of Ax (and there are some) is a model of C

  5. Satisfiable (SAT)
    Some models of Ax (and there are some) are models of C

  6. ContradictoryAxioms (CAX)
    There are no models of Ax

  7. NoConsequence (NOC)
    Some models of Ax (and there are some) are models of C, and some are models of ~C.

  8. CounterSatisfiable (CSA)
    Some models of Ax (and there are some) are models of ~C

  9. CounterTheorem (CTH)
    Every model of Ax (and there are some) is a model of ~C

  10. CounterEquivalent (CEQ)
    Ax and ~C have the same models (and there are some)

  11. Unsatisfiable Conclusion (UNC)
    Every interpretation is a model of ~C

  12. Unsatisfiable (UNS)
    Every interpretation is a model of Ax and a model of ~C

Preserving Statuses

  1. SatisfiabilityBijection (SAB)
    There is a bijection between the models of Ax (and there are some) and models of C

  2. SatisfiabilityMapping (SAM)
    There is a mapping from the models of Ax (and there are some) to models of C

  3. SatisfiabilityPartialMapping (SAR)
    There is a partial mapping from the models of Ax (and there are some) to models of C

  4. SatisfiabilityPreserving (SAP)
    If there exists a model of Ax then there exists a model of C

  5. CounterSatisfiabilityPreserving (CSP)
    If there exists a model of Ax then there exists a model of ~C

  6. CounterSatisfiabilityPartialMapping (CSR)
    There is a partial mapping from the models of Ax (and there are some) to models of ~C

  7. CounterSatisfiabilityMapping (CSM)
    There is a mapping from the models of Ax (and there are some) to models of ~C

  8. CounterSatisfiabilityBijection (CSB)
    There is a bijection between the models of Ax (and there are some) and models of ~C

Error Statuses

  1. Timeout - System ran past user imposed CPU time limit
  2. GaveUp - System gave up before the time limit
  3. InputError - System exited due to an error in its input
  4. ResourceOut - System exited due to running out of some non-time resource
  5. Unknown - System exited before the time limit for unknown reason

Precise Output Forms

Output Value TSTP Code
Assurance Ass
Refutation Ref
CNFRefutation CRf
Proof Prf
Model Mod
Saturation Sat