284 generate_mepo_or_mash_suggestions |
284 generate_mepo_or_mash_suggestions |
285 (fn ctxt => fn _ => fn params => fn max_suggs => fn hyp_ts => fn concl_t => |
285 (fn ctxt => fn _ => fn params => fn max_suggs => fn hyp_ts => fn concl_t => |
286 not (Config.get ctxt Sledgehammer_MaSh.duplicates) ? Sledgehammer_Fact.drop_duplicate_facts |
286 not (Config.get ctxt Sledgehammer_MaSh.duplicates) ? Sledgehammer_Fact.drop_duplicate_facts |
287 #> Sledgehammer_MePo.mepo_suggested_facts ctxt params max_suggs NONE hyp_ts concl_t) |
287 #> Sledgehammer_MePo.mepo_suggested_facts ctxt params max_suggs NONE hyp_ts concl_t) |
288 |
288 |
289 fun generate_mash_suggestions algorithm = |
289 fun generate_mash_suggestions algorithm ctxt = |
290 (Options.put_default @{system_option MaSh} algorithm; |
290 (Options.put_default @{system_option MaSh} algorithm; |
291 Sledgehammer_MaSh.mash_unlearn (); |
291 Sledgehammer_MaSh.mash_unlearn ctxt; |
292 generate_mepo_or_mash_suggestions |
292 generate_mepo_or_mash_suggestions |
293 (fn ctxt => fn thy_name => fn params as {provers = prover :: _, ...} => |
293 (fn ctxt => fn thy_name => fn params as {provers = prover :: _, ...} => |
294 fn max_suggs => fn hyp_ts => fn concl_t => |
294 fn max_suggs => fn hyp_ts => fn concl_t => |
295 tap (Sledgehammer_MaSh.mash_learn_facts ctxt params prover 2 false |
295 tap (Sledgehammer_MaSh.mash_learn_facts ctxt params prover 2 false |
296 Sledgehammer_Util.one_year) |
296 Sledgehammer_Util.one_year) |
297 #> Sledgehammer_MaSh.mash_suggested_facts ctxt thy_name params max_suggs hyp_ts concl_t |
297 #> Sledgehammer_MaSh.mash_suggested_facts ctxt thy_name params max_suggs hyp_ts concl_t |
298 #> fst)) |
298 #> fst) ctxt) |
299 |
299 |
300 fun generate_mesh_suggestions max_suggs mash_file_name mepo_file_name mesh_file_name = |
300 fun generate_mesh_suggestions max_suggs mash_file_name mepo_file_name mesh_file_name = |
301 let |
301 let |
302 val mesh_path = Path.explode mesh_file_name |
302 val mesh_path = Path.explode mesh_file_name |
303 val _ = File.write mesh_path "" |
303 val _ = File.write mesh_path "" |