【问题标题】:Using a proven subgoal in another subgoal in Coq在 Coq 的另一个子目标中使用经过验证的子目标
【发布时间】:2015-05-07 21:05:31
【问题描述】:

假设我想证明P : A -> (B /\ C)。在intros. split. 之后,Coq 生成两个子目标,我分别证明BC,以A 为前提。假设我已经证明了第一个子目标并进入了第二个子目标。有什么方法可以引入先前证明的子目标,以便我在上下文中有B

一种明显的方法是将原始定理重构为P1 : A -> BP2 : A -> C,但如果我能跳过那部分就好了,尤其是在进行紧凑的自动证明时。

【问题讨论】:

    标签: coq


    【解决方案1】:

    您可以在split. 之前assert B. 并证明它,然后split 并使用假设证明B,然后继续证明CB 可用。

    或者,您可以构建一个:

    Theorem and_intro_2 :
      forall A B C : Prop,
        (A -> B) ->
        (A -> B -> C) ->
        A -> B /\ C.
    Proof. firstorder. Qed.
    

    并在开始时立即应用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-21
      • 1970-01-01
      • 1970-01-01
      • 2021-12-19
      • 2021-08-09
      • 2011-05-15
      • 2012-10-31
      • 1970-01-01
      相关资源
      最近更新 更多