src/HOL/Tools/function_package/termination.ML
changeset 19770 be5c23ebe1eb
parent 19583 c5fa77b03442
child 19806 f860b7a98445
--- a/src/HOL/Tools/function_package/termination.ML	Mon Jun 05 14:22:58 2006 +0200
+++ b/src/HOL/Tools/function_package/termination.ML	Mon Jun 05 14:26:07 2006 +0200
@@ -9,8 +9,8 @@
 
 signature FUNDEF_TERMINATION =
 sig
-    val mk_total_termination_goal : FundefCommon.fundef_result -> term
-    val mk_partial_termination_goal : theory -> FundefCommon.fundef_result -> string -> term * term
+    val mk_total_termination_goal : FundefCommon.result_with_names -> term
+    val mk_partial_termination_goal : theory -> FundefCommon.result_with_names -> string -> term * term
 end
 
 structure FundefTermination : FUNDEF_TERMINATION =
@@ -20,20 +20,16 @@
 open FundefCommon
 open FundefAbbrev
 
-fun mk_total_termination_goal data =
+fun mk_total_termination_goal (FundefMResult {R, f, ... }, _, _, _) =
     let
-	val FundefResult {R, f, ... } = data
-
 	val domT = domain_type (fastype_of f)
 	val x = Free ("x", domT)
     in
 	Trueprop (mk_mem (x, Const (acc_const_name, fastype_of R --> HOLogic.mk_setT domT) $ R))
     end
 
-fun mk_partial_termination_goal thy data dom =
+fun mk_partial_termination_goal thy (FundefMResult {R, f, ... }, _, _, _) dom =
     let
-	val FundefResult {R, f, ... } = data
-
 	val domT = domain_type (fastype_of f)
 	val D = Sign.simple_read_term thy (Type.varifyT (HOLogic.mk_setT domT)) dom
 	val DT = type_of D