src/HOL/Tools/Sledgehammer/sledgehammer_reconstruct.ML
changeset 50262 6dc80eead659
parent 50261 a1a1685b4ee8
child 50264 a9ec48b98734
equal deleted inserted replaced
50261:a1a1685b4ee8 50262:6dc80eead659
   291   case resolve_conjecture ss of
   291   case resolve_conjecture ss of
   292     [j] => (conjecture_prefix, j)
   292     [j] => (conjecture_prefix, j)
   293   | _ => (raw_prefix ^ ascii_of num, 0)
   293   | _ => (raw_prefix ^ ascii_of num, 0)
   294 
   294 
   295 fun label_of_clause [name] = raw_label_for_name name
   295 fun label_of_clause [name] = raw_label_for_name name
   296   | label_of_clause c = (space_implode "___" (map fst c), 0)
   296   | label_of_clause c = (space_implode "___" (map (fst o raw_label_for_name) c), 0)
   297 
   297 
   298 fun add_fact_from_dependencies fact_names (names as [(_, ss)]) =
   298 fun add_fact_from_dependencies fact_names (names as [(_, ss)]) =
   299     if is_fact fact_names ss then
   299     if is_fact fact_names ss then
   300       apsnd (union (op =) (map fst (resolve_fact fact_names ss)))
   300       apsnd (union (op =) (map fst (resolve_fact fact_names ss)))
   301     else
   301     else
   707         val (isar_proof, ext_time) =
   707         val (isar_proof, ext_time) =
   708           ref_graph
   708           ref_graph
   709           |> redirect_graph axioms tainted
   709           |> redirect_graph axioms tainted
   710           |> map (do_inf true)
   710           |> map (do_inf true)
   711           |> append assms
   711           |> append assms
   712           (*|> relabel_proof (* FIXME: Is there a better way? *) *)
       
   713           |> (if not preplay andalso isar_shrink <= 1.0
   712           |> (if not preplay andalso isar_shrink <= 1.0
   714               then pair (true, seconds 0.0) #> swap
   713               then pair (true, seconds 0.0) #> swap
   715               else shrink_proof debug ctxt type_enc lam_trans preplay
   714               else shrink_proof debug ctxt type_enc lam_trans preplay
   716                 preplay_timeout (if isar_proofs then isar_shrink else 1000.0))
   715                 preplay_timeout (if isar_proofs then isar_shrink else 1000.0))
   717        (* |>> reorder_proof_to_minimize_jumps (* ? *) *)
   716        (* |>> reorder_proof_to_minimize_jumps (* ? *) *)