diff -r eaec72532dd7 -r 0a50d4db234a src/HOL/FunDef.thy --- a/src/HOL/FunDef.thy Mon Jan 22 16:53:33 2007 +0100 +++ b/src/HOL/FunDef.thy Mon Jan 22 17:29:43 2007 +0100 @@ -13,13 +13,11 @@ ("Tools/function_package/fundef_lib.ML") ("Tools/function_package/inductive_wrap.ML") ("Tools/function_package/context_tree.ML") -("Tools/function_package/fundef_prep.ML") -("Tools/function_package/fundef_proof.ML") +("Tools/function_package/fundef_core.ML") ("Tools/function_package/termination.ML") ("Tools/function_package/mutual.ML") ("Tools/function_package/pattern_split.ML") ("Tools/function_package/fundef_package.ML") -(*("Tools/function_package/fundef_datatype.ML")*) ("Tools/function_package/auto_term.ML") begin @@ -71,6 +69,27 @@ done +lemma not_accP_down: + assumes na: "\ accP R x" + obtains z where "R z x" and "\accP R z" +proof - + assume a: "\z. \R z x; \ accP R z\ \ thesis" + + show thesis + proof (cases "\z. R z x \ accP R z") + case True + hence "\z. R z x \ accP R z" by auto + hence "accP R x" + by (rule accPI) + with na show thesis .. + next + case False then obtain z where "R z x" and "\accP R z" + by auto + with a show thesis . + qed +qed + + lemma accP_subset: assumes sub: "\x y. R1 x y \ R2 x y" shows "\x. accP R2 x \ accP R1 x" @@ -195,8 +214,7 @@ use "Tools/function_package/fundef_lib.ML" use "Tools/function_package/inductive_wrap.ML" use "Tools/function_package/context_tree.ML" -use "Tools/function_package/fundef_prep.ML" -use "Tools/function_package/fundef_proof.ML" +use "Tools/function_package/fundef_core.ML" use "Tools/function_package/termination.ML" use "Tools/function_package/mutual.ML" use "Tools/function_package/pattern_split.ML"