src/Pure/raw_simplifier.ML
changeset 47239 0b1829860149
parent 46707 1427dcc7c9a6
child 48992 0518bf89c777
equal deleted inserted replaced
47238:289dcbdd5984 47239:0b1829860149
    99   val set_termless: (term * term -> bool) -> simpset -> simpset
    99   val set_termless: (term * term -> bool) -> simpset -> simpset
   100   val set_subgoaler: (simpset -> int -> tactic) -> simpset -> simpset
   100   val set_subgoaler: (simpset -> int -> tactic) -> simpset -> simpset
   101   val solver: simpset -> solver -> int -> tactic
   101   val solver: simpset -> solver -> int -> tactic
   102   val simp_depth_limit_raw: Config.raw
   102   val simp_depth_limit_raw: Config.raw
   103   val clear_ss: simpset -> simpset
   103   val clear_ss: simpset -> simpset
       
   104   val default_mk_sym: simpset -> thm -> thm option
   104   val simproc_global_i: theory -> string -> term list
   105   val simproc_global_i: theory -> string -> term list
   105     -> (theory -> simpset -> term -> thm option) -> simproc
   106     -> (theory -> simpset -> term -> thm option) -> simproc
   106   val simproc_global: theory -> string -> string list
   107   val simproc_global: theory -> string -> string list
   107     -> (theory -> simpset -> term -> thm option) -> simproc
   108     -> (theory -> simpset -> term -> thm option) -> simproc
   108   val simp_trace_depth_limit_raw: Config.raw
   109   val simp_trace_depth_limit_raw: Config.raw
   764 
   765 
   765 fun clear_ss (ss as Simpset (_, {mk_rews, termless, subgoal_tac, solvers, ...})) =
   766 fun clear_ss (ss as Simpset (_, {mk_rews, termless, subgoal_tac, solvers, ...})) =
   766   init_ss mk_rews termless subgoal_tac solvers
   767   init_ss mk_rews termless subgoal_tac solvers
   767   |> inherit_context ss;
   768   |> inherit_context ss;
   768 
   769 
       
   770 fun default_mk_sym _ th = SOME (th RS Drule.symmetric_thm);
       
   771 
   769 val empty_ss =
   772 val empty_ss =
   770   init_ss
   773   init_ss
   771     {mk = fn _ => fn th => if can Logic.dest_equals (Thm.concl_of th) then [th] else [],
   774     {mk = fn _ => fn th => if can Logic.dest_equals (Thm.concl_of th) then [th] else [],
   772       mk_cong = K I,
   775       mk_cong = K I,
   773       mk_sym = K (SOME o Drule.symmetric_fun),
   776       mk_sym = default_mk_sym,
   774       mk_eq_True = K (K NONE),
   777       mk_eq_True = K (K NONE),
   775       reorient = default_reorient}
   778       reorient = default_reorient}
   776     Term_Ord.termless (K (K no_tac)) ([], []);
   779     Term_Ord.termless (K (K no_tac)) ([], []);
   777 
   780 
   778 
   781