src/HOL/Tools/SMT/smt_setup_solvers.ML
changeset 41127 2ea84c8535c6
parent 41121 5c5d05963f93
child 41130 130771a48c70
equal deleted inserted replaced
41126:e0bd443c0fdd 41127:2ea84c8535c6
    36   env_var = "CVC3_SOLVER",
    36   env_var = "CVC3_SOLVER",
    37   is_remote = true,
    37   is_remote = true,
    38   options = (fn ctxt => [
    38   options = (fn ctxt => [
    39     "-seed", string_of_int (Config.get ctxt SMT_Config.random_seed),
    39     "-seed", string_of_int (Config.get ctxt SMT_Config.random_seed),
    40     "-lang", "smtlib", "-output-lang", "presentation"]),
    40     "-lang", "smtlib", "-output-lang", "presentation"]),
    41   interface = SMTLIB_Interface.interface,
    41   class = SMTLIB_Interface.smtlibC,
    42   outcome =
    42   outcome =
    43     on_first_line (outcome_of "Unsatisfiable." "Satisfiable." "Unknown."),
    43     on_first_line (outcome_of "Unsatisfiable." "Satisfiable." "Unknown."),
    44   cex_parser = NONE,
    44   cex_parser = NONE,
    45   reconstruct = NONE,
    45   reconstruct = NONE,
    46   default_max_relevant = 250 }
    46   default_max_relevant = 250 }
    53   env_var = "YICES_SOLVER",
    53   env_var = "YICES_SOLVER",
    54   is_remote = false,
    54   is_remote = false,
    55   options = (fn ctxt => [
    55   options = (fn ctxt => [
    56     "--rand-seed", string_of_int (Config.get ctxt SMT_Config.random_seed),
    56     "--rand-seed", string_of_int (Config.get ctxt SMT_Config.random_seed),
    57     "--smtlib"]),
    57     "--smtlib"]),
    58   interface = SMTLIB_Interface.interface,
    58   class = SMTLIB_Interface.smtlibC,
    59   outcome = on_first_line (outcome_of "unsat" "sat" "unknown"),
    59   outcome = on_first_line (outcome_of "unsat" "sat" "unknown"),
    60   cex_parser = NONE,
    60   cex_parser = NONE,
    61   reconstruct = NONE,
    61   reconstruct = NONE,
    62   default_max_relevant = 275 }
    62   default_max_relevant = 275 }
    63 
    63 
    87 fun z3 () = {
    87 fun z3 () = {
    88   name = "z3",
    88   name = "z3",
    89   env_var = "Z3_SOLVER",
    89   env_var = "Z3_SOLVER",
    90   is_remote = true,
    90   is_remote = true,
    91   options = z3_options,
    91   options = z3_options,
    92   interface = Z3_Interface.interface,
    92   class = Z3_Interface.smtlib_z3C,
    93   outcome = z3_on_last_line,
    93   outcome = z3_on_last_line,
    94   cex_parser = SOME Z3_Model.parse_counterex,
    94   cex_parser = SOME Z3_Model.parse_counterex,
    95   reconstruct = SOME Z3_Proof_Reconstruction.reconstruct,
    95   reconstruct = SOME Z3_Proof_Reconstruction.reconstruct,
    96   default_max_relevant = 225 }
    96   default_max_relevant = 225 }
    97 
    97