In order to use an ATP system it is necessary to prepare the problem for the ATP system, execute the ATP system, and postprocess the system's output as required. The details of these steps are described in the ATP process.
SystemOnTPTP [-qN] SystemName---Version TimeLimit [-S] ProblemFilee.g., SystemOnTPTP -q1 EP---0.999 30 -S MyProblem.p. The optional -qN controls the debug level, with -q0 being most verbose and -q3 least. The optional -S flag causes the system output to be converted to a TPTP format proof, if possible. The ProblemFile must be in TPTP format. If a TPTP library problem name is specified then SystemOnTPTP will find it, e.g., SystemOnTPTP SPASS---3.0 30 PUZ001+1. To get a list of the available systems do SystemOnTPTP -w.
SystemOnTPTP is also available online at:
http://www.tptp.org/cgi-bin/SystemOnTPTPThe file to be processed may be an existing TPTP problem file, a file uploaded from your computer, a file at a URL, or pasted into the text box. To process a problem file:
Two squared plus something that is zero is an even number. Two square equals four. For anything that is zero, four minus that thing equals four plus that thing. There exists something that is zero. Therefore there exists something such that two squared minus that thing is even.
... may be expressed as:
A = { ∀X (zero(X) => even(sum(two_squared,X))) two_squared = four ∀X (zero(X) => difference(four,X) = sum(four,X)) ∃X zero(X) } C = ∃X even(difference(two_squared,X))
fof(sum_is_even,axiom, ! [X] : (zero(X) => even(sum(two_squared,X))) ). fof(square_is_four,axiom, two_squared = four ). fof(zero_is_idempotent,axiom, ! [X] : (zero(X) => difference(four,X) = sum(four,X)) ). fof(something_zero,axiom, ? [X] : zero(X) ). fof(difference_even,conjecture, ? [X] : even(difference(two_squared,X)) ).
The TPTP syntax can be checked using the tptp4X utility. The command line version of tptp4X is available in the ServiceTools directory of the TPTPWorld. The command line format is
tptp4X ProblemFilee.g., tptp4X MyProblem.p.
tptp4X has some other options, which can be explored with tptp4X -h.
tptp4X is also available online in the SystemB4TPTP
interface.
The BNFParser and
The satisfiability of the axioms can be checked by
deleting/commenting out the conjecture, and submitting the file to a
model finding program, via SystemOnTPTP.
For example
To check for unsatisfiability, submit the file (with the conjecture
still commented out) to a theorem prover that establishes logical
consequence via unsatisfiability - if such a system is given a file
of axioms it will try to establish that the axioms are unsatisfiable.
For example
SystemOnTPTP -q1 Mace2---2.2 30 MyProblem.p
SystemOnTPTP should report Satisfiable.
If it does not, then either the axioms are too complicated for the
model finder, or the axioms are Unsatisfiable (not what you want).
SystemOnTPTP -q1 Otter--- 30 MyProblem.p
If SystemOnTPTP reports Unsatisfiable then the axioms need
to be fixed.
The conjecture can be proved to be a logical consequence of the axioms by submitting the file (axioms and conjecture) to a theorem prover via SystemOnTPTP. For example
SystemOnTPTP -q1 Otter--- 30 MyProblem.pIf SystemOnTPTP reports Theorem then the conjecture is a logical consequence of the axioms. If it does not, then either the problem is too hard for the theorem prover, or the conjecture is not a logical consequence of the axioms.
SystemOnTPTP -q1 Mace2---2.2 30 MyProblem.pIf SystemOnTPTP reports CounterSatisfiable then the axioms or conjecture need to be fixed.
SystemOnTPTP -q1 EP---0.999 30 -S MyProblem.pA derivation tree for a derivation can be generated by submitting a derivation file to IDV. The command line version of IDV is available in the ServiceTools directory of the TPTPWorld. The command line format is
IDV SolutionFilee.g., IDV MySolution.s.
If someone is wise, then either their father or mother is wise. Jim's father is Bob. Jim's mother is Maggie. Prove: If Jim is wise then either Bob or Maggie is wise.