105 solvers.} |
105 solvers.} |
106 % |
106 % |
107 The supported ATPs are AgsyHOL \cite{agsyHOL}, Alt-Ergo \cite{alt-ergo}, E |
107 The supported ATPs are AgsyHOL \cite{agsyHOL}, Alt-Ergo \cite{alt-ergo}, E |
108 \cite{schulz-2002}, E-SInE \cite{sine}, E-ToFoF \cite{tofof}, iProver |
108 \cite{schulz-2002}, E-SInE \cite{sine}, E-ToFoF \cite{tofof}, iProver |
109 \cite{korovin-2009}, iProver-Eq \cite{korovin-sticksel-2010}, LEO-II |
109 \cite{korovin-2009}, iProver-Eq \cite{korovin-sticksel-2010}, LEO-II |
110 \cite{leo2}, Satallax \cite{satallax}, SNARK \cite{snark}, SPASS |
110 \cite{leo2}, Leo-III \cite{leo3}, Satallax \cite{satallax}, SNARK \cite{snark}, SPASS |
111 \cite{weidenbach-et-al-2009}, Vampire \cite{riazanov-voronkov-2002}, |
111 \cite{weidenbach-et-al-2009}, Vampire \cite{riazanov-voronkov-2002}, |
112 Waldmeister \cite{waldmeister}, and Zipperposition \cite{cruanes-2014}. |
112 Waldmeister \cite{waldmeister}, and Zipperposition \cite{cruanes-2014}. |
113 The ATPs are run either locally or remotely via the System\-On\-TPTP web service |
113 The ATPs are run either locally or remotely via the System\-On\-TPTP web service |
114 \cite{sutcliffe-2000}. The supported SMT solvers are CVC3 \cite{cvc3}, CVC4 |
114 \cite{sutcliffe-2000}. The supported SMT solvers are CVC3 \cite{cvc3}, CVC4 |
115 \cite{cvc4}, veriT \cite{bouton-et-al-2009}, and Z3 \cite{z3}. These are always |
115 \cite{cvc4}, veriT \cite{bouton-et-al-2009}, and Z3 \cite{z3}. These are always |
152 \label{installation} |
152 \label{installation} |
153 |
153 |
154 Sledgehammer is part of Isabelle, so you do not need to install it. However, it |
154 Sledgehammer is part of Isabelle, so you do not need to install it. However, it |
155 relies on third-party automatic provers (ATPs and SMT solvers). |
155 relies on third-party automatic provers (ATPs and SMT solvers). |
156 |
156 |
157 Among the ATPs, AgsyHOL, Alt-Ergo, E, LEO-II, Satallax, SPASS, Vampire, and |
157 Among the ATPs, AgsyHOL, Alt-Ergo, E, LEO-II, Leo-III, Satallax, SPASS, Vampire, and |
158 Zipperposition can be run locally; in addition, AgsyHOL, E, E-SInE, E-ToFoF, |
158 Zipperposition can be run locally; in addition, AgsyHOL, E, E-SInE, E-ToFoF, |
159 iProver, iProver-Eq, LEO-II, Satallax, SNARK, Vampire, and Waldmeister are |
159 iProver, iProver-Eq, LEO-II, Leo-III, Satallax, SNARK, Vampire, and Waldmeister are |
160 available remotely via System\-On\-TPTP \cite{sutcliffe-2000}. The SMT solvers |
160 available remotely via System\-On\-TPTP \cite{sutcliffe-2000}. The SMT solvers |
161 CVC3, CVC4, veriT, and Z3 can be run locally. |
161 CVC3, CVC4, veriT, and Z3 can be run locally. |
162 |
162 |
163 There are three main ways to install automatic provers on your machine: |
163 There are three main ways to install automatic provers on your machine: |
164 |
164 |
182 \texttt{/usr/local/spass-3.8ds} |
182 \texttt{/usr/local/spass-3.8ds} |
183 \postw |
183 \postw |
184 |
184 |
185 in it. |
185 in it. |
186 |
186 |
187 \item[\labelitemi] If you prefer to build AgsyHOL, Alt-Ergo, E, LEO-II, or |
187 \item[\labelitemi] If you prefer to build AgsyHOL, Alt-Ergo, E, LEO-II, Leo-III, or |
188 Satallax manually, or found a Vampire executable somewhere (e.g., |
188 Satallax manually, or found a Vampire executable somewhere (e.g., |
189 \url{http://www.vprover.org/}), set the environment variable |
189 \url{http://www.vprover.org/}), set the environment variable |
190 \texttt{AGSYHOL\_HOME}, \texttt{E\_HOME}, \texttt{LEO2\_HOME}, |
190 \texttt{AGSYHOL\_HOME}, \texttt{E\_HOME}, \texttt{LEO2\_HOME}, |
191 \texttt{SATALLAX\_HOME}, or |
191 \texttt{LEO3\_HOME}, \texttt{SATALLAX\_HOME}, or |
192 \texttt{VAMPIRE\_HOME} to the directory that contains the \texttt{agsyHOL}, |
192 \texttt{VAMPIRE\_HOME} to the directory that contains the \texttt{agsyHOL}, |
193 \texttt{eprover} (and/or \texttt{eproof} or \texttt{eproof\_ram}), |
193 \texttt{eprover} (and/or \texttt{eproof} or \texttt{eproof\_ram}), |
194 \texttt{leo}, \texttt{satallax}, or \texttt{vampire} executable; |
194 \texttt{leo}, \texttt{leo3}, \texttt{satallax}, or \texttt{vampire} executable; |
195 for Alt-Ergo, set the |
195 for Alt-Ergo, set the |
196 environment variable \texttt{WHY3\_HOME} to the directory that contains the |
196 environment variable \texttt{WHY3\_HOME} to the directory that contains the |
197 \texttt{why3} executable. |
197 \texttt{why3} executable. |
198 Sledgehammer has been tested with AgsyHOL 1.0, Alt-Ergo 0.95.2, E 1.6 to 2.0, |
198 Sledgehammer has been tested with AgsyHOL 1.0, Alt-Ergo 0.95.2, E 1.6 to 2.0, |
199 LEO-II 1.3.4, Satallax 2.2 to 2.7, and Vampire 0.6 to 4.0.% |
199 LEO-II 1.3.4, Leo-III 1.1, Satallax 2.2 to 2.7, and Vampire 0.6 to 4.0.% |
200 \footnote{Following the rewrite of Vampire, the counter for version numbers was |
200 \footnote{Following the rewrite of Vampire, the counter for version numbers was |
201 reset to 0; hence the (new) Vampire versions 0.6, 1.0, 1.8, 2.6, and 3.0 are more |
201 reset to 0; hence the (new) Vampire versions 0.6, 1.0, 1.8, 2.6, and 3.0 are more |
202 recent than 9.0 or 11.5.}% |
202 recent than 9.0 or 11.5.}% |
203 Since the ATPs' output formats are neither documented nor stable, other |
203 Since the ATPs' output formats are neither documented nor stable, other |
204 versions might not work well with Sledgehammer. Ideally, |
204 versions might not work well with Sledgehammer. Ideally, |
205 you should also set \texttt{E\_VERSION}, \texttt{LEO2\_VERSION}, |
205 you should also set \texttt{E\_VERSION}, \texttt{LEO2\_VERSION}, |
206 \texttt{SATALLAX\_VERSION}, or |
206 \texttt{LEO3\_VERSION}, \texttt{SATALLAX\_VERSION}, or |
207 \texttt{VAMPIRE\_VERSION} to the prover's version number (e.g., ``4.0''). |
207 \texttt{VAMPIRE\_VERSION} to the prover's version number (e.g., ``4.0''). |
208 |
208 |
209 Similarly, if you want to install CVC3, CVC4, veriT, or Z3, set the environment |
209 Similarly, if you want to install CVC3, CVC4, veriT, or Z3, set the environment |
210 variable \texttt{CVC3\_\allowbreak SOLVER}, \texttt{CVC4\_\allowbreak SOLVER}, |
210 variable \texttt{CVC3\_\allowbreak SOLVER}, \texttt{CVC4\_\allowbreak SOLVER}, |
211 \texttt{VERIT\_\allowbreak SOLVER}, or \texttt{Z3\_SOLVER} to the complete path |
211 \texttt{VERIT\_\allowbreak SOLVER}, or \texttt{Z3\_SOLVER} to the complete path |
785 higher-order prover developed by Christoph Benzm\"uller et al.\ \cite{leo2}, |
785 higher-order prover developed by Christoph Benzm\"uller et al.\ \cite{leo2}, |
786 with support for the TPTP typed higher-order syntax (THF0). To use LEO-II, set |
786 with support for the TPTP typed higher-order syntax (THF0). To use LEO-II, set |
787 the environment variable \texttt{LEO2\_HOME} to the directory that contains the |
787 the environment variable \texttt{LEO2\_HOME} to the directory that contains the |
788 \texttt{leo} executable. Sledgehammer requires version 1.3.4 or above. |
788 \texttt{leo} executable. Sledgehammer requires version 1.3.4 or above. |
789 |
789 |
|
790 \item[\labelitemi] \textbf{\textit{leo3}:} Leo-III is an automatic |
|
791 higher-order prover developed by Alexander Steen, Max Wisniewski, Christoph |
|
792 Benzm\"uller et al.\ \cite{leo3}, |
|
793 with support for the TPTP typed higher-order syntax (THF0). To use Leo-III, set |
|
794 the environment variable \texttt{LEO3\_HOME} to the directory that contains the |
|
795 \texttt{leo3} executable. Sledgehammer requires version 1.1 or above. |
|
796 |
790 \item[\labelitemi] \textbf{\textit{satallax}:} Satallax is an automatic |
797 \item[\labelitemi] \textbf{\textit{satallax}:} Satallax is an automatic |
791 higher-order prover developed by Chad Brown et al.\ \cite{satallax}, with |
798 higher-order prover developed by Chad Brown et al.\ \cite{satallax}, with |
792 support for the TPTP typed higher-order syntax (THF0). To use Satallax, set the |
799 support for the TPTP typed higher-order syntax (THF0). To use Satallax, set the |
793 environment variable \texttt{SATALLAX\_HOME} to the directory that contains the |
800 environment variable \texttt{SATALLAX\_HOME} to the directory that contains the |
794 \texttt{satallax} executable. Sledgehammer requires version 2.2 or above. |
801 \texttt{satallax} executable. Sledgehammer requires version 2.2 or above. |
861 \item[\labelitemi] \textbf{\textit{remote\_iprover\_eq}:} The |
868 \item[\labelitemi] \textbf{\textit{remote\_iprover\_eq}:} The |
862 remote version of iProver-Eq runs on Geoff Sutcliffe's Miami servers |
869 remote version of iProver-Eq runs on Geoff Sutcliffe's Miami servers |
863 \cite{sutcliffe-2000}. |
870 \cite{sutcliffe-2000}. |
864 |
871 |
865 \item[\labelitemi] \textbf{\textit{remote\_leo2}:} The remote version of LEO-II |
872 \item[\labelitemi] \textbf{\textit{remote\_leo2}:} The remote version of LEO-II |
|
873 runs on Geoff Sutcliffe's Miami servers \cite{sutcliffe-2000}. |
|
874 |
|
875 \item[\labelitemi] \textbf{\textit{remote\_leo3}:} The remote version of Leo-III |
866 runs on Geoff Sutcliffe's Miami servers \cite{sutcliffe-2000}. |
876 runs on Geoff Sutcliffe's Miami servers \cite{sutcliffe-2000}. |
867 |
877 |
868 \item[\labelitemi] \textbf{\textit{remote\_pirate}:} Pirate is a |
878 \item[\labelitemi] \textbf{\textit{remote\_pirate}:} Pirate is a |
869 highly experimental first-order resolution prover developed by Daniel Wand. |
879 highly experimental first-order resolution prover developed by Daniel Wand. |
870 The remote version of Pirate run on a private server he generously set up. |
880 The remote version of Pirate run on a private server he generously set up. |