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

Coq证明代码运行报Not the right number of missing arguments错误如何解决

错误原因

你编写的exists bool [true] [false]不符合Coq战术语法规则:Coq中空格代表函数应用,该写法会被解析为尝试将bool作为函数传入[true]、[false]两个参数后,再传递给exists战术,和exists单次接收1个实例参数的要求不匹配,因此抛出参数数量错误。

解决方案

有两种可直接运行的修正方式:

  • 方案1:拆分exists调用,每次实例化一层存在量词,完整代码如下:
Require Import Coq.Lists.List.
Import ListNotations.

Theorem con_not_com :
  exists A (l1 l2 : list A), l1 ++ l2 <> l2 ++ l1.
Proof.
  exists bool.
  exists [true].
  exists [false].
  simpl.
  discriminate.
Qed.
  • 方案2:Coq 8.12及以上版本支持单次exists传入多个实例参数,参数之间用逗号分隔即可,完整代码如下:
Require Import Coq.Lists.List.
Import ListNotations.

Theorem con_not_com :
  exists A (l1 l2 : list A), l1 ++ l2 <> l2 ++ l1.
Proof.
  exists bool, [true], [false].
  simpl.
  discriminate.
Qed.

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 01:45:02