src/HOL/Tools/Sledgehammer/sledgehammer_prover.ML
changeset 61311 150aa3015c47
parent 59471 ca459352d8c5
child 62735 23de054397e5
equal deleted inserted replaced
61310:9a50ea544fd3 61311:150aa3015c47
    20   type params =
    20   type params =
    21     {debug : bool,
    21     {debug : bool,
    22      verbose : bool,
    22      verbose : bool,
    23      overlord : bool,
    23      overlord : bool,
    24      spy : bool,
    24      spy : bool,
    25      blocking : bool,
       
    26      provers : string list,
    25      provers : string list,
    27      type_enc : string option,
    26      type_enc : string option,
    28      strict : bool,
    27      strict : bool,
    29      lam_trans : string option,
    28      lam_trans : string option,
    30      uncurried_aliases : bool option,
    29      uncurried_aliases : bool option,
    71   val is_fact_chained : (('a * stature) * 'b) -> bool
    70   val is_fact_chained : (('a * stature) * 'b) -> bool
    72   val filter_used_facts : bool -> (''a * stature) list -> ((''a * stature) * 'b) list ->
    71   val filter_used_facts : bool -> (''a * stature) list -> ((''a * stature) * 'b) list ->
    73     ((''a * stature) * 'b) list
    72     ((''a * stature) * 'b) list
    74   val repair_monomorph_context : int option -> int -> int option -> int -> Proof.context ->
    73   val repair_monomorph_context : int option -> int -> int option -> int -> Proof.context ->
    75     Proof.context
    74     Proof.context
    76 
       
    77   val supported_provers : Proof.context -> unit
    75   val supported_provers : Proof.context -> unit
    78   val kill_provers : unit -> unit
       
    79   val running_provers : unit -> unit
       
    80   val messages : int option -> unit
       
    81 end;
    76 end;
    82 
    77 
    83 structure Sledgehammer_Prover : SLEDGEHAMMER_PROVER =
    78 structure Sledgehammer_Prover : SLEDGEHAMMER_PROVER =
    84 struct
    79 struct
    85 
    80 
   109 type params =
   104 type params =
   110   {debug : bool,
   105   {debug : bool,
   111    verbose : bool,
   106    verbose : bool,
   112    overlord : bool,
   107    overlord : bool,
   113    spy : bool,
   108    spy : bool,
   114    blocking : bool,
       
   115    provers : string list,
   109    provers : string list,
   116    type_enc : string option,
   110    type_enc : string option,
   117    strict : bool,
   111    strict : bool,
   118    lam_trans : string option,
   112    lam_trans : string option,
   119    uncurried_aliases : bool option,
   113    uncurried_aliases : bool option,
   199       |> List.partition (String.isPrefix remote_prefix)
   193       |> List.partition (String.isPrefix remote_prefix)
   200   in
   194   in
   201     writeln ("Supported provers: " ^ commas (local_provers @ remote_provers) ^ ".")
   195     writeln ("Supported provers: " ^ commas (local_provers @ remote_provers) ^ ".")
   202   end
   196   end
   203 
   197 
   204 fun kill_provers () = Async_Manager_Legacy.kill_threads SledgehammerN "prover"
       
   205 fun running_provers () = Async_Manager_Legacy.running_threads SledgehammerN "prover"
       
   206 val messages = Async_Manager_Legacy.thread_messages SledgehammerN "prover"
       
   207 
       
   208 end;
   198 end;