src/HOL/Tools/Sledgehammer/sledgehammer.ML
changeset 75063 7ff39293e265
parent 75060 789e0e1a9e33
child 75075 27c93bfb0016
equal deleted inserted replaced
75062:988d7c7e2254 75063:7ff39293e265
   312         val shifted_twice = shift shifted_once
   312         val shifted_twice = shift shifted_once
   313       in
   313       in
   314         original @ shifted_once @ shifted_twice
   314         original @ shifted_once @ shifted_twice
   315       end
   315       end
   316 
   316 
   317     fun adjust_extra (format0, type_enc0, lam_trans0, uncurried_aliases0, extra_extra0) =
   317     fun adjust_extra (ATP_Slice (format0, type_enc0, lam_trans0, uncurried_aliases0,
   318       (format0, the_default type_enc0 type_enc, the_default lam_trans0 lam_trans,
   318         extra_extra0)) =
   319        the_default uncurried_aliases0 uncurried_aliases, extra_extra0)
   319         ATP_Slice (format0, the_default type_enc0 type_enc, the_default lam_trans0 lam_trans,
       
   320           the_default uncurried_aliases0 uncurried_aliases, extra_extra0)
       
   321       | adjust_extra (extra as SMT_Slice _) = extra
   320 
   322 
   321     fun adjust_slice ((num_facts0, fact_filter0), extra) =
   323     fun adjust_slice ((num_facts0, fact_filter0), extra) =
   322       let
   324       let
   323         val fact_filter = fact_filter |> the_default fact_filter0
   325         val fact_filter = fact_filter |> the_default fact_filter0
   324         val max_facts = max_facts |> the_default num_facts0
   326         val max_facts = max_facts |> the_default num_facts0
   325         val num_facts = Int.min (max_facts, length (facts_of_filter fact_filter factss))
   327         val num_facts = Int.min (max_facts, length (facts_of_filter fact_filter factss))
   326       in
   328       in
   327         ((num_facts, fact_filter), Option.map adjust_extra extra)
   329         ((num_facts, fact_filter), adjust_extra extra)
   328       end
   330       end
   329 
   331 
   330     val provers = distinct (op =) schedule
   332     val provers = distinct (op =) schedule
   331     val prover_slices =
   333     val prover_slices =
   332       map (fn prover => (prover,
   334       map (fn prover => (prover,