COQ证明助手-应用hypothesis
我正在Coqide做一个非常简单的证明作业。COQ证明助手-应用hypothesis,coq,coq-tactic,Coq,Coq Tactic,我正在Coqide做一个非常简单的证明作业。 我试图将假设H2应用于我的子目标,但由于某种原因,它不起作用。 我不明白为什么;有人能解释一下为什么应用H2。命令不适用 2 subgoals A : Type x : A l1, l2 : list A H : Prefix l1 l2 H2 : x :: l2 = (x :: l1) ++ [] -> Prefix (x :: l1) (x :: l2) ______________________________________(1/2)
我试图将假设H2应用于我的子目标,但由于某种原因,它不起作用。 我不明白为什么;有人能解释一下为什么应用H2。命令不适用
2 subgoals
A : Type
x : A
l1, l2 : list A
H : Prefix l1 l2
H2 : x :: l2 = (x :: l1) ++ [] -> Prefix (x :: l1) (x :: l2)
______________________________________(1/2)
x :: l2 = (x :: l1) ++ []
______________________________________(2/2)
exists l3 : list A, x :: l2 = (x :: l1) ++ l3
apply H2
没有工作的机会,因为它的结论是前缀(x::l1)(x::l2)
,这看起来不像你的目标。
H2
的前提是你的目标:x::l2=(x::l1)+[]
然而,这意味着如果你首先设法解决你的目标,你只能应用H2
,这不是很有用