# HG changeset patch # User krauss # Date 1196861818 -3600 # Node ID 21cd20c1ce9808fb1228a45e90f223c8393a3872 # Parent 437251bbc5ce2b90fb264d6342cf6f5a9080f10b methods "relation" and "lexicographic_order" do not insist on applying the "f.termination" rule of a function. diff -r 437251bbc5ce -r 21cd20c1ce98 src/HOL/Tools/function_package/auto_term.ML --- a/src/HOL/Tools/function_package/auto_term.ML Wed Dec 05 14:32:17 2007 +0100 +++ b/src/HOL/Tools/function_package/auto_term.ML Wed Dec 05 14:36:58 2007 +0100 @@ -26,7 +26,7 @@ end fun relation_tac ctxt rel i = - FundefCommon.apply_termination_rule ctxt i + TRY (FundefCommon.apply_termination_rule ctxt i) THEN PRIMITIVE (inst_thm ctxt rel) val setup = Method.add_methods diff -r 437251bbc5ce -r 21cd20c1ce98 src/HOL/Tools/function_package/lexicographic_order.ML --- a/src/HOL/Tools/function_package/lexicographic_order.ML Wed Dec 05 14:32:17 2007 +0100 +++ b/src/HOL/Tools/function_package/lexicographic_order.ML Wed Dec 05 14:36:58 2007 +0100 @@ -323,8 +323,9 @@ THEN EVERY (map prove_row clean_table)) end -fun lexicographic_order thms ctxt = Method.SIMPLE_METHOD (FundefCommon.apply_termination_rule ctxt 1 - THEN lexicographic_order_tac ctxt (auto_tac (local_clasimpset_of ctxt))) +fun lexicographic_order thms ctxt = + Method.SIMPLE_METHOD (TRY (FundefCommon.apply_termination_rule ctxt 1) + THEN lexicographic_order_tac ctxt (auto_tac (local_clasimpset_of ctxt))) val setup = Method.add_methods [("lexicographic_order", Method.bang_sectioned_args clasimp_modifiers lexicographic_order, "termination prover for lexicographic orderings")]