src/HOL/Tools/Sledgehammer/sledgehammer_mash.ML
changeset 58724 6c6a0ac70eac
parent 58723 98fb25b9e578
child 58725 ba0fe0639bc8
     1.1 --- a/src/HOL/Tools/Sledgehammer/sledgehammer_mash.ML	Thu Jun 26 16:41:30 2014 +0200
     1.2 +++ b/src/HOL/Tools/Sledgehammer/sledgehammer_mash.ML	Thu Jun 26 16:41:30 2014 +0200
     1.3 @@ -1530,7 +1530,8 @@
     1.4              isar_dependencies_of name_tabs th
     1.5  
     1.6          fun do_commit [] [] [] state = state
     1.7 -          | do_commit learns relearns flops {access_G, xtabs, ffds, freqs, dirty_facts} =
     1.8 +          | do_commit learns relearns flops
     1.9 +              {access_G, xtabs as ((num_facts0, _), _), ffds, freqs, dirty_facts} =
    1.10              let
    1.11                val was_empty = Graph.is_empty access_G
    1.12  
    1.13 @@ -1545,7 +1546,13 @@
    1.14                    (false, SOME names) => SOME (map #1 learns @ map #1 relearns @ names)
    1.15                  | _ => NONE)
    1.16  
    1.17 -              val (ffds', freqs') = recompute_ffds_freqs_from_access_G access_G xtabs
    1.18 +              val (ffds', freqs') =
    1.19 +                if null relearns then
    1.20 +                  recompute_ffds_freqs_from_learns
    1.21 +                    (map (fn (name, _, feats, deps) => (name, feats, deps)) learns) xtabs num_facts0
    1.22 +                    ffds freqs
    1.23 +                else
    1.24 +                  recompute_ffds_freqs_from_access_G access_G xtabs
    1.25              in
    1.26                if engine = MaSh_Py then
    1.27                  (MaSh_Py.learn ctxt overlord (save andalso null relearns) learns;