src/HOL/Tools/res_axioms.ML
changeset 18708 4b3dadb4fe33
parent 18680 677e2bdd75f0
child 18728 6790126ab5f6
equal deleted inserted replaced
18707:9d6154f76476 18708:4b3dadb4fe33
    25   val pairname : thm -> (string * thm)
    25   val pairname : thm -> (string * thm)
    26   val skolem_thm : thm -> thm list
    26   val skolem_thm : thm -> thm list
    27   val cnf_rules1 : (string * thm) list -> string list -> (string * thm list) list * string list
    27   val cnf_rules1 : (string * thm) list -> string list -> (string * thm list) list * string list
    28   val cnf_rules2 : (string * thm) list -> string list -> (string * term list) list * string list
    28   val cnf_rules2 : (string * thm) list -> string list -> (string * term list) list * string list
    29 
    29 
    30   val meson_method_setup : (theory -> theory) list  (*Reconstruction.thy*)
    30   val meson_method_setup : theory -> theory
    31   val setup : (theory -> theory) list               (*Main.thy*)
    31   val setup : theory -> theory
    32   end;
    32   end;
    33 
    33 
    34 structure ResAxioms : RES_AXIOMS =
    34 structure ResAxioms : RES_AXIOMS =
    35  
    35  
    36 struct
    36 struct
   469 fun meson_meth ths ctxt =
   469 fun meson_meth ths ctxt =
   470   Method.SIMPLE_METHOD' HEADGOAL
   470   Method.SIMPLE_METHOD' HEADGOAL
   471     (CHANGED_PROP o Meson.meson_claset_tac (cnf_rules_of_ths ths) (local_claset_of ctxt));
   471     (CHANGED_PROP o Meson.meson_claset_tac (cnf_rules_of_ths ths) (local_claset_of ctxt));
   472 
   472 
   473 val meson_method_setup =
   473 val meson_method_setup =
   474  [Method.add_methods
   474   Method.add_methods
   475   [("meson", Method.thms_ctxt_args meson_meth, 
   475     [("meson", Method.thms_ctxt_args meson_meth, 
   476     "The MESON resolution proof procedure")]];
   476       "The MESON resolution proof procedure")];
   477 
   477 
   478 
   478 
   479 
   479 
   480 (*** The Skolemization attribute ***)
   480 (*** The Skolemization attribute ***)
   481 
   481 
   495 
   495 
   496 val setup_attrs = Attrib.add_attributes
   496 val setup_attrs = Attrib.add_attributes
   497  [("skolem", (skolem_global, skolem_local),
   497  [("skolem", (skolem_global, skolem_local),
   498     "skolemization of a theorem")];
   498     "skolemization of a theorem")];
   499 
   499 
   500 val setup = [clause_cache_setup, setup_attrs];
   500 val setup = clause_cache_setup #> setup_attrs;
   501 
   501 
   502 end; 
   502 end;