1 (* Title: HOL/Tools/ATP_Manager/atp_wrapper.ML |
1 (* Title: HOL/Tools/ATP_Manager/atp_wrapper.ML |
2 Author: Fabian Immler, TU Muenchen |
2 Author: Fabian Immler, TU Muenchen |
|
3 Author: Jasmin Blanchette, TU Muenchen |
3 |
4 |
4 Wrapper functions for external ATPs. |
5 Wrapper functions for external ATPs. |
5 *) |
6 *) |
6 |
7 |
7 signature ATP_WRAPPER = |
8 signature ATP_WRAPPER = |
12 val destdir : string Config.T |
13 val destdir : string Config.T |
13 val problem_prefix : string Config.T |
14 val problem_prefix : string Config.T |
14 val measure_runtime : bool Config.T |
15 val measure_runtime : bool Config.T |
15 |
16 |
16 val refresh_systems_on_tptp : unit -> unit |
17 val refresh_systems_on_tptp : unit -> unit |
|
18 val default_atps_param_value : unit -> string |
17 val setup : theory -> theory |
19 val setup : theory -> theory |
18 end; |
20 end; |
19 |
21 |
20 structure ATP_Wrapper : ATP_WRAPPER = |
22 structure ATP_Wrapper : ATP_WRAPPER = |
21 struct |
23 struct |
387 |
389 |
388 val remote_spass = |
390 val remote_spass = |
389 tptp_prover (remotify (fst spass)) |
391 tptp_prover (remotify (fst spass)) |
390 (remote_prover_config "SPASS---" "-x" spass_config) |
392 (remote_prover_config "SPASS---" "-x" spass_config) |
391 |
393 |
|
394 fun maybe_remote (name, _) ({home, ...} : prover_config) = |
|
395 name |> home = "" ? remotify |
|
396 |
|
397 fun default_atps_param_value () = |
|
398 space_implode " " [maybe_remote e e_config, maybe_remote spass spass_config, |
|
399 remotify (fst vampire)] |
|
400 |
392 val provers = |
401 val provers = |
393 [spass, spass_tptp, vampire, e, remote_vampire, remote_spass, remote_e] |
402 [spass, spass_tptp, vampire, e, remote_vampire, remote_spass, remote_e] |
394 val prover_setup = fold add_prover provers |
403 val prover_setup = fold add_prover provers |
395 |
404 |
396 val setup = |
405 val setup = |
397 destdir_setup |
406 destdir_setup |
398 #> problem_prefix_setup |
407 #> problem_prefix_setup |
399 #> measure_runtime_setup |
408 #> measure_runtime_setup |
400 #> prover_setup; |
409 #> prover_setup |
401 |
410 |
402 fun maybe_remote (name, _) ({home, ...} : prover_config) = |
|
403 name |> home = "" ? remotify |
|
404 |
|
405 val _ = atps := ([maybe_remote e e_config, maybe_remote spass spass_config, |
|
406 remotify (fst vampire)] |> space_implode " ") |
|
407 end; |
411 end; |