src/HOL/Tools/atp_thread.ML
changeset 28590 d6f60fcb1b77
parent 28571 47d88239658d
equal deleted inserted replaced
28589:581b2ab9827a 28590:d6f60fcb1b77
    10   (* hooks for writing problemfiles *)
    10   (* hooks for writing problemfiles *)
    11   val destdir: string ref
    11   val destdir: string ref
    12   val problem_name: string ref
    12   val problem_name: string ref
    13   (* basic template *)
    13   (* basic template *)
    14   val external_prover:
    14   val external_prover:
    15     ((int -> Path.T) -> Proof.context * Thm.thm list * Thm.thm -> string list * ResHolClause.axiom_name Vector.vector list) ->
    15     ((int -> Path.T) -> Proof.context * thm list * thm -> string list * ResHolClause.axiom_name Vector.vector list) ->
    16     Path.T * string ->
    16     Path.T * string ->
    17     (string * int -> bool) ->
    17     (string * int -> bool) ->
    18     (string * string vector * Proof.context * Thm.thm * int -> string) ->
    18     (string * string vector * Proof.context * thm * int -> string) ->
    19     int -> Proof.state -> Thread.thread
    19     int -> Proof.state -> Thread.thread
    20   (* provers as functions returning threads *)
    20   (* provers as functions returning threads *)
    21   val tptp_prover_filter_opts_full: int -> bool -> bool -> Path.T * string -> int -> Proof.state -> Thread.thread
    21   val tptp_prover_filter_opts_full: int -> bool -> bool -> Path.T * string -> int -> Proof.state -> Thread.thread
    22   val tptp_prover_filter_opts: int -> bool -> Path.T * string -> int -> Proof.state -> Thread.thread
    22   val tptp_prover_filter_opts: int -> bool -> Path.T * string -> int -> Proof.state -> Thread.thread
    23   val remote_prover_filter_opts: int -> bool -> string -> string -> int -> Proof.state -> Thread.thread
    23   val remote_prover_filter_opts: int -> bool -> string -> string -> int -> Proof.state -> Thread.thread
    53     (* path to unique problem file *)
    53     (* path to unique problem file *)
    54     fun prob_pathname nr =
    54     fun prob_pathname nr =
    55       let val probfile = Path.basic (problem_name' ^ serial_string () ^ "_" ^ Int.toString nr)
    55       let val probfile = Path.basic (problem_name' ^ serial_string () ^ "_" ^ Int.toString nr)
    56       in if destdir' = "" then File.tmp_path probfile
    56       in if destdir' = "" then File.tmp_path probfile
    57         else if File.exists (Path.explode (destdir'))
    57         else if File.exists (Path.explode (destdir'))
    58         then (Path.append  (Path.explode (destdir')) probfile)
    58         then Path.append  (Path.explode (destdir')) probfile
    59         else error ("No such directory: " ^ destdir')
    59         else error ("No such directory: " ^ destdir')
    60       end
    60       end
    61     (* write out problem file and call prover *)
    61     (* write out problem file and call prover *)
    62     fun call_prover () =
    62     fun call_prover () =
    63       let
    63       let