equal
deleted
inserted
replaced
20 structure Sledgehammer_Tactics : SLEDGEHAMMER_TACTICS = |
20 structure Sledgehammer_Tactics : SLEDGEHAMMER_TACTICS = |
21 struct |
21 struct |
22 |
22 |
23 open Sledgehammer_Filter |
23 open Sledgehammer_Filter |
24 |
24 |
25 fun run_atp override_params relevance_override i n ctxt goal = |
25 fun run_prover override_params relevance_override i n ctxt goal = |
26 let |
26 let |
27 val chained_ths = [] (* a tactic has no chained ths *) |
27 val chained_ths = [] (* a tactic has no chained ths *) |
28 val params as {provers, relevance_thresholds, max_relevant, slice, ...} = |
28 val params as {provers, relevance_thresholds, max_relevant, slice, ...} = |
29 Sledgehammer_Isar.default_params ctxt override_params |
29 Sledgehammer_Isar.default_params ctxt override_params |
30 val name = hd provers |
30 val name = hd provers |
71 let |
71 let |
72 val override_params = |
72 val override_params = |
73 override_params @ |
73 override_params @ |
74 [("preplay_timeout", "0")] |
74 [("preplay_timeout", "0")] |
75 in |
75 in |
76 case run_atp override_params relevance_override i i ctxt th of |
76 case run_prover override_params relevance_override i i ctxt th of |
77 SOME facts => |
77 SOME facts => |
78 Metis_Tactic.metis_tac [] ATP_Problem_Generate.combs_or_liftingN ctxt |
78 Metis_Tactic.metis_tac [] ATP_Problem_Generate.combs_or_liftingN ctxt |
79 (maps (thms_of_name ctxt) facts) i th |
79 (maps (thms_of_name ctxt) facts) i th |
80 | NONE => Seq.empty |
80 | NONE => Seq.empty |
81 end |
81 end |
85 val thy = Proof_Context.theory_of ctxt |
85 val thy = Proof_Context.theory_of ctxt |
86 val override_params = |
86 val override_params = |
87 override_params @ |
87 override_params @ |
88 [("preplay_timeout", "0"), |
88 [("preplay_timeout", "0"), |
89 ("minimize", "false")] |
89 ("minimize", "false")] |
90 val xs = run_atp override_params relevance_override i i ctxt th |
90 val xs = run_prover override_params relevance_override i i ctxt th |
91 in if is_some xs then Skip_Proof.cheat_tac thy th else Seq.empty end |
91 in if is_some xs then Skip_Proof.cheat_tac thy th else Seq.empty end |
92 |
92 |
93 end; |
93 end; |