496 app (fn th => ignore (Polyhash.peekInsert ht (th,()))) (ResBlacklist.get ctxt); |
496 app (fn th => ignore (Polyhash.peekInsert ht (th,()))) (ResBlacklist.get ctxt); |
497 filter (not o blacklisted o #2) |
497 filter (not o blacklisted o #2) |
498 (foldl add_single_names (foldl add_multi_names [] mults) singles) |
498 (foldl add_single_names (foldl add_multi_names [] mults) singles) |
499 end; |
499 end; |
500 |
500 |
501 fun check_named ("",th) = (warning ("No name for theorem " ^ string_of_thm th); false) |
501 fun check_named ("",th) = (warning ("No name for theorem " ^ Display.string_of_thm th); false) |
502 | check_named (_,th) = true; |
502 | check_named (_,th) = true; |
503 |
503 |
504 fun display_thm (name,th) = Output.debug (fn () => name ^ ": " ^ string_of_thm th); |
504 fun display_thm (name,th) = Output.debug (fn () => name ^ ": " ^ Display.string_of_thm th); |
505 |
505 |
506 (* get lemmas from claset, simpset, atpset and extra supplied rules *) |
506 (* get lemmas from claset, simpset, atpset and extra supplied rules *) |
507 fun get_clasimp_atp_lemmas ctxt user_thms = |
507 fun get_clasimp_atp_lemmas ctxt user_thms = |
508 let val included_thms = |
508 let val included_thms = |
509 if !include_all |
509 if !include_all |
743 | write_all (ccls::ccls_list) (axcls::axcls_list) k = |
743 | write_all (ccls::ccls_list) (axcls::axcls_list) k = |
744 let val fname = probfile k |
744 let val fname = probfile k |
745 val _ = Output.debug (fn () => "About to write file " ^ fname) |
745 val _ = Output.debug (fn () => "About to write file " ^ fname) |
746 val axcls = make_unique axcls |
746 val axcls = make_unique axcls |
747 val _ = Output.debug (fn () => "Conjecture Clauses (before duplicate removal)") |
747 val _ = Output.debug (fn () => "Conjecture Clauses (before duplicate removal)") |
748 val _ = app (fn th => Output.debug (fn _ => string_of_thm th)) ccls |
748 val _ = app (fn th => Output.debug (fn _ => Display.string_of_thm th)) ccls |
749 val ccls = subtract_cls ccls axcls |
749 val ccls = subtract_cls ccls axcls |
750 val _ = Output.debug (fn () => "Conjecture Clauses (AFTER duplicate removal)") |
750 val _ = Output.debug (fn () => "Conjecture Clauses (AFTER duplicate removal)") |
751 val _ = app (fn th => Output.debug (fn _ => string_of_thm th)) ccls |
751 val _ = app (fn th => Output.debug (fn _ => Display.string_of_thm th)) ccls |
752 val ccltms = map prop_of ccls |
752 val ccltms = map prop_of ccls |
753 and axtms = map (prop_of o #1) axcls |
753 and axtms = map (prop_of o #1) axcls |
754 val subs = tfree_classes_of_terms ccltms |
754 val subs = tfree_classes_of_terms ccltms |
755 and supers = tvar_classes_of_terms axtms |
755 and supers = tvar_classes_of_terms axtms |
756 and tycons = type_consts_of_terms thy (ccltms@axtms) |
756 and tycons = type_consts_of_terms thy (ccltms@axtms) |
823 if exists_type ResAxioms.type_has_empty_sort (prop_of goal) |
823 if exists_type ResAxioms.type_has_empty_sort (prop_of goal) |
824 then error "Proof state contains the empty sort" else (); |
824 then error "Proof state contains the empty sort" else (); |
825 Output.debug (fn () => "subgoals in isar_atp:\n" ^ |
825 Output.debug (fn () => "subgoals in isar_atp:\n" ^ |
826 Syntax.string_of_term ctxt (Logic.mk_conjunction_list (Thm.prems_of goal))); |
826 Syntax.string_of_term ctxt (Logic.mk_conjunction_list (Thm.prems_of goal))); |
827 Output.debug (fn () => "current theory: " ^ Context.theory_name thy); |
827 Output.debug (fn () => "current theory: " ^ Context.theory_name thy); |
828 app (fn th => Output.debug (fn _ => "chained: " ^ string_of_thm th)) chain_ths; |
828 app (fn th => Output.debug (fn _ => "chained: " ^ Display.string_of_thm th)) chain_ths; |
829 if !time_limit > 0 then isar_atp (ctxt, chain_ths, goal) |
829 if !time_limit > 0 then isar_atp (ctxt, chain_ths, goal) |
830 else (warning ("Writing problem file only: " ^ !problem_name); |
830 else (warning ("Writing problem file only: " ^ !problem_name); |
831 isar_atp_writeonly (ctxt, chain_ths, goal)) |
831 isar_atp_writeonly (ctxt, chain_ths, goal)) |
832 end; |
832 end; |
833 |
833 |