src/HOL/Tools/Sledgehammer/sledgehammer_isar.ML
changeset 53764 eba0d1c069b8
parent 53763 70d370743dc6
child 53800 ac1ec5065316
equal deleted inserted replaced
53763:70d370743dc6 53764:eba0d1c069b8
    92    ("fact_thresholds", "0.45 0.85"),
    92    ("fact_thresholds", "0.45 0.85"),
    93    ("max_mono_iters", "smart"),
    93    ("max_mono_iters", "smart"),
    94    ("max_new_mono_instances", "smart"),
    94    ("max_new_mono_instances", "smart"),
    95    ("isar_proofs", "smart"),
    95    ("isar_proofs", "smart"),
    96    ("isar_compress", "10"),
    96    ("isar_compress", "10"),
    97    ("isar_try0", "true"), (* TODO: document *)
    97    ("isar_try0", "true"),
    98    ("isar_minimize", "true"), (* TODO: document *)
       
    99    ("slice", "true"),
    98    ("slice", "true"),
   100    ("minimize", "smart"),
    99    ("minimize", "smart"),
   101    ("preplay_timeout", "3")]
   100    ("preplay_timeout", "3")]
   102 
   101 
   103 val alias_params =
   102 val alias_params =
   114    ("no_uncurried_aliases", "uncurried_aliases"),
   113    ("no_uncurried_aliases", "uncurried_aliases"),
   115    ("dont_learn", "learn"),
   114    ("dont_learn", "learn"),
   116    ("no_isar_proofs", "isar_proofs"),
   115    ("no_isar_proofs", "isar_proofs"),
   117    ("dont_slice", "slice"),
   116    ("dont_slice", "slice"),
   118    ("dont_minimize", "minimize"),
   117    ("dont_minimize", "minimize"),
   119    ("dont_try0_isar", "isar_try0"),
   118    ("dont_try0_isar", "isar_try0")]
   120    ("dont_minimize_isar", "isar_minimize")]
       
   121 
   119 
   122 val params_not_for_minimize =
   120 val params_not_for_minimize =
   123   ["blocking", "fact_filter", "max_facts", "fact_thresholds", "slice",
   121   ["blocking", "fact_filter", "max_facts", "fact_thresholds", "slice",
   124    "minimize"];
   122    "minimize"];
   125 
   123 
   302     val max_new_mono_instances =
   300     val max_new_mono_instances =
   303       lookup_option lookup_int "max_new_mono_instances"
   301       lookup_option lookup_int "max_new_mono_instances"
   304     val isar_proofs = lookup_option lookup_bool "isar_proofs"
   302     val isar_proofs = lookup_option lookup_bool "isar_proofs"
   305     val isar_compress = Real.max (1.0, lookup_real "isar_compress")
   303     val isar_compress = Real.max (1.0, lookup_real "isar_compress")
   306     val isar_try0 = lookup_bool "isar_try0"
   304     val isar_try0 = lookup_bool "isar_try0"
   307     val isar_minimize = lookup_bool "isar_minimize"
       
   308     val slice = mode <> Auto_Try andalso lookup_bool "slice"
   305     val slice = mode <> Auto_Try andalso lookup_bool "slice"
   309     val minimize =
   306     val minimize =
   310       if mode = Auto_Try then NONE else lookup_option lookup_bool "minimize"
   307       if mode = Auto_Try then NONE else lookup_option lookup_bool "minimize"
   311     val timeout = if mode = Auto_Try then NONE else lookup_time "timeout"
   308     val timeout = if mode = Auto_Try then NONE else lookup_time "timeout"
   312     val preplay_timeout =
   309     val preplay_timeout =
   318      provers = provers, type_enc = type_enc, strict = strict,
   315      provers = provers, type_enc = type_enc, strict = strict,
   319      lam_trans = lam_trans, uncurried_aliases = uncurried_aliases,
   316      lam_trans = lam_trans, uncurried_aliases = uncurried_aliases,
   320      learn = learn, fact_filter = fact_filter, max_facts = max_facts,
   317      learn = learn, fact_filter = fact_filter, max_facts = max_facts,
   321      fact_thresholds = fact_thresholds, max_mono_iters = max_mono_iters,
   318      fact_thresholds = fact_thresholds, max_mono_iters = max_mono_iters,
   322      max_new_mono_instances = max_new_mono_instances, isar_proofs = isar_proofs,
   319      max_new_mono_instances = max_new_mono_instances, isar_proofs = isar_proofs,
   323      isar_compress = isar_compress, isar_try0 = isar_try0,
   320      isar_compress = isar_compress, isar_try0 = isar_try0, slice = slice,
   324      isar_minimize = isar_minimize, slice = slice, minimize = minimize,
   321      minimize = minimize, timeout = timeout, preplay_timeout = preplay_timeout,
   325      timeout = timeout, preplay_timeout = preplay_timeout, expect = expect}
   322      expect = expect}
   326   end
   323   end
   327 
   324 
   328 fun get_params mode = extract_params mode o default_raw_params
   325 fun get_params mode = extract_params mode o default_raw_params
   329 fun default_params thy = get_params Normal thy o map (apsnd single)
   326 fun default_params thy = get_params Normal thy o map (apsnd single)
   330 
   327