src/HOL/Tools/Function/function.ML
changeset 36960 01594f816e3a
parent 36547 2a9d0ec8c10d
child 37145 01aa36932739
equal deleted inserted replaced
36959:f5417836dbea 36960:01594f816e3a
   272 val get_congs = Function_Ctx_Tree.get_function_congs
   272 val get_congs = Function_Ctx_Tree.get_function_congs
   273 
   273 
   274 fun get_info ctxt t = Item_Net.retrieve (get_function ctxt) t
   274 fun get_info ctxt t = Item_Net.retrieve (get_function ctxt) t
   275   |> the_single |> snd
   275   |> the_single |> snd
   276 
   276 
       
   277 
   277 (* outer syntax *)
   278 (* outer syntax *)
   278 
   279 
   279 local structure P = OuterParse and K = OuterKeyword in
       
   280 
       
   281 val _ =
   280 val _ =
   282   OuterSyntax.local_theory_to_proof "function" "define general recursive functions" K.thy_goal
   281   Outer_Syntax.local_theory_to_proof "function" "define general recursive functions"
       
   282   Keyword.thy_goal
   283   (function_parser default_config
   283   (function_parser default_config
   284      >> (fn ((config, fixes), statements) => function_cmd fixes statements config))
   284      >> (fn ((config, fixes), statements) => function_cmd fixes statements config))
   285 
   285 
   286 val _ =
   286 val _ =
   287   OuterSyntax.local_theory_to_proof "termination" "prove termination of a recursive function" K.thy_goal
   287   Outer_Syntax.local_theory_to_proof "termination" "prove termination of a recursive function"
   288   (Scan.option P.term >> termination_cmd)
   288   Keyword.thy_goal
       
   289   (Scan.option Parse.term >> termination_cmd)
       
   290 
   289 
   291 
   290 end
   292 end
   291 
       
   292 
       
   293 end