I'd like to automatically check if a theorem in my theory is solveable by try/sledgehammer or other tactics.
Is there a way to do this?
I've tried the mirabelle tool, but to my knowledge that requires a proof to already be present.
The mirabelle sledgehammer action does not really require a proof, but it looks for a by
. So what you can do is axiomatize your lemma with the attribute [no_atp]
(so it doesn't get used by sledgehammer), and "prove" it with by (rule your_axiomatized_lemma)
.
Fabian Huch said:
The mirabelle sledgehammer action does not really require a proof, but it looks for a
by
. So what you can do is axiomatize your lemma with the attribute[no_atp]
(so it doesn't get used by sledgehammer), and "prove" it withby (rule your_axiomatized_lemma)
.
Is there a [no_atp]
option for theorems inside locales?
When I prove my theorem in the context of a locale, sledgehammer still uses the axiomatized version.
locale varsAndFunctions =
fixes var_p::"bool"
fixes var_q::"bool"
assumes "True"
theorem (in varsAndFunctions) solve_stub[no_atp]:"False"
sorry
theorem (in varsAndFunctions) solve:"False"
sledgehammer
Last updated: Dec 21 2024 at 16:20 UTC