You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Coq构造性逻辑下缺失的德摩根律相关技术问询

构造性逻辑下Coq德摩根律问题解答

Coq默认采用构造性逻辑,完整德摩根律中有2条无法构造性证明:

Theorem deMorgan_nand P Q (andPQ : ~(P /\ Q)) : P \/ Q.
Abort.

Theorem deMorgan_nall {A} (P : A -> Prop) (allPa : ~forall a, P a) : exists a, ~P a.
Abort.

这一特性是构造性逻辑的固有属性:构造性证明要求显式给出或命题、存在命题的成立实例,而该场景下无法通用地构造出对应实例。

常用的弱命题扩展定义如下:

Definition orW P Q := ~(~P /\ ~Q).
Definition exW {A} (P : A -> Prop) := ~forall a, ~P a.

基于上述定义可以证明合取非的替代德摩根律:

Theorem deMorgan_nand P Q (andPQ : ~(P /\ Q)) : orW (~P) (~Q).
  hnf; intros nnPQ; destruct nnPQ as [ nnP nnQ ].
  apply nnP; clear nnP; hnf; intros p.
  apply nnQ; clear nnQ; hnf; intros q.
  apply (andPQ (conj p q)).  
Qed.

但全称量词否定的对应形式以及另一条变体仍然无法证明:

Theorem deMorgan_nall {A} (P : A -> Prop) (allPa : ~forall a, P a) : exW (fun a => ~P a).
Abort.

Theorem deMorgan_nexn {A} (P : A -> Prop) (exPa : ~exists a, ~P a) : ~~forall a, P a.
Abort.

推导过程分别卡在~~P a到P a的转换、以及获取参数a后结论非False无法触发双重否定消去两个节点。


问题解答

1. 若deMorgan_nall不可证明,是否存在与之近似的等价定理?

纯构造性逻辑下有两类通用的近似方案:

  • 保留构造性的弱结论形式:~forall a, P a -> ~~exists a, ~P a,该定理无需额外公理即可证明,仅将存在性结论弱化为双重否定形式,符合构造性逻辑要求。
  • 添加前提增强证明能力:如果引入前提forall a, P a \/ ~P a(即谓词P的所有实例均可判定),则经典版本的deMorgan_nall可以直接证明;若论域A为有限类型,该可判定性前提可以自动推导,无需额外引入公理。

2. ~forall a, P a是否已是最简形式?

是的。在不含经典公理(排中律、选择公理等)的标准构造性逻辑体系中,~forall a, P a不存在等价的、不含全称量词否定的更简洁范式,是当前场景下的最简形式。仅在引入经典公理的前提下,才能将其等价转换为exists a, ~P a的存在形式。

3. 对于形如P : A -> Prop的带参数命题,是否存在类似结论为False时可用的排中律规则?

对应的通用规则为谓词可判定性公理,形式为forall (a : A), P a \/ ~P a,本质是排中律对谓词P的每一个实例都成立。除此之外还有两类构造性原生成立的规则可直接使用:

  • 正向推导规则:(exists a, ~P a) -> ~forall a, P a,无前提限制,完全符合构造性要求。
  • 否定场景双重否定消去规则:~~~(forall a, P a) -> ~(forall a, P a),和单个命题的否定双重消去规则一致,结论为False时可直接调用。

内容的提问来源于stack exchange,提问作者scubed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 12:51:03