src/HOL/TPTP/CASC/SysDesc_Isabelle.html
changeset 52098 6c38df1d294a
child 60716 8e82a83757df
equal deleted inserted replaced
52097:f353fe3c2b92 52098:6c38df1d294a
       
     1 <HR><!------------------------------------------------------------------------>
       
     2 <H2>Isabelle/HOL 2013</H2>
       
     3 Jasmin C. Blanchette<sup>1</sup>, Lawrence C. Paulson<sup>2</sup>,
       
     4 Tobias Nipkow<sup>1</sup>, Makarius Wenzel<sup>3</sup> <BR>
       
     5 <sup>1</sup>Technische Universit&auml;t M&uuml;nchen, Germany <BR>
       
     6 <sup>2</sup>University of Cambridge, United Kingdom <BR>
       
     7 <sup>3</sup>Universit&eacute; Paris Sud, France <BR>
       
     8 
       
     9 <H3>Architecture</H3>
       
    10 
       
    11 Isabelle/HOL 2013 [<A HREF="#References">NPW13</A>] is the higher-order 
       
    12 logic incarnation of the generic proof assistant 
       
    13 <A HREF="http://www.cl.cam.ac.uk/research/hvg/Isabelle/">Isabelle2013</A>.
       
    14 Isabelle/HOL provides several automatic proof tactics, notably an equational
       
    15 reasoner [<A HREF="#References">Nip89</A>], a classical reasoner [<A
       
    16 HREF="#References">Pau94</A>], and a tableau prover [<A
       
    17 HREF="#References">Pau99</A>]. It also integrates external first- and
       
    18 higher-order provers via its subsystem Sledgehammer [<A
       
    19 HREF="#References">PB10</A>, <A HREF="#References">BBP11</A>].
       
    20 
       
    21 <P>
       
    22 Isabelle includes a parser for the TPTP syntaxes CNF, FOF, TFF0, and THF0, due
       
    23 to Nik Sultana. It also includes TPTP versions of its popular tools, invokable
       
    24 on the command line as <tt>isabelle tptp_<em>tool</em> <em>max_secs</em>
       
    25 <em>file.p</em></tt>. For example:
       
    26 
       
    27 <blockquote><pre>
       
    28 isabelle tptp_isabelle_hot 100 SEU/SEU824^3.p
       
    29 </pre></blockquote>
       
    30 
       
    31 <P>
       
    32 Two versions of Isabelle participate this year. The <em>demo</em> (or HOT) version
       
    33 includes its competitors LEO-II [<A HREF="#References">BPTF08</A>] and Satallax
       
    34 [<A HREF="#References">Bro12</A>] as Sledgehammer backends, whereas the
       
    35 <em>competition</em> version leaves them out.
       
    36 
       
    37 <H3>Strategies</H3>
       
    38 
       
    39 The <em>Isabelle</em> tactic submitted to the competition simply tries the
       
    40 following tactics sequentially:
       
    41 
       
    42 <DL>
       
    43 <DT> <tt>sledgehammer</tt>
       
    44 <DD> Invokes the following sequence of provers as oracles via Sledgehammer:
       
    45 	<UL>
       
    46 	<LI> <tt>satallax</tt>&mdash;Satallax 2.4 [<A HREF="#References">Bro12</A>] (<em>demo only</em>);
       
    47 	<LI> <tt>leo2</tt>&mdash;LEO-II 1.3.2 [<A HREF="#References">BPTF08</A>] (<em>demo only</em>);
       
    48 	<LI> <tt>spass</tt>&mdash;SPASS 3.8ds [<A HREF="#References">BPWW12</A>];
       
    49 	<LI> <tt>vampire</tt>&mdash;Vampire 1.8 (revision 1435) [<A HREF="#References">RV02</A>];
       
    50 	<LI> <tt>e</tt>&mdash;E 1.4 [<A HREF="#References">Sch04</A>];
       
    51 	<LI> <tt>z3_tptp</tt>&mdash;Z3 3.2 with TPTP syntax [<A HREF="#References">dMB08</A>].
       
    52 	</UL>
       
    53 <DT> <tt>nitpick</tt>
       
    54 <DD> For problems involving only the type <tt>$o</tt> of Booleans, checks
       
    55 	 whether a finite model exists using Nitpick [<A HREF="#References">BN10</A>].
       
    56 <DT> <tt>simp</tt>
       
    57 <DD> Performs equational reasoning using rewrite rules [<A HREF="#References">Nip89</A>].
       
    58 <DT> <tt>blast</tt>
       
    59 <DD> Searches for a proof using a fast untyped tableau prover and then
       
    60      attempts to reconstruct the proof using Isabelle tactics
       
    61      [<A HREF="#References">Pau99</A>].
       
    62 <DT> <tt>auto+spass</tt>
       
    63 <DD> Combines simplification and classical reasoning
       
    64 	 [<A HREF="#References">Pau94</A>] under one roof; then invoke Sledgehammer
       
    65      with SPASS on any subgoals that emerge.
       
    66 <DT> <tt>z3</tt>
       
    67 <DD> Invokes the SMT solver Z3 3.2 [<A HREF="#References">dMB08</A>].
       
    68 <DT> <tt>cvc3</tt>
       
    69 <DD> Invokes the SMT solver CVC3 2.2 [<A HREF="#References">BT07</A>].
       
    70 <DT> <tt>fast</tt>
       
    71 <DD> Searches for a proof using sequent-style reasoning, performing a
       
    72      depth-first search [<A HREF="#References">Pau94</A>]. Unlike
       
    73      <tt>blast</tt>, it construct proofs directly in Isabelle. That makes it
       
    74      slower but enables it to work in the presence of the more unusual features
       
    75      of HOL, such as type classes and function unknowns.
       
    76 <DT> <tt>best</tt>
       
    77 <DD> Similar to <tt>fast</tt>, except that it performs a best-first search.
       
    78 <DT> <tt>force</tt>
       
    79 <DD> Similar to <tt>auto</tt>, but more exhaustive.
       
    80 <DT> <tt>meson</tt>
       
    81 <DD> Implements Loveland's MESON procedure [<A HREF="#References">Lov78</A>].
       
    82 Constructs proofs directly in Isabelle.
       
    83 <DT> <tt>fastforce</tt>
       
    84 <DD> Combines <tt>fast</tt> and <tt>force</tt>.
       
    85 </DL>
       
    86 
       
    87 <H3>Implementation</H3>
       
    88 
       
    89 Isabelle is a generic theorem prover written in Standard ML. Its meta-logic,
       
    90 Isabelle/Pure, provides an intuitionistic fragment of higher-order logic. The
       
    91 HOL object logic extends pure with a more elaborate version of higher-order
       
    92 logic, complete with the familiar connectives and quantifiers. Other object
       
    93 logics are available, notably FOL (first-order logic) and ZF
       
    94 (Zermelo&ndash;Fraenkel set theory).
       
    95 <P>
       
    96 The implementation of Isabelle relies on a small LCF-style kernel, meaning that
       
    97 inferences are implemented as operations on an abstract <tt>theorem</tt>
       
    98 datatype. Assuming the kernel is correct, all values of type <tt>theorem</tt>
       
    99 are correct by construction.
       
   100 <P>
       
   101 Most of the code for Isabelle was written by the Isabelle teams at the
       
   102 University of Cambridge and the Technische Universit&auml;t M&uuml;nchen.
       
   103 Isabelle/HOL is available for all major platforms under a BSD-style license
       
   104 from
       
   105 <PRE>
       
   106     <A HREF="http:////www.cl.cam.ac.uk/research/hvg/Isabelle/">http://www.cl.cam.ac.uk/research/hvg/Isabelle</A></PRE>
       
   107 
       
   108 <H3>Expected Competition Performance</H3>
       
   109 
       
   110 <P>
       
   111 Isabelle won last year by a thin margin. This year: first or second place.
       
   112 
       
   113 <H3>References</H3>
       
   114 <DL>
       
   115 
       
   116 <DT> BBP11
       
   117 <DD> Blanchette J. C., B&ouml;hme S., Paulson L. C. (2011),
       
   118      <STRONG>Extending Sledgehammer with SMT Solvers</STRONG>,
       
   119      CADE-23, LNAI 6803, pp. 116&ndash;130, Springer.
       
   120 <DT> BN10
       
   121 <DD> Blanchette J. C., Nipkow T. (2010),
       
   122      <STRONG>Nitpick: A Counterexample Generator for Higher-Order Logic Based on a Relational Model Finder</STRONG>,
       
   123      ITP 2010, <EM>LNCS</EM> 6172, pp. 131&ndash;146, Springer.
       
   124 <DT> BPTF08
       
   125 <DD> Benzm&uuml;ller C., Paulson L. C., Theiss F., Fietzke A. (2008),
       
   126   	 <STRONG>LEO-II&mdash;A Cooperative Automatic Theorem Prover for Higher-Order Logic</STRONG>,
       
   127   	 IJCAR 2008, <EM>LNAI</EM> 5195, pp. 162&ndash;170, Springer.
       
   128 <DT> BPWW12
       
   129 <DD> Blanchette J. C., Popescu A., Wand D., Weidenbach C. (2012),
       
   130 	 <STRONG>More SPASS with Isabelle</STRONG>,
       
   131 	 ITP 2012, Springer.
       
   132 <DT> Bro12
       
   133 <DD> Brown C. (2012),
       
   134 	 <STRONG>Satallax: An Automated Higher-Order Prover (System Description)</STRONG>,
       
   135 	 IJCAR 2012, Springer.
       
   136 <DT> BT07
       
   137 <DD> Barrett C., Tinelli C. (2007),
       
   138 	 <STRONG>CVC3 (System Description)</STRONG>,
       
   139   	 CAV 2007, <EM>LNCS</EM> 4590, pp. 298&ndash;302, Springer.
       
   140 <DT> dMB08
       
   141 <DD> de Moura L. M., Bj&oslash;rner N. (2008),
       
   142      <STRONG>Z3: An Efficient SMT Solver</STRONG>,
       
   143 	 TACAS 2008, <EM>LNCS</EM> 4963, pp. 337&ndash;340, Springer.
       
   144 <DT> Lov78
       
   145 <DD> Loveland D. W. (1978),
       
   146      <STRONG>Automated Theorem Proving: A Logical Basis</STRONG>,
       
   147      North-Holland Publishing Co.
       
   148 <DT> Nip89
       
   149 <DD> Nipkow T. (1989),
       
   150      <STRONG>Equational Reasoning in Isabelle</STRONG>,
       
   151      <EM>Sci. Comput. Program.</EM> 12(2),
       
   152      pp. 123&ndash;149,
       
   153      Elsevier.
       
   154 <DT> NPW13
       
   155 <DD> Nipkow T., Paulson L. C., Wenzel M. (2013),
       
   156      <STRONG>Isabelle/HOL: A Proof Assistant for Higher-Order Logic</STRONG>,
       
   157      <A HREF="http://www.cl.cam.ac.uk/research/hvg/Isabelle/dist/Isabelle/doc/tutorial.pdf">http://www.cl.cam.ac.uk/research/hvg/Isabelle/dist/Isabelle/doc/tutorial.pdf</a>.
       
   158 <DT> Pau94
       
   159 <DD> Paulson L. C. (1994),
       
   160      <STRONG>Isabelle: A Generic Theorem Prover</STRONG>,
       
   161      <EM>LNCS</EM> 828,
       
   162      Springer.
       
   163 <DT> Pau99
       
   164 <DD> Paulson L. C. (1999),
       
   165      <STRONG>A Generic Tableau Prover and Its Integration with Isabelle</STRONG>,
       
   166      <EM>J. Univ. Comp. Sci.</EM> 5,
       
   167      pp. 73&ndash;87.
       
   168 <DT> PB10
       
   169 <DD> Paulson L. C., Blanchette J. C. (2010),
       
   170      <STRONG>Three Years of Experience with Sledgehammer, a Practical Link between Automatic and Interactive Theorem Provers</STRONG>,
       
   171      IWIL-2010.
       
   172 <DT> RV02
       
   173 <DD> Riazanov A., Voronkov A. (2002),
       
   174   	 <STRONG>The Design and Implementation of Vampire</STRONG>,
       
   175   	 <EM>AI Comm.</EM> 15(2-3), 91&ndash;110.
       
   176 <DT> Sch04
       
   177 <DD> Schulz S. (2004),
       
   178   	 <STRONG>System Description: E 0.81</STRONG>,
       
   179   	 IJCAR 2004, <EM>LNAI</EM> 3097, pp. 223&ndash;228, Springer.
       
   180 </DL>
       
   181 <P>
       
   182 
       
   183 <HR><!------------------------------------------------------------------------>