equal
deleted
inserted
replaced
903 fun attach_parents_to_facts facts = |
903 fun attach_parents_to_facts facts = |
904 let |
904 let |
905 fun do_facts _ [] = [] |
905 fun do_facts _ [] = [] |
906 | do_facts parents ((fact as (_, th)) :: facts) = |
906 | do_facts parents ((fact as (_, th)) :: facts) = |
907 (parents, fact) :: do_facts [nickname_of_thm th] facts |
907 (parents, fact) :: do_facts [nickname_of_thm th] facts |
908 in do_facts [] facts end |
908 in |
|
909 facts |> sort (crude_thm_ord o pairself snd) |
|
910 |> do_facts [] |
|
911 end |
909 |
912 |
910 fun sendback sub = Active.sendback_markup (sledgehammerN ^ " " ^ sub) |
913 fun sendback sub = Active.sendback_markup (sledgehammerN ^ " " ^ sub) |
911 |
914 |
912 val commit_timeout = seconds 30.0 |
915 val commit_timeout = seconds 30.0 |
913 |
916 |
918 val timer = Timer.startRealTimer () |
921 val timer = Timer.startRealTimer () |
919 fun next_commit_time () = |
922 fun next_commit_time () = |
920 Time.+ (Timer.checkRealTimer timer, commit_timeout) |
923 Time.+ (Timer.checkRealTimer timer, commit_timeout) |
921 val {access_G, ...} = peek_state ctxt I |
924 val {access_G, ...} = peek_state ctxt I |
922 val is_in_access_G = is_fact_in_graph access_G snd |
925 val is_in_access_G = is_fact_in_graph access_G snd |
923 val facts = facts |> sort (crude_thm_ord o pairself snd) |
|
924 val no_new_facts = forall is_in_access_G facts |
926 val no_new_facts = forall is_in_access_G facts |
925 in |
927 in |
926 if no_new_facts andalso not run_prover then |
928 if no_new_facts andalso not run_prover then |
927 if auto_level < 2 then |
929 if auto_level < 2 then |
928 "No new " ^ (if run_prover then "automatic" else "Isar") ^ |
930 "No new " ^ (if run_prover then "automatic" else "Isar") ^ |