src/HOL/Tools/function_package/termination.ML
changeset 21104 b6ab939147eb
parent 21051 c49467a9c1e1
child 21237 b803f9870e97
equal deleted inserted replaced
21103:367b4ad7c7cc 21104:b6ab939147eb
    24 fun mk_total_termination_goal (FundefMResult {R, f, ... }, _, _) =
    24 fun mk_total_termination_goal (FundefMResult {R, f, ... }, _, _) =
    25     let
    25     let
    26 	val domT = domain_type (fastype_of f)
    26 	val domT = domain_type (fastype_of f)
    27 	val x = Free ("x", domT)
    27 	val x = Free ("x", domT)
    28     in
    28     in
    29       Trueprop (mk_acc domT R $ x)
    29       mk_forall x (Trueprop (mk_acc domT R $ x))
    30     end
    30     end
    31 
    31 
    32 fun mk_partial_termination_goal thy (FundefMResult {R, f, ... }, _, _) dom =
    32 fun mk_partial_termination_goal thy (FundefMResult {R, f, ... }, _, _) dom =
    33     let
    33     let
    34 	val domT = domain_type (fastype_of f)
    34 	val domT = domain_type (fastype_of f)