equal
deleted
inserted
replaced
538 fun metis_line [] = "apply metis" |
538 fun metis_line [] = "apply metis" |
539 | metis_line xs = "apply (metis " ^ space_implode " " xs ^ ")" |
539 | metis_line xs = "apply (metis " ^ space_implode " " xs ^ ")" |
540 |
540 |
541 (* atp_minimize [atp=<prover>] <lemmas> *) |
541 (* atp_minimize [atp=<prover>] <lemmas> *) |
542 fun minimize_line _ [] = "" |
542 fun minimize_line _ [] = "" |
543 | minimize_line name lemmas = "For minimizing the number of lemmas try this command:\n" ^ |
543 | minimize_line name lemmas = |
544 Markup.markup Markup.sendback ("atp_minimize [atp = " ^ name ^ "] " ^ |
544 "To minimize the number of lemmas, try this command:\n" ^ |
545 space_implode " " (kill_chained lemmas)) |
545 Markup.markup Markup.sendback ("atp_minimize [atp = " ^ name ^ "] " ^ |
|
546 space_implode " " (kill_chained lemmas)) |
546 |
547 |
547 fun metis_lemma_list dfg name result = |
548 fun metis_lemma_list dfg name result = |
548 let val (lemmas, used_conj) = extract_lemmas (get_step_nums dfg) result in |
549 let val (lemmas, used_conj) = extract_lemmas (get_step_nums dfg) result in |
549 (Markup.markup Markup.sendback (metis_line (kill_chained lemmas)) ^ "\n" ^ |
550 (Markup.markup Markup.sendback (metis_line (kill_chained lemmas)) ^ "\n" ^ |
550 minimize_line name lemmas ^ |
551 minimize_line name lemmas ^ |
568 val tokens = String.tokens (fn c => c = #" ") one_line_proof |
569 val tokens = String.tokens (fn c => c = #" ") one_line_proof |
569 val isar_proof = |
570 val isar_proof = |
570 if member (op =) tokens chained_hint then "" |
571 if member (op =) tokens chained_hint then "" |
571 else isar_proof_from_tstp_file cnfs ctxt goal subgoalno thm_names |
572 else isar_proof_from_tstp_file cnfs ctxt goal subgoalno thm_names |
572 in |
573 in |
573 (one_line_proof ^ "\n\n" ^ Markup.markup Markup.sendback isar_proof, |
574 (* Hack: The " \n" shouldn't be part of the markup. This is a workaround |
574 lemma_names) |
575 for a strange ProofGeneral bug, whereby the first two letters of the word |
|
576 "proof" are not highlighted. *) |
|
577 (one_line_proof ^ "\n\nStructured proof:" ^ |
|
578 Markup.markup Markup.sendback (" \n" ^ isar_proof), lemma_names) |
575 end |
579 end |
576 |
580 |
577 end; |
581 end; |