src/HOL/SAT.thy
author blanchet
Mon Dec 14 12:14:12 2009 +0100 (2009-12-14)
changeset 34120 f9920a3ddf50
parent 32232 6c394343360f
child 39036 dff91b90d74c
permissions -rw-r--r--
added "no_assms" option to Refute, and include structured proof assumptions by default;
will do the same for Quickcheck unless there are objections
webertj@17618
     1
(*  Title:      HOL/SAT.thy
webertj@17618
     2
    Author:     Alwen Tiu, Tjark Weber
webertj@17618
     3
    Copyright   2005
webertj@17618
     4
webertj@17627
     5
Basic setup for the 'sat' and 'satx' tactic.
webertj@17618
     6
*)
webertj@17618
     7
webertj@17618
     8
header {* Reconstructing external resolution proofs for propositional logic *}
webertj@17618
     9
haftmann@26521
    10
theory SAT
haftmann@26521
    11
imports Refute
wenzelm@17722
    12
uses
haftmann@26521
    13
  "Tools/cnf_funcs.ML"
haftmann@26521
    14
  "Tools/sat_funcs.ML"
webertj@17618
    15
begin
webertj@17618
    16
wenzelm@17722
    17
text {* \medskip Late package setup: default values for refute, see
wenzelm@21588
    18
  also theory @{theory Refute}. *}
wenzelm@17722
    19
wenzelm@17722
    20
refute_params
wenzelm@17722
    21
 ["itself"=1,
wenzelm@17722
    22
  minsize=1,
wenzelm@17722
    23
  maxsize=8,
wenzelm@17722
    24
  maxvars=10000,
wenzelm@17722
    25
  maxtime=60,
blanchet@34120
    26
  satsolver="auto",
blanchet@34120
    27
  no_assms="false"]
wenzelm@17722
    28
wenzelm@32232
    29
ML {* structure sat = SATFunc(cnf) *}
webertj@17618
    30
wenzelm@32232
    31
method_setup sat = {* Scan.succeed (SIMPLE_METHOD' o sat.sat_tac) *}
webertj@17618
    32
  "SAT solver"
webertj@17618
    33
wenzelm@32232
    34
method_setup satx = {* Scan.succeed (SIMPLE_METHOD' o sat.satx_tac) *}
webertj@17618
    35
  "SAT solver (with definitional CNF)"
webertj@17618
    36
webertj@17618
    37
end