src/HOL/Tools/Sledgehammer/sledgehammer_atp_reconstruct.ML
changeset 42966 4e2d6c1e5392
parent 42962 3b50fdeb6cfc
child 42968 74415622d293
equal deleted inserted replaced
42965:1403595ec38c 42966:4e2d6c1e5392
   390             if s' = type_tag_name then
   390             if s' = type_tag_name then
   391               case mangled_us @ us of
   391               case mangled_us @ us of
   392                 [typ_u, term_u] =>
   392                 [typ_u, term_u] =>
   393                 aux (SOME (typ_from_fo_term tfrees typ_u)) extra_us term_u
   393                 aux (SOME (typ_from_fo_term tfrees typ_u)) extra_us term_u
   394               | _ => raise FO_TERM us
   394               | _ => raise FO_TERM us
   395             else if s' = predicator_base then
   395             else if s' = predicator_name then
   396               aux (SOME @{typ bool}) [] (hd us)
   396               aux (SOME @{typ bool}) [] (hd us)
   397             else if s' = explicit_app_base then
   397             else if s' = app_op_name then
   398               aux opt_T (nth us 1 :: extra_us) (hd us)
   398               aux opt_T (nth us 1 :: extra_us) (hd us)
   399             else if s' = type_pred_base then
   399             else if s' = type_pred_name then
   400               @{const True} (* ignore type predicates *)
   400               @{const True} (* ignore type predicates *)
   401             else
   401             else
   402               let
   402               let
   403                 val num_ty_args =
   403                 val num_ty_args =
   404                   length us - the_default 0 (Symtab.lookup sym_tab s)
   404                   length us - the_default 0 (Symtab.lookup sym_tab s)