src/HOL/SAT.thy
author wenzelm
Fri Mar 13 19:58:26 2009 +0100 (2009-03-13)
changeset 30510 4120fc59dd85
parent 26521 f8c4e79db153
child 30549 d2d7874648bd
permissions -rw-r--r--
unified type Proof.method and pervasive METHOD combinators;
webertj@17618
     1
(*  Title:      HOL/SAT.thy
webertj@17618
     2
    ID:         $Id$
webertj@17618
     3
    Author:     Alwen Tiu, Tjark Weber
webertj@17618
     4
    Copyright   2005
webertj@17618
     5
webertj@17627
     6
Basic setup for the 'sat' and 'satx' tactic.
webertj@17618
     7
*)
webertj@17618
     8
webertj@17618
     9
header {* Reconstructing external resolution proofs for propositional logic *}
webertj@17618
    10
haftmann@26521
    11
theory SAT
haftmann@26521
    12
imports Refute
wenzelm@17722
    13
uses
haftmann@26521
    14
  "Tools/cnf_funcs.ML"
haftmann@26521
    15
  "Tools/sat_funcs.ML"
webertj@17618
    16
begin
webertj@17618
    17
wenzelm@17722
    18
text {* \medskip Late package setup: default values for refute, see
wenzelm@21588
    19
  also theory @{theory Refute}. *}
wenzelm@17722
    20
wenzelm@17722
    21
refute_params
wenzelm@17722
    22
 ["itself"=1,
wenzelm@17722
    23
  minsize=1,
wenzelm@17722
    24
  maxsize=8,
wenzelm@17722
    25
  maxvars=10000,
wenzelm@17722
    26
  maxtime=60,
wenzelm@17722
    27
  satsolver="auto"]
wenzelm@17722
    28
webertj@17627
    29
ML {* structure sat = SATFunc(structure cnf = cnf); *}
webertj@17618
    30
wenzelm@30510
    31
method_setup sat = {* Method.no_args (SIMPLE_METHOD' sat.sat_tac) *}
webertj@17618
    32
  "SAT solver"
webertj@17618
    33
wenzelm@30510
    34
method_setup satx = {* Method.no_args (SIMPLE_METHOD' sat.satx_tac) *}
webertj@17618
    35
  "SAT solver (with definitional CNF)"
webertj@17618
    36
webertj@17618
    37
end