我在HOL4中声明了以下目标:
set_goal([``A:bool``,``B:bool``], ``B:bool``);
处于证明状态
val it =
Proof manager status: 1 proof.
1. Incomplete goalstack:
Initial goal:
B
------------------------------------
0. B
1. A
: proofs
我试图找到一种使用这些假设的适当策略。我想出了ASM_MESON_TAC
:
e (mesonLib.ASM_MESON_TAC [])
它证明了目标:
OK..
Meson search level: ..
val it =
Initial goal proved.
[..] ⊢ B: proof
在这种情况下,这是标准战术吗?或者,有没有更简单的一个?
答案 0 :(得分:1)
e (FIRST_ASSUM ACCEPT_TAC)
做到了。
FIRST_ASSUM
对假设应用论证定理策略,直到成功为止。
ACCEPT_TAC
只是证明了一个目标,只要我们提供相同的定理。
ACCEPT_TAC: thm -> tactic
FIRST_ASSUM: (thm -> tactic) -> tactic
(感谢#hol上的某人)