src/Tools/solve_direct.ML
changeset 67149 e61557884799
parent 64985 69592ac04836
child 69593 3dda49e08b9d
equal deleted inserted replaced
67148:d24dcac5eb4c 67149:e61557884799
    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 *)