equal
deleted
inserted
replaced
31 val unknownN = "none"; |
31 val unknownN = "none"; |
32 |
32 |
33 |
33 |
34 (* preferences *) |
34 (* preferences *) |
35 |
35 |
36 val max_solutions = Attrib.setup_config_int @{binding solve_direct_max_solutions} (K 5); |
36 val max_solutions = Attrib.setup_config_int \<^binding>\<open>solve_direct_max_solutions\<close> (K 5); |
37 val strict_warnings = Attrib.setup_config_bool @{binding solve_direct_strict_warnings} (K false); |
37 val strict_warnings = Attrib.setup_config_bool \<^binding>\<open>solve_direct_strict_warnings\<close> (K false); |
38 |
38 |
39 |
39 |
40 (* solve_direct command *) |
40 (* solve_direct command *) |
41 |
41 |
42 fun do_solve_direct mode state = |
42 fun do_solve_direct mode state = |
88 |> `(fn (outcome_code, _) => outcome_code = someN); |
88 |> `(fn (outcome_code, _) => outcome_code = someN); |
89 |
89 |
90 val solve_direct = do_solve_direct Normal |
90 val solve_direct = do_solve_direct Normal |
91 |
91 |
92 val _ = |
92 val _ = |
93 Outer_Syntax.command @{command_keyword solve_direct} |
93 Outer_Syntax.command \<^command_keyword>\<open>solve_direct\<close> |
94 "try to solve conjectures directly with existing theorems" |
94 "try to solve conjectures directly with existing theorems" |
95 (Scan.succeed (Toplevel.keep_proof (ignore o solve_direct o Toplevel.proof_of))); |
95 (Scan.succeed (Toplevel.keep_proof (ignore o solve_direct o Toplevel.proof_of))); |
96 |
96 |
97 |
97 |
98 (* hook *) |
98 (* hook *) |