src/HOL/SAT.thy
author obua
Sat, 24 Sep 2005 13:11:05 +0200
changeset 17625 1539d18e3e9f
parent 17618 1330157e156a
child 17627 ff1923b1978b
permissions -rw-r--r--
preliminary fix of HOL build problem
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
17618
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
     1
(*  Title:      HOL/SAT.thy
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
     2
    ID:         $Id$
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
     3
    Author:     Alwen Tiu, Tjark Weber
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
     4
    Copyright   2005
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
     5
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
     6
Basic setup for the 'sat' tactic.
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
     7
*)
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
     8
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
     9
header {* Reconstructing external resolution proofs for propositional logic *}
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    10
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    11
theory SAT imports HOL
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    12
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    13
uses "Tools/sat_solver.ML"
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    14
     "Tools/cnf_funcs.ML"
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    15
     "Tools/sat_funcs.ML"
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    16
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    17
begin
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    18
17625
1539d18e3e9f preliminary fix of HOL build problem
obua
parents: 17618
diff changeset
    19
(*
17618
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    20
ML {* structure sat = SATFunc(structure cnf_struct = cnf); *}
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    21
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    22
method_setup sat = {* Method.no_args (Method.SIMPLE_METHOD sat.sat_tac) *}
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    23
  "SAT solver"
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    24
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    25
method_setup satx = {* Method.no_args (Method.SIMPLE_METHOD sat.satx_tac) *}
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    26
  "SAT solver (with definitional CNF)"
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    27
17625
1539d18e3e9f preliminary fix of HOL build problem
obua
parents: 17618
diff changeset
    28
17618
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    29
method_setup cnf = {* Method.no_args (Method.SIMPLE_METHOD cnf.cnf_tac) *}
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    30
  "Transforming hypotheses in a goal into CNF"
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    31
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    32
method_setup cnf_concl = {* Method.no_args (Method.SIMPLE_METHOD cnf.cnf_concl_tac) *}
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    33
  "Transforming the conclusion of a goal to CNF"
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    34
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    35
method_setup cnf_thin = {* Method.no_args (Method.SIMPLE_METHOD cnf.cnf_thin_tac) *}
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    36
  "Same as cnf, but remove the original hypotheses"
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    37
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    38
method_setup cnfx_thin = {* Method.no_args (Method.SIMPLE_METHOD cnf.cnfx_thin_tac) *}
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    39
  "Same as cnf_thin, but may introduce extra variables"
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    40
*)
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    41
1330157e156a new sat tactic imports resolution proofs from zChaff
webertj
parents:
diff changeset
    42
end