Satallax 2.1

C. E. Brown
Saarland University, Germany

Architecture

Satallax [B11] is an automated theorem prover for higher-order logic. The particular form of higher-order logic supported by Satallax is Church's simple type theory with extensionality and choice operators. The SAT solver MiniSat [ES04] is responsible for much of the search for a proof.

The theoretical basis of search is a complete ground tableau calculus for higher-order logic [BS10] with a choice operator [BB11]. A problem is given in the THF format. A branch is formed from the axioms of the problem and the negation of the conjecture (if any is given). From this point on, Satallax tries to determine unsatisfiability or satisfiability of this branch.

Satallax progressively generates higher-order formulae and corresponding propositional clauses [B11]. These formulae and propositional clauses correspond to instances of the tableau rules. Satallax uses the SAT solver MiniSat as an engine to test the current set of propositional clauses for unsatisfiability. If the clauses are unsatisfiable, then the original branch is unsatisfiable. If there are no quantifiers at function types, the generation of higher-order formulae and corresponding clauses may terminate [BS09,BS09]. In such a case, if MiniSat reports the final set of clauses as satisfiable, then the original set of higher-order formulae is satisfiable (by a standard model in which all types are interpreted as finite sets).

Strategies

There are a number of flags that control the order in which formulas and instantiation terms are considered and propositional clauses are generated. Other flags activate some optional extensions to the basic proof procedure.

A collection of flag settings is called a mode. Approximately 250 modes have been tried so far. Regardless of the mode, the search procedure is sound and complete for higher-order logic with choice. This implies that if search terminates with a particular mode, then we can conclude that the original set of formulae is unsatisfiable or satisfiable.

A strategy schedule is an ordered collection of modes with information about how much time the mode should be allotted. Satallax tries each of the modes for a certain amount of time sequentially. Satallax 2.1 has eight strategy schedules which were determined through experimentation using the THF problems in version 5.1.0 of the TPTP library. One of these eight strategy schedules is chosen based on the amount of time Satallax is given to solve the problem. For example, if Satallax is given 180 seconds to solve the problem, then a schedule with 38 modes is chosen.

Implementation

Satallax 2.1 is implemented in OCaml. A foreign function interface is used to interact with MiniSat. Satallax is available from
    http://satallax.com

Expected Competition Performance

Satallax 1.4 proved to be competitive in the THF division of CASC last year, coming in second out of four systems. Since last year, Satallax has been reimplemented in OCaml (instead of lisp) and the integration with MiniSat has been improved. In addition, a number of new heuristics and flags to control these heuristics have been added. Based on these improvements, Satallax is expected to perform well in the THF division of CASC this year. On the other hand, Satallax is typically weak on problems requiring equality reasoning or nontrivial higher-order instantiations. Since Satallax can sometimes be used to determine satisfiability of a set of formulas, it will also compete in the TNT demonstration division.

References

B11
Brown C.E. (2011), Reducing Higher-Order Theorem Proving to a Sequence of SAT Problems, Bjørner N., Sofronie-Stokkermans V., Proceedings of the 23nd International Conference on Automated Deduction (Wrocław, Poland), To appear.
BB11
Backes J., Brown C.E. (2011), Analytic Tableaux for Higher-Order Logic with Choice, Journal of Automated Reasoning To Appear, Springer.
BS09
Brown C.E., Smolka G. (2009), Terminating Tableaux for the Basic Fragment of Simple Type Theory, Giese M., Waaler A., Proceedings of the 18th International Conference on Automated Reasoning with Analytic Tableaux and Related Methods (Oslo, Norway), pp.138-151, Lecture Notes in Artificial Intelligence 5607, Springer-Verlag.
BS09
Brown C.E., Smolka G. (2009), Extended First-Order Logic, Berghofer S., Nipkow T., Urban C., Wenzel M., Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics (Munich, Germany), pp.164-179, Lecture Notes in Computer Science 5674, Springer-Verlag.
BS10
Brown C.E., Smolka G. (June 2010), Analytic Tableaux for Simple Type Theory and its First-Order Fragment, Logical Methods in Computer Science 6(2)
ES04
Eén N., Sörensson N. (2004), An Extensible SAT-solver, Giunchiglia E., Tacchella A., Proceedings of the 6th International Conference on Theory and Applications of Satisfiability Testing (Santa Margherita Ligure, Italy), pp.502-518, Lecture Notes in Computer Science 2919, Springer-Verlag.