equal
deleted
inserted
replaced
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 |