------------------------------------------------------------------------------- The SZS ontologies (named after the authors of the original paper describing the success ontology [1]) 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. 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: + For Success - For problems with conjectures - report Theorem or ContradictoryAxioms or CounterSatisfiable - For problems without conjectures - report Satisfiable or Unsatisfiable + For No-success - System stopped due to CPU limit - report Timeout - System gave up due to incompleteness - report GaveUp - System stopped due to an error - report Error + For Dataforms - A generic proof - report Proof - A CNF refutation - report CNFRefutation - A generic model - report Model - A finite model - report FiniteModel - An infinite model - report InfiniteModel - A saturation - report Saturation 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: - The inferred formula is a theorem of the parents (logical consequences, e.g., resolvants, etc.) - report Theorem - The inferred and parent formulae are equisatisfiable (e.g., Skolemization) - report EquiSatisfiable - The negation of the inferred formula is a theorem of the parents (e.g., negating the conjecture in a proof by refutation) - report CounterTheorem 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: % SZS output start CNFRefutation for SYN075-1 ... % SZS output end CNFRefutation for SYN075-1 All "SZS" lines 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 SZS 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 conjunction of conjecture formulae. This is a common standard usage of ATP systems (often there is only a single conjecture formula). If the input is not of the form <Ax, C>, it is treated as a conjecture formula (even if it is a "set of axioms" from the user view point, e.g., a set of formulae all with the TPTP role "axiom"), and the 2-tuple is <TRUE, C>. The ontology values can also be interpreted in terms of the formula F, of the form Ax => C. The ontology values are based on the possible relationships between the sets of models of Ax and C. In the figure below many of the "OneWord" status values are abbreviated - see the list below for the official full "OneWord"s. The lines in the ontology can be followed up the hierarchy as isa links, e.g., an ETH isa EQV isa (SAT and a THM). Success SUC ___________________________|_______________________________ | | | | | UnsatPre SatPre | CtrSatPre CtrUnsatPre UNP SAP | CSP CUP |_______/ | | | \_______| | | | | | EquSat | FiniteThm | EquCtrSat ESA | FTH | ECS | | / | | Sat'ble Theorem CtrThm CtrSat SAT THM CTH CSA / | \______.|._____________________________________.|.______/ | \ / | | | | | \ FinSat | | NoConq | FinUns | FinCtrSat FSA | | NOC | FUN | FCS | |_______________________________________| | | | | | | | | | SatAxThm CtraAx SatAxCth | | | STH CAX SCT : | _|_________|_ ____|____ _|_________|_ | | | | | | | : | Eqvlnt TautC WeakC SatConCA SatCCoCA WkCC UnsCon|CtrEqu EQV TAC WEC SCA SCC WCC UNC | CEQ __|__ _|_ __|__ __|___ ___|__ __|__ _|_ |__|__ | | / \ | | | \ / | | | / \| | Equiv Taut- Weaker Weaker TauCon WCon UnsCon Weaker Weaker Unsat Equiv Thm ology TautCo Thm CtraAx CtraAx CtraAx CtrThm UnsCon -able CtrTh ETH TAU WTC WTH TCA WCA UCA WCT WUC UNS ECT + Success (SUC): The logical data has been processed successfully. + UnsatisfiabilityPreserving (UNP): If there does not exist a model of Ax then there does not exist a model of C, i.e., if Ax is unsatisfiable then C is unsatisfiable. + SatisfiabilityPreserving (SAP): If there exists a model of Ax then there exists a model of C, i.e., if Ax is satisfiable then C is satisfiable. - F is satisfiable. + EquiSatisfiable (ESA): There exists a model of Ax iff there exists a model of C, i.e., Ax is (un)satisfiable iff C is (un)satisfiable. + Satisfiable (SAT): Some interpretations are models of Ax, and some models of Ax are models of C. - F is satisfiable, and ~F is not valid. - Possible dataforms are Models of Ax | C. + FinitelySatisfiable (FSA): Some finite interpretations are finite models of Ax, and some finite models of Ax are finite models of C. - F is satisfiable, and ~F is not valid. - Possible dataforms are FiniteModels of Ax | C. + FiniteTheorem (FTH): All finite models of Ax are finite models of C. - Any models of Ax | ~C are infinite. + Theorem (THM): All models of Ax are models of C. - F is valid, and C is a theorem of Ax. - Possible dataforms are Proofs of C from Ax. + SatisfiableTheorem (STH): Some interpretations are models of Ax, and all models of Ax are models of C. - F is valid, and C is a theorem of Ax. - Possible dataforms are Models of Ax with Proofs of C from Ax. + Equivalent (EQV): Some interpretations are models of Ax, all models of Ax are models of C, and all models of C are models of Ax. - F is valid, C is a theorem of Ax, and Ax is a theorem of C. - Possible dataforms are Proofs of C from Ax and of Ax from C. + TautologousConclusion (TAC): Some interpretations are models of Ax, and all interpretations are models of C. - F is valid, and C is a tautology. - Possible dataforms are Proofs of C. + WeakerConclusion (WEC): Some interpretations are models of Ax, all models of Ax are models of C, and some models of C are not models of Ax. - See Theorem and Satisfiable. + EquivalentTheorem (ETH): Some, but not all, interpretations are models of Ax, all models of Ax are models of C, and all models of C are models of Ax. - See Equivalent. + Tautology (TAU): All interpretations are models of Ax, and all interpretations are models of C. - F is valid, ~F is unsatisfiable, and C is a tautology. - Possible dataforms are Proofs of Ax and of C. + WeakerTautologousConclusion (WTC): Some, but not all, interpretations are models of Ax, and all interpretations are models of C. - F is valid, and C is a tautology. - See TautologousConclusion and WeakerConclusion. + WeakerTheorem (WTH): Some interpretations are models of Ax, all models of Ax are models of C, some models of C are not models of Ax, and some interpretations are not models of C. - See Theorem and Satisfiable. + ContradictoryAxioms (CAX): No interpretations are models of Ax. - F is valid, and anything is a theorem of Ax. - Possible dataforms are Refutations of Ax. + SatisfiableConclusionContradictoryAxioms (SCA): No interpretations are models of Ax, and some interpretations are models of C. - See ContradictoryAxioms. + TautologousConclusionContradictoryAxioms (TCA): No interpretations are models of Ax, and all interpretations are models of C. - See TautologousConclusion and SatisfiableConclusionContradictoryAxioms. + WeakerConclusionContradictoryAxioms (WCA): No interpretations are models of Ax, and some, but not all, interpretations are models of C. - See SatisfiableConclusionContradictoryAxioms and SatisfiableCounterConclusionContradictoryAxioms. + CounterUnsatisfiabilityPreserving (CUP): If there does not exist a model of Ax then there does not exist a model of ~C, i.e., if Ax is unsatisfiable then ~C is unsatisfiable. + CounterSatisfiabilityPreserving (CSP): If there exists a model of Ax then there exists a model of ~C, i.e., if Ax is satisfiable then ~C is satisfiable. + EquiCounterSatisfiable (ECS): There exists a model of Ax iff there exists a model of ~C, i.e., Ax is (un)satisfiable iff ~C is (un)satisfiable. + CounterSatisfiable (CSA): Some interpretations are models of Ax, and some models of Ax are models of ~C. - F is not valid, ~F is satisfiable, and C is not a theorem of Ax. - Possible dataforms are Models of Ax | ~C. + FinitelyCounterSatisfiable (FCS): Some finite interpretations are finite models of Ax, and some finite models of Ax are finite models of ~C. - F is not valid, ~F is satisfiable, and C is not a theorem of Ax. - Possible dataforms are FiniteModels of Ax | ~C. + CounterTheorem (CTH): All models of Ax are models of ~C. - F is not valid, and ~C is a theorem of Ax. - Possible dataforms are Proofs of ~C from Ax. + SatisfiableCounterTheorem (SCT): Some interpretations are models of Ax, and all models of Ax are models of ~C. - F is valid, and ~C is a theorem of Ax. - Possible dataforms are Models of Ax with Proofs of ~C from Ax. + CounterEquivalent (CEQ): Some interpretations are models of Ax, all models of Ax are models of ~C, and all models of ~C are models of Ax (i.e., all interpretations are models of Ax xor of C). - F is not valid, and ~C is a theorem of Ax. - Possible dataforms are Proofs of ~C from Ax and of Ax from ~C. + UnsatisfiableConclusion (UNC): Some interpretations are models of Ax, and all interpretations are models of ~C (i.e., no interpretations are models of C). - F is not valid, and ~C is a tautology. - Possible dataforms are Proofs of ~C. + WeakerCounterConclusion (WCC): Some interpretations are models of Ax, and all models of Ax are models of ~C, and some models of ~C are not models of Ax. - See CounterTheorem and CounterSatisfiable. + EquivalentCounterTheorem (ECT): Some, but not all, interpretations are models of Ax, all models of Ax are models of ~C, and all models of ~C are models of Ax. - See CounterEquivalent. + FinitelyUnsatisfiable (FUN): All finite interpretations are finite models of Ax, and all finite interpretations are finite models of ~C (i.e., no finite interpretations are finite models of C). + Unsatisfiable (UNS): All interpretations are models of Ax, and all interpretations are models of ~C. (i.e., no interpretations are models of C). - F is unsatisfiable, ~F is valid, and ~C is a tautology. - Possible dataforms are Proofs of Ax and of C, and Refutations of F. + WeakerUnsatisfiableConclusion (WUC): Some, but not all, interpretations are models of Ax, and all interpretations are models of ~C. - See Unsatisfiable and WeakerCounterConclusion. + WeakerCounterTheorem (WCT): Some interpretations are models of Ax, all models of Ax are models of ~C, some models of ~C are not models of Ax, and some interpretations are not models of ~C. - See CounterSatisfiable. + SatisfiableCounterConclusionContradictoryAxioms (SCC): No interpretations are models of Ax, and some interpretations are models of ~C. - See ContradictoryAxioms. + UnsatisfiableConclusionContradictoryAxioms (UCA): No interpretations are models of Ax, and all interpretations are models of ~C (i.e., no interpretations are models of C). - See UnsatisfiableConclusion and - SatisfiableCounterConclusionContradictoryAxioms. + NoConsequence (NOC): Some interpretations are models of Ax, some models of Ax are models of C, and some models of Ax are models of ~C. - F is not valid, F is satisfiable, ~F is not valid, ~F is satisfiable, and C is not a theorem of Ax. - Possible dataforms are pairs of models, one Model of Ax | C and one Model of Ax | ~C. ------------------------------------------------------------------------------- The NoSuccess 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. In the figure below many of the "OneWord" status values are abbreviated - see the list below for the official full "OneWord"s. NoSuccess NOS ____________________|_______________________________________ | | | | Open Assumed Unknown Incorrect OPN ASS(UNK,SUC) UNK INC _________________|_________________ | | | Stopped InProgress NotTried STP INP NTT ____________________|________________ ____|____ | | | | | Error Forced GaveUp | NotTriedYet ERR FOR GUP | NTY ____|____ ____|____ _________|__________ | | | | | | | | | | OSError InputEr User ResourceOut Incompl | Inappro OSE INE USR RSO INC | IAP ___|___ ___|___ v | | | | | ERR UseEr SynEr SemEr Timeout MemOut USE SYE SEE TMO MMO ____|____ | | TypeError Unsemantic TYE USM + NoSuccess (NOS): The logical data has not been processed successfully (yet). + Open (OPN): A success value has never been established. + Unknown (UNK): Success value unknown, and no assumption has been made. + Assumed (ASS(U,S)): The success ontology value S has been assumed because the actual value is unknown for the no-success ontology reason U. U is taken from the subontology starting at Unknown in the no-success ontology. + Stopped (STP): Software attempted to process the data, and stopped without a success status. + Error (ERR): Software stopped due to an error. + OSError (OSE): Software stopped due to an operating system error. + InputError (INE): Software stopped due to an input error. + UsageError (USE): Software stopped due to an ATP system usage error. + SyntaxError (SYE): Software stopped due to an input syntax error. + SemanticError (SEE): Software stopped due to an input semantic error. + TypeError (TYE): Software stopped due to an input type error (for typed logical data). + Unsemantic (USM): The semantics makes no sense (for semantics specifications). + Forced (FOR): Software was forced to stop by an external force. + User (USR): Software was forced to stop by the user. + ResourceOut (RSO): Software stopped because some resource ran out. + Timeout (TMO): Software stopped because the CPU time limit ran out. + MemoryOut (MMO): Software stopped because the memory limit ran out. + GaveUp (GUP): Software gave up of its own accord. + Incomplete (INC): Software gave up because it's incomplete. + Inappropriate (IAP): Software gave up because it cannot process this type of data. + InProgress (INP): Software is still running. + NotTried (NTT): Software has not tried to process the data. + NotTriedYet (NTY): Software has not tried to process the data yet, but might in the future. ------------------------------------------------------------------------------- The Dataform Ontology --------------------- The dataform 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. In the figure below many of the "OneWord" status values are abbreviated - see the list below for the official full "OneWord"s. Data Dat _____________________|____________________ | | LogicalData NonLogicalData LDa NLd __________|___________________________ ____|____ | | | | | None Solution NotSoln Comment FreeText Non Sol NSo Com FTx __________|____________ ______|______ | | | | | | Proof Interpretation ListFrm Assure IncPrf IncInt Prf Int Lof Ass IPr IIn ___|___ |\ |___________ | | | Model | | | | Derivn Refutn | Mod LiTHF/TFF/FOF/CNF Der Ref |/ Lth/Ltf/Lfo/Lcn | |________ |___|___|___| CNFRef |\ \ | CRf | Partial Strictly | | PIn/PMo SIn/SMo | |/_______/ | __________|___________ _____| | |/ Domain Int/Mod Herbrand Int/Mod DIn/DMo HIn/HMo DPI/DPM/DSI/DSM HPI/HPM/HSI/HSM ________|________ ____|____ | | | | | Finite Integer Real Formula Saturation FIn/FMo IIn/IMo RIn/RMo TIn/TMo Sat FPI/FPM IPI/IPM RPI/RPM TPI/TPM FSI/FSM ISI/ISM RSI/RSM TSI/TSM + Data (Dat): Data output. + LogicalData (LDa): Logical data. + Solution (Sln): A solution. + Proof (Prf): A proof. + Derivation (Der): A derivation (inference steps ending in the theorem, in the Hilbert style). + Refutation (Ref): A refutation (starting with Ax U ~C and ending in FALSE). + CNFRefutation (CRf): A refutation in clause normal form, including, for FOF Ax or C, the translation from FOF to CNF (without the FOF to CNF translation it's an IncompleteProof). + Interpretation (Int): An interpretation. + Model (Mod): A model. + PartialInterpretation (Pin): A partial interpretation. + PartialModel (PMo): A partial model. + StrictlyPartialInterpretation (SIn): A strictly partial interpretation. + StrictlyPartialModel (SMo): A strictly partial model. + DomainInterpretation (DIn): An interpretation whose domain is not the Herbrand universe. + DomainModel (DMo): A model whose domain is not the Herbrand universe. + DomainPartialInterpretation (DPI): A domain interpretation that is partial. + DomainPartialModel (DPM): A domain model that is partial. + DomainStrictlyPartialInterpretation (DSI): A domain interpretation that is strictly partial. + DomainStrictlyPartialModel (DSM): A domain model that is strictly partial. + FiniteInterpretation: A domain interpretation with a finite domain. + FiniteModel (FMo): A domain model with a finite domain. + FinitePartialInterpretation (FPI): A domain partial interpretation with a finite domain. + FinitePartialModel (FPM): A domain partial model with a finite domain. + FiniteStrictlyPartialInterpretation (FSI): A domain strictly partial interpretation with a finite domain. + FiniteStrictlyPartialModel (FSM): A domain strictly partial model with a finite domain. + IntegerInterpretation: An integer domain interpretation. + IntegerModel (FMo): An integer domain model. + IntegerPartialInterpretation (FPI): An integer domain partial interpretation. + IntegerPartialModel (FPM): An integer domain partial model. + IntegerStrictlyPartialInterpretation (FSI): An integer domain strictly partial interpretation. + IntegerStrictlyPartialModel (FSM): An integer domain strictly partial model. + RealInterpretation: A real domain interpretation. + RealModel (FMo): A real domain model. + RealPartialInterpretation (FPI): A real domain partial interpretation. + RealPartialModel (FPM): A real domain partial model. + RealStrictlyPartialInterpretation (FSI): A real domain strictly partial interpretation. + RealStrictlyPartialModel (FSM): A real domain strictly partial model. + HerbrandInterpretation (HIn): A Herbrand interpretation. + HerbrandModel (HMo): A Herbrand model. + FormulaInterpretation (TIn): A Herbrand interpretation defined by a set of TPTP formulae. + FormulaModel (TMo): A Herbrand model defined by a set of TPTP formulae. + FormulaPartialInterpretation (TPI): A Herbrand partial interpretation defined by a set of TPTP formulae. + FormulaPartialModel (TPM): A Herbrand partial model defined by a set of TPTP formulae. + FormulaStrictlyPartialInterpretation (TSI): A Herbrand strictly partial interpretation defined by a set of TPTP formulae. + FormulaStrictlyPartialModel (TSM): A Herbrand strictly partial model defined by a set of TPTP formulae. + Saturation (Sat): A Herbrand model expressed as a saturating set of formulae. + ListOfFormulae (Lof): A list of formulae. + ListOfTHF (Lth): A list of THF formulae. + ListOfTFF (Ltf): A list of TFF formulae. + ListOfFOF (Lfo): A list of FOF formulae. + ListOfCNF (Lcn): A list of CNF formulae. + NotASolution (NSo): Something that is not a well formed solution. + Assurance (Ass): Only an assurance of the success ontology value. + IncompleteProof (IPr): A proof with some part missing. + IncompleteInterpretation (IIn): An interpretation with some part missing. + NonLogicalData (NLd): Non-logical output. + Comment (Com): TPTP format comments (starting with %). + FreeText (FTx): Anything you want. + None (Non): Nothing. ------------------------------------------------------------------------------- References ---------- [1] Sutcliffe G., Zimmer J., Schulz S. (2003), Communication Formalisms for Automated Theorem Proving Tools, Sorge V. Colton S. Fisher M. Gow J., Proceedings of the Workshop on Agents and Automated Reasoning, 18th International Joint Conference on Artificial Intelligence, (Acapulco, Mexico), 52-57. [2] Sutcliffe G., Zimmer J., Schulz S. (2004), TSTP Data-Exchange Formats for Automated Theorem Proving Tools, Zhang W., Sorge V., Distributed Constraint Problem Solving and Reasoning in Multi-Agent Systems, Frontiers in Artificial Intelligence and Applications 112, 201-215. [3] Sutcliffe G. (2008), The SZS Ontologies for Automated Reasoning Software, Rudnicki P., Sutcliffe G., Proceedings of the LPAR Workshops: Knowledge Exchange: Automated Provers and Proof Assistants, and The 7th International Workshop on the Implementation of Logics (Doha, Qattar), CEUR Workshop Proceedings 418, 38-49. -------------------------------------------------------------------------------