src/HOL/Tools/Sledgehammer/sledgehammer_commands.ML
changeset 57721 e4858f85e616
parent 57719 249f13fed1a6
child 57732 e1b2442dc629
equal deleted inserted replaced
57720:9df2757f5bec 57721:e4858f85e616
    94    ("isar_proofs", "smart"),
    94    ("isar_proofs", "smart"),
    95    ("compress", "10"),
    95    ("compress", "10"),
    96    ("try0", "true"),
    96    ("try0", "true"),
    97    ("smt_proofs", "smart"),
    97    ("smt_proofs", "smart"),
    98    ("slice", "true"),
    98    ("slice", "true"),
    99    ("minimize", "smart"),
    99    ("minimize", "true"),
   100    ("preplay_timeout", "1")]
   100    ("preplay_timeout", "1")]
   101 
   101 
   102 val alias_params =
   102 val alias_params =
   103   [("prover", ("provers", [])), (* undocumented *)
   103   [("prover", ("provers", [])), (* undocumented *)
   104    ("dont_preplay", ("preplay_timeout", ["0"])),
   104    ("dont_preplay", ("preplay_timeout", ["0"])),
   297     val isar_proofs = lookup_option lookup_bool "isar_proofs"
   297     val isar_proofs = lookup_option lookup_bool "isar_proofs"
   298     val compress = Real.max (1.0, lookup_real "compress")
   298     val compress = Real.max (1.0, lookup_real "compress")
   299     val try0 = lookup_bool "try0"
   299     val try0 = lookup_bool "try0"
   300     val smt_proofs = lookup_option lookup_bool "smt_proofs"
   300     val smt_proofs = lookup_option lookup_bool "smt_proofs"
   301     val slice = mode <> Auto_Try andalso lookup_bool "slice"
   301     val slice = mode <> Auto_Try andalso lookup_bool "slice"
   302     val minimize = if mode = Auto_Try then NONE else lookup_option lookup_bool "minimize"
   302     val minimize = mode <> Auto_Try andalso lookup_bool "minimize"
   303     val timeout = lookup_time "timeout"
   303     val timeout = lookup_time "timeout"
   304     val preplay_timeout = if mode = Auto_Try then Time.zeroTime else lookup_time "preplay_timeout"
   304     val preplay_timeout = if mode = Auto_Try then Time.zeroTime else lookup_time "preplay_timeout"
   305     val expect = lookup_string "expect"
   305     val expect = lookup_string "expect"
   306   in
   306   in
   307     {debug = debug, verbose = verbose, overlord = overlord, spy = spy, blocking = blocking,
   307     {debug = debug, verbose = verbose, overlord = overlord, spy = spy, blocking = blocking,
   389            (* TODO: Use MaSh mode instead and have the special defaults hardcoded in "get_params" *)
   389            (* TODO: Use MaSh mode instead and have the special defaults hardcoded in "get_params" *)
   390            (get_params Normal thy
   390            (get_params Normal thy
   391                 ([("timeout", [string_of_real default_learn_prover_timeout]),
   391                 ([("timeout", [string_of_real default_learn_prover_timeout]),
   392                   ("slice", ["false"])] @
   392                   ("slice", ["false"])] @
   393                  override_params @
   393                  override_params @
   394                  [("minimize", ["true"]),
   394                  [("preplay_timeout", ["0"])]))
   395                   ("preplay_timeout", ["0"])]))
       
   396            fact_override (#facts (Proof.goal state))
   395            fact_override (#facts (Proof.goal state))
   397            (subcommand = learn_proverN orelse subcommand = relearn_proverN))
   396            (subcommand = learn_proverN orelse subcommand = relearn_proverN))
   398     else if subcommand = running_learnersN then
   397     else if subcommand = running_learnersN then
   399       running_learners ()
   398       running_learners ()
   400     else if subcommand = refresh_tptpN then
   399     else if subcommand = refresh_tptpN then
   463 
   462 
   464           val override_params =
   463           val override_params =
   465             ((if provers_arg = "" then [] else [("provers", space_explode " " provers_arg)]) @
   464             ((if provers_arg = "" then [] else [("provers", space_explode " " provers_arg)]) @
   466               [("isar_proofs", [isar_proofs_arg]),
   465               [("isar_proofs", [isar_proofs_arg]),
   467                ("blocking", ["true"]),
   466                ("blocking", ["true"]),
   468                ("minimize", ["true"]),
       
   469                ("debug", ["false"]),
   467                ("debug", ["false"]),
   470                ("verbose", ["false"]),
   468                ("verbose", ["false"]),
   471                ("overlord", ["false"])])
   469                ("overlord", ["false"])])
   472             |> map (normalize_raw_param ctxt)
   470             |> map (normalize_raw_param ctxt)
   473 
   471