src/HOL/Tools/Sledgehammer/sledgehammer_isar.ML
changeset 51130 76d68444cd59
parent 50824 a991d603aac6
child 51138 583a37b9512d
equal deleted inserted replaced
51129:1edc2cc25f19 51130:76d68444cd59
    93    ("max_facts", "smart"),
    93    ("max_facts", "smart"),
    94    ("fact_thresholds", "0.45 0.85"),
    94    ("fact_thresholds", "0.45 0.85"),
    95    ("max_mono_iters", "smart"),
    95    ("max_mono_iters", "smart"),
    96    ("max_new_mono_instances", "smart"),
    96    ("max_new_mono_instances", "smart"),
    97    ("isar_proofs", "false"),
    97    ("isar_proofs", "false"),
    98    ("isar_shrink", "10"),
    98    ("isar_compress", "10"),
    99    ("slice", "true"),
    99    ("slice", "true"),
   100    ("minimize", "smart"),
   100    ("minimize", "smart"),
   101    ("preplay_timeout", "3")]
   101    ("preplay_timeout", "3")]
   102 
   102 
   103 val alias_params =
   103 val alias_params =
   117    ("dont_minimize", "minimize")]
   117    ("dont_minimize", "minimize")]
   118 
   118 
   119 val params_for_minimize =
   119 val params_for_minimize =
   120   ["debug", "verbose", "overlord", "type_enc", "strict", "lam_trans",
   120   ["debug", "verbose", "overlord", "type_enc", "strict", "lam_trans",
   121    "uncurried_aliases", "max_mono_iters", "max_new_mono_instances",
   121    "uncurried_aliases", "max_mono_iters", "max_new_mono_instances",
   122    "learn", "isar_proofs", "isar_shrink", "timeout", "preplay_timeout"]
   122    "learn", "isar_proofs", "isar_compress", "timeout", "preplay_timeout"]
   123 
   123 
   124 val property_dependent_params = ["provers", "timeout"]
   124 val property_dependent_params = ["provers", "timeout"]
   125 
   125 
   126 fun is_known_raw_param s =
   126 fun is_known_raw_param s =
   127   AList.defined (op =) default_default_params s orelse
   127   AList.defined (op =) default_default_params s orelse
   312     val fact_thresholds = lookup_real_pair "fact_thresholds"
   312     val fact_thresholds = lookup_real_pair "fact_thresholds"
   313     val max_mono_iters = lookup_option lookup_int "max_mono_iters"
   313     val max_mono_iters = lookup_option lookup_int "max_mono_iters"
   314     val max_new_mono_instances =
   314     val max_new_mono_instances =
   315       lookup_option lookup_int "max_new_mono_instances"
   315       lookup_option lookup_int "max_new_mono_instances"
   316     val isar_proofs = lookup_bool "isar_proofs"
   316     val isar_proofs = lookup_bool "isar_proofs"
   317     val isar_shrink = Real.max (1.0, lookup_real "isar_shrink")
   317     val isar_compress = Real.max (1.0, lookup_real "isar_compress")
   318     val slice = mode <> Auto_Try andalso lookup_bool "slice"
   318     val slice = mode <> Auto_Try andalso lookup_bool "slice"
   319     val minimize =
   319     val minimize =
   320       if mode = Auto_Try then NONE else lookup_option lookup_bool "minimize"
   320       if mode = Auto_Try then NONE else lookup_option lookup_bool "minimize"
   321     val timeout = if mode = Auto_Try then NONE else lookup_time "timeout"
   321     val timeout = if mode = Auto_Try then NONE else lookup_time "timeout"
   322     val preplay_timeout =
   322     val preplay_timeout =
   328      provers = provers, type_enc = type_enc, strict = strict,
   328      provers = provers, type_enc = type_enc, strict = strict,
   329      lam_trans = lam_trans, uncurried_aliases = uncurried_aliases,
   329      lam_trans = lam_trans, uncurried_aliases = uncurried_aliases,
   330      learn = learn, fact_filter = fact_filter, max_facts = max_facts,
   330      learn = learn, fact_filter = fact_filter, max_facts = max_facts,
   331      fact_thresholds = fact_thresholds, max_mono_iters = max_mono_iters,
   331      fact_thresholds = fact_thresholds, max_mono_iters = max_mono_iters,
   332      max_new_mono_instances = max_new_mono_instances, isar_proofs = isar_proofs,
   332      max_new_mono_instances = max_new_mono_instances, isar_proofs = isar_proofs,
   333      isar_shrink = isar_shrink, slice = slice, minimize = minimize,
   333      isar_compress = isar_compress, slice = slice, minimize = minimize,
   334      timeout = timeout, preplay_timeout = preplay_timeout, expect = expect}
   334      timeout = timeout, preplay_timeout = preplay_timeout, expect = expect}
   335   end
   335   end
   336 
   336 
   337 fun get_params mode = extract_params mode o default_raw_params
   337 fun get_params mode = extract_params mode o default_raw_params
   338 fun default_params thy = get_params Normal thy o map (apsnd single)
   338 fun default_params thy = get_params Normal thy o map (apsnd single)