src/Pure/Tools/find_theorems.ML
changeset 31684 d5d830979a54
parent 31042 d452117ba564
child 31687 0d2f700fe5e7
equal deleted inserted replaced
31683:7652c87c2db5 31684:d5d830979a54
   280       | app (r, consts, f :: fs) =
   280       | app (r, consts, f :: fs) =
   281           let val (r', consts') = f (thm, consts)
   281           let val (r', consts') = f (thm, consts)
   282           in app (opt_add r r', consts', fs) end;
   282           in app (opt_add r r', consts', fs) end;
   283   in app end;
   283   in app end;
   284 
   284 
   285  
   285 
   286 in
   286 in
   287 
   287 
   288 fun filter_criterion ctxt opt_goal (b, c) =
   288 fun filter_criterion ctxt opt_goal (b, c) =
   289   (if b then I else (apfst opt_not)) o filter_crit ctxt opt_goal c;
   289   (if b then I else (apfst opt_not)) o filter_crit ctxt opt_goal c;
   290 
   290 
   415     val start = start_timing ();
   415     val start = start_timing ();
   416 
   416 
   417     val criteria = map (apsnd (read_criterion ctxt)) raw_criteria;
   417     val criteria = map (apsnd (read_criterion ctxt)) raw_criteria;
   418     val (foundo, thms) = find_theorems ctxt opt_goal opt_limit rem_dups raw_criteria;
   418     val (foundo, thms) = find_theorems ctxt opt_goal opt_limit rem_dups raw_criteria;
   419     val returned = length thms;
   419     val returned = length thms;
   420     
   420 
   421     val tally_msg =
   421     val tally_msg =
   422       (case foundo of
   422       (case foundo of
   423         NONE => "displaying " ^ string_of_int returned ^ " theorems"
   423         NONE => "displaying " ^ string_of_int returned ^ " theorems"
   424       | SOME found =>
   424       | SOME found =>
   425           "found " ^ string_of_int found ^ " theorems" ^
   425           "found " ^ string_of_int found ^ " theorems" ^