src/HOL/Tools/Sledgehammer/sledgehammer_isar.ML
changeset 36922 12f87df9c1a5
parent 36908 fb18db78be80
child 36924 ff01d3ae9ad4
equal deleted inserted replaced
36918:e65f8d253fd1 36922:12f87df9c1a5
    92    ("verbose", "false"),
    92    ("verbose", "false"),
    93    ("overlord", "false"),
    93    ("overlord", "false"),
    94    ("explicit_apply", "false"),
    94    ("explicit_apply", "false"),
    95    ("respect_no_atp", "true"),
    95    ("respect_no_atp", "true"),
    96    ("relevance_threshold", "50"),
    96    ("relevance_threshold", "50"),
    97    ("convergence", "320"),
    97    ("relevance_convergence", "320"),
    98    ("theory_relevant", "smart"),
    98    ("theory_relevant", "smart"),
    99    ("follow_defs", "false"),
    99    ("defs_relevant", "false"),
   100    ("isar_proof", "false"),
   100    ("isar_proof", "false"),
   101    ("shrink_factor", "1"),
   101    ("shrink_factor", "1"),
   102    ("minimize_timeout", "5 s")]
   102    ("minimize_timeout", "5 s")]
   103 
   103 
   104 val alias_params =
   104 val alias_params =
   109    ("no_overlord", "overlord"),
   109    ("no_overlord", "overlord"),
   110    ("partial_types", "full_types"),
   110    ("partial_types", "full_types"),
   111    ("implicit_apply", "explicit_apply"),
   111    ("implicit_apply", "explicit_apply"),
   112    ("ignore_no_atp", "respect_no_atp"),
   112    ("ignore_no_atp", "respect_no_atp"),
   113    ("theory_irrelevant", "theory_relevant"),
   113    ("theory_irrelevant", "theory_relevant"),
   114    ("dont_follow_defs", "follow_defs"),
   114    ("defs_irrelevant", "defs_relevant"),
   115    ("no_isar_proof", "isar_proof")]
   115    ("no_isar_proof", "isar_proof")]
   116 
   116 
   117 val params_for_minimize =
   117 val params_for_minimize =
   118   ["debug", "verbose", "overlord", "full_types", "explicit_apply",
   118   ["debug", "verbose", "overlord", "full_types", "explicit_apply",
   119    "isar_proof", "shrink_factor", "minimize_timeout"]
   119    "isar_proof", "shrink_factor", "minimize_timeout"]
   192     val full_types = lookup_bool "full_types"
   192     val full_types = lookup_bool "full_types"
   193     val explicit_apply = lookup_bool "explicit_apply"
   193     val explicit_apply = lookup_bool "explicit_apply"
   194     val respect_no_atp = lookup_bool "respect_no_atp"
   194     val respect_no_atp = lookup_bool "respect_no_atp"
   195     val relevance_threshold =
   195     val relevance_threshold =
   196       0.01 * Real.fromInt (lookup_int "relevance_threshold")
   196       0.01 * Real.fromInt (lookup_int "relevance_threshold")
   197     val convergence = 0.01 * Real.fromInt (lookup_int "convergence")
   197     val relevance_convergence =
       
   198       0.01 * Real.fromInt (lookup_int "relevance_convergence")
   198     val theory_relevant = lookup_bool_option "theory_relevant"
   199     val theory_relevant = lookup_bool_option "theory_relevant"
   199     val follow_defs = lookup_bool "follow_defs"
   200     val defs_relevant = lookup_bool "defs_relevant"
   200     val isar_proof = lookup_bool "isar_proof"
   201     val isar_proof = lookup_bool "isar_proof"
   201     val shrink_factor = Int.max (1, lookup_int "shrink_factor")
   202     val shrink_factor = Int.max (1, lookup_int "shrink_factor")
   202     val timeout = lookup_time "timeout"
   203     val timeout = lookup_time "timeout"
   203     val minimize_timeout = lookup_time "minimize_timeout"
   204     val minimize_timeout = lookup_time "minimize_timeout"
   204   in
   205   in
   205     {debug = debug, verbose = verbose, overlord = overlord, atps = atps,
   206     {debug = debug, verbose = verbose, overlord = overlord, atps = atps,
   206      full_types = full_types, explicit_apply = explicit_apply,
   207      full_types = full_types, explicit_apply = explicit_apply,
   207      respect_no_atp = respect_no_atp, relevance_threshold = relevance_threshold,
   208      respect_no_atp = respect_no_atp, relevance_threshold = relevance_threshold,
   208      convergence = convergence, theory_relevant = theory_relevant,
   209      relevance_convergence = relevance_convergence,
   209      follow_defs = follow_defs, isar_proof = isar_proof,
   210      theory_relevant = theory_relevant, defs_relevant = defs_relevant,
   210      shrink_factor = shrink_factor, timeout = timeout,
   211      isar_proof = isar_proof, shrink_factor = shrink_factor, timeout = timeout,
   211      minimize_timeout = minimize_timeout}
   212      minimize_timeout = minimize_timeout}
   212   end
   213   end
   213 
   214 
   214 fun get_params thy = extract_params thy (default_raw_params thy)
   215 fun get_params thy = extract_params thy (default_raw_params thy)
   215 fun default_params thy = get_params thy o map (apsnd single)
   216 fun default_params thy = get_params thy o map (apsnd single)