src/HOL/Tools/Sledgehammer/sledgehammer_provers.ML
changeset 48319 340187063d84
parent 48314 ee33ba3c0e05
child 48321 c552d7f1720b
equal deleted inserted replaced
48318:325c8fd0d762 48319:340187063d84
    97   val smt_weight_curve : (int -> int) Unsynchronized.ref
    97   val smt_weight_curve : (int -> int) Unsynchronized.ref
    98   val smt_max_slices : int Config.T
    98   val smt_max_slices : int Config.T
    99   val smt_slice_fact_frac : real Config.T
    99   val smt_slice_fact_frac : real Config.T
   100   val smt_slice_time_frac : real Config.T
   100   val smt_slice_time_frac : real Config.T
   101   val smt_slice_min_secs : int Config.T
   101   val smt_slice_min_secs : int Config.T
   102   val das_tool : string
   102   val SledgehammerN : string
   103   val plain_metis : reconstructor
   103   val plain_metis : reconstructor
   104   val select_smt_solver : string -> Proof.context -> Proof.context
   104   val select_smt_solver : string -> Proof.context -> Proof.context
   105   val extract_reconstructor :
   105   val extract_reconstructor :
   106     params -> reconstructor -> string * (string * string list) list
   106     params -> reconstructor -> string * (string * string list) list
   107   val is_reconstructor : string -> bool
   107   val is_reconstructor : string -> bool
   151 
   151 
   152 datatype mode = Auto_Try | Try | Normal | Auto_Minimize | Minimize
   152 datatype mode = Auto_Try | Try | Normal | Auto_Minimize | Minimize
   153 
   153 
   154 (* Identifier that distinguishes Sledgehammer from other tools that could use
   154 (* Identifier that distinguishes Sledgehammer from other tools that could use
   155    "Async_Manager". *)
   155    "Async_Manager". *)
   156 val das_tool = "Sledgehammer"
   156 val SledgehammerN = "Sledgehammer"
   157 
   157 
   158 val reconstructor_names = [metisN, smtN]
   158 val reconstructor_names = [metisN, smtN]
   159 val plain_metis = Metis (hd partial_type_encs, combsN)
   159 val plain_metis = Metis (hd partial_type_encs, combsN)
   160 val is_reconstructor = member (op =) reconstructor_names
   160 val is_reconstructor = member (op =) reconstructor_names
   161 
   161 
   296   in
   296   in
   297     Output.urgent_message ("Supported provers: " ^
   297     Output.urgent_message ("Supported provers: " ^
   298                            commas (local_provers @ remote_provers) ^ ".")
   298                            commas (local_provers @ remote_provers) ^ ".")
   299   end
   299   end
   300 
   300 
   301 fun kill_provers () = Async_Manager.kill_threads das_tool "prover"
   301 fun kill_provers () = Async_Manager.kill_threads SledgehammerN "prover"
   302 fun running_provers () = Async_Manager.running_threads das_tool "prover"
   302 fun running_provers () = Async_Manager.running_threads SledgehammerN "prover"
   303 val messages = Async_Manager.thread_messages das_tool "prover"
   303 val messages = Async_Manager.thread_messages SledgehammerN "prover"
   304 
   304 
   305 
   305 
   306 (** problems, results, ATPs, etc. **)
   306 (** problems, results, ATPs, etc. **)
   307 
   307 
   308 type params =
   308 type params =