src/HOL/Tools/ATP_Manager/atp_wrapper.ML
changeset 36371 8c83ea1a7740
parent 36370 a4f601daa175
child 36376 e83d52a52449
equal deleted inserted replaced
36370:a4f601daa175 36371:8c83ea1a7740
     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;