src/HOL/Tools/Sledgehammer/sledgehammer_isar_preplay.ML
changeset 55329 3c2dbd2e221f
parent 55328 0e17e92248ac
child 55452 29ec8680e61f
equal deleted inserted replaced
55328:0e17e92248ac 55329:3c2dbd2e221f
   131         HEADGOAL (tac_of_proof_method ctxt assmsp meth))
   131         HEADGOAL (tac_of_proof_method ctxt assmsp meth))
   132       handle ERROR msg => error ("Preplay error: " ^ msg)
   132       handle ERROR msg => error ("Preplay error: " ^ msg)
   133 
   133 
   134     val play_outcome = take_time timeout prove ()
   134     val play_outcome = take_time timeout prove ()
   135   in
   135   in
   136     (if Config.get ctxt trace then preplay_trace ctxt assmsp goal play_outcome else ();
   136     if Config.get ctxt trace then preplay_trace ctxt assmsp goal play_outcome else ();
   137      play_outcome)
   137     play_outcome
   138   end
   138   end
   139 
   139 
   140 fun preplay_isar_step_for_method ctxt timeout meth =
   140 fun preplay_isar_step_for_method ctxt timeout meth =
   141   try (raw_preplay_step_for_method ctxt timeout meth) #> the_default Play_Failed
   141   try (raw_preplay_step_for_method ctxt timeout meth) #> the_default Play_Failed
   142 
   142 
   198         (_, Not_Played) => snd (get_best_method_outcome Lazy.force meths_outcomes)
   198         (_, Not_Played) => snd (get_best_method_outcome Lazy.force meths_outcomes)
   199       | (_, outcome) => outcome)
   199       | (_, outcome) => outcome)
   200   end
   200   end
   201 
   201 
   202 fun preplay_outcome_of_isar_step_for_method preplay_data l =
   202 fun preplay_outcome_of_isar_step_for_method preplay_data l =
   203   the o AList.lookup (op =) (the (Canonical_Label_Tab.lookup preplay_data l))
   203   AList.lookup (op =) (the (Canonical_Label_Tab.lookup preplay_data l))
       
   204   #> the_default (Lazy.value Not_Played)
   204 
   205 
   205 fun fastest_method_of_isar_step preplay_data =
   206 fun fastest_method_of_isar_step preplay_data =
   206   the o Canonical_Label_Tab.lookup preplay_data
   207   the o Canonical_Label_Tab.lookup preplay_data
   207   #> get_best_method_outcome Lazy.force
   208   #> get_best_method_outcome Lazy.force
   208   #> fst
   209   #> fst