Otter and MACE

Otter 6] is a program that searches for proofs, and MACE 5] is a program that searches for small nite counterexamples. Both apply to statements in rst-order logic with equality. Otter is more powerful and exible at its task than MACE is at its task (consequently, Otter is more diicult to use). When searching for a proof with Otter the user typically formulates a search strategy and makes several attempts, modifying the strategy along the way. When searching for a counterexample with MACE, the user simply supplies a statement of the conjecture; if the conjecture is not too complex, and if there exist small nite models, then MACE will nd them. For many of our conjectures (quasigroup problems in particular), we know that counterexamples, if they exist, must be innnite; MACE is useless in such cases. But the two programs nicely complement one another in many other cases. Version 3.0.?? of Otter and version 1.0.?? of MACE were used for the experiments presented in this document. Both programs are in the public domain and are available by anonymous FTP. (All of the input les are also available by FTP.) See ftp://info.mcs.anl.gov/pub/Otter/README for information on obtaining the programs. The primary documentation for the programs are 6] and 5]; these are included with the programs when obtained by FTP. The following descriptions of the two programs are informal. See the manuals and 13] for more formal and detailed presentations. First, we deene some terms of automated theorem proving. 2.1 Deenitions These deenitions are biased toward Otter and equational theorem proving. A term is either a variable, a constant, or the application of an n-ary function symbol to n terms. An atom is the application of an n-ary predicate symbol to n terms. Nearly all atoms in this work will be equalities.