Prover9 Manual | Version 2009-11A |
When we write that a program takes a "stream" of objects, we mean that it reads them from the standard input, and the objects are not enclosed in objects(..) and end_of_list.
When we write that a program takes a "set" of objects, we mean that the filename containing the objects is an argument to the program, and the objects are not enclosed in objects(..) and end_of_list.
When we write that a program takes a "list" of objects, we mean that the filename containing the objects is an argument to the program, and the objects are enclosed in objects(..) and end_of_list.
Contents
The accepted tests are true_in_all, true_in_some, false_in_all, and false_in_some.
Example: given a set of non-modular orthomodular lattices and a stream of identities, print the identities that are false in all of the lattices. This job was used when searching for modular ortholattice (MOL) single axioms: any MOL single axiom is false in all non MOLs.
clausefilter non-MOL-OML.interps false_in_all < MOL-cand.296 > MOL-cand.238
Example:
clausetester uc-18.interps < uc-hunt.clauses > uc-hunt.out
The accepted tests are all_true, some_true, all_false, and some_false.
Example: from a list of quasigroups, extract the associative-commutaive ones.
interpfilter assoc-comm.clauses all_true < qg4.interps > qg4-ac.interps
Basic example that canonicalizes group expressions:
rewriter group.demods < group-terms.in > group-terms.outThis example canonicalizes Boolean ring expressions. It uses associative-commutative (AC) operations and the op command to change the parsing rules.
rewriter bool-ring.demods < bool-ring.in > bool-ring.outThis example rewrites identities in terms of {meet,join,complementation} into the Sheffer stroke.
rewriter BA-Sheffer.demods < BA4.in > BA4.out
tptp_to_ladr < PUZ031-1.tptp > PUZ031-1.in prover9 -f PUZ031-1.in > PUZ031-1.outIf you prefer, those two processes can be piped together:
tptp_to_ladr < PUZ031-1.tptp | prover9 > PUZ031-1.out2Some of the TPTP language features that are not yet supported are comment blocks, system comments, real numbers, natural numbers as distinct objects, and distinct objects with double quotes.
Some future version of LADR will likely support direct input of TPTP files to Prover9 and Mace4, without having to invoke a translator.
Here is an example that contains several unacceptable symbols.
ladr_to_tptp < RBA-2.in > RBA-2.tptpInstead of introducing new symbols such as tptp0, you can tell ladr_to_tptp to put single quotes around unacceptable symbols by using the command-line option -q. See the following example.
ladr_to_tptp -q < RBA-2.in > RBA-2q.tptp