src/HOL/TPTP/mash_eval.ML
changeset 49421 b002cc16aa99
parent 49419 0a261b4aa093
child 49453 3e45c98fe127
     1.1 --- a/src/HOL/TPTP/mash_eval.ML	Fri Jul 20 22:19:46 2012 +0200
     1.2 +++ b/src/HOL/TPTP/mash_eval.ML	Fri Jul 20 22:19:46 2012 +0200
     1.3 @@ -78,26 +78,28 @@
     1.4          val isar_deps = isar_dependencies_of all_names th |> these
     1.5          val facts = facts |> filter (fn (_, th') => thm_ord (th', th) = LESS)
     1.6          val mepo_facts =
     1.7 -          Sledgehammer_MePo.iterative_relevant_facts ctxt params prover
     1.8 +          Sledgehammer_MePo.mepo_suggested_facts ctxt params prover
     1.9                slack_max_facts NONE hyp_ts concl_t facts
    1.10 -        val mash_facts = facts |> suggested_facts suggs
    1.11 +          |> Sledgehammer_MePo.weight_mepo_facts
    1.12 +        val mash_facts = suggested_facts suggs facts
    1.13          val mess = [(mepo_facts, []), (mash_facts, [])]
    1.14          val mesh_facts = mesh_facts slack_max_facts mess
    1.15 -        val isar_facts = suggested_facts isar_deps facts
    1.16 -        fun prove ok heading facts =
    1.17 +        val isar_facts = suggested_facts (map (rpair 1.0) isar_deps) facts
    1.18 +        fun prove ok heading get facts =
    1.19            let
    1.20              val facts =
    1.21 -              facts
    1.22 -              |> Sledgehammer_Fact.maybe_instantiate_inducts ctxt hyp_ts concl_t
    1.23 -              |> take (the max_facts)
    1.24 +              facts |> map get
    1.25 +                    |> Sledgehammer_Fact.maybe_instantiate_inducts ctxt hyp_ts
    1.26 +                                                                   concl_t
    1.27 +                    |> take (the max_facts)
    1.28              val res as {outcome, ...} =
    1.29                run_prover_for_mash ctxt params prover facts goal
    1.30              val _ = if is_none outcome then ok := !ok + 1 else ()
    1.31            in str_of_res heading facts res end
    1.32 -        val mepo_s = prove mepo_ok MePoN mepo_facts
    1.33 -        val mash_s = prove mash_ok MaShN mash_facts
    1.34 -        val mesh_s = prove mesh_ok MeshN mesh_facts
    1.35 -        val isar_s = prove isar_ok IsarN isar_facts
    1.36 +        val mepo_s = prove mepo_ok MePoN fst mepo_facts
    1.37 +        val mash_s = prove mash_ok MaShN fst mash_facts
    1.38 +        val mesh_s = prove mesh_ok MeshN I mesh_facts
    1.39 +        val isar_s = prove isar_ok IsarN fst isar_facts
    1.40        in
    1.41          ["Goal " ^ string_of_int j ^ ": " ^ name, mepo_s, mash_s, mesh_s,
    1.42           isar_s]