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.