在Coq的另一个子目标中使用经验证的子目标
假设我想证明在Coq的另一个子目标中使用经验证的子目标,coq,Coq,假设我想证明p:A->(B/\C)。在介绍之后。拆分。,Coq生成两个子目标,其中我分别证明B和C,以A为前提。假设我已经证明了第一个子目标并进入了第二个子目标。是否有某种方法来引入先前已被证明的子目标,以便在上下文中使用B 一个显而易见的方法是将原始定理重构为P1:A->B和P2:A->C,但如果我可以跳过这一步,尤其是对于制作紧凑的自动证明,那就太好了。你可以在拆分之前断言B.,并证明它,然后split并使用假设证明B,然后使用B继续证明C 或者,您可以构建一个: Theorem and_i
p:A->(B/\C)
。在介绍之后。拆分。
,Coq生成两个子目标,其中我分别证明B
和C
,以A
为前提。假设我已经证明了第一个子目标并进入了第二个子目标。是否有某种方法来引入先前已被证明的子目标,以便在上下文中使用B
一个显而易见的方法是将原始定理重构为
P1:A->B
和P2:A->C
,但如果我可以跳过这一步,尤其是对于制作紧凑的自动证明,那就太好了。你可以在拆分之前断言B.
,并证明它,然后split
并使用假设证明B
,然后使用B
继续证明C
或者,您可以构建一个:
Theorem and_intro_2 :
forall A B C : Prop,
(A -> B) ->
(A -> B -> C) ->
A -> B /\ C.
Proof. firstorder. Qed.
并在开始时立即应用它