Coq是一种形式化的证明管理系统,半交互式定理证明器和函数式编程语言。 Coq用于软件验证,编程语言的形式化,数学定理的形式化,教学等。由于Coq的交互性,如果认为合适,我们建议将问题链接到https://x80.org/collacoq/上的可执行示例。
在mathcompssreflect中是否有对古典逻辑的支持?
例如,coq的标准库里有一个古典逻辑的包,里面有古典逻辑中的词法,比如涉及forall和existence的词法(https:/coq.inria.frlibraryCoq.Logic.Classical_Pred_Type...)。
如何在Coq中证明以下内容?(p->q)->(~q->~p)这是我开始的。Lemma工作:(forall p q : Prop,(p->q)->(~q->~p))。证明.Intros p q.Intros p_implies_q not_q......。
如何用ssreflect反思:无法用 "n=n0 "统一?x==?y
EDIT:我找到了! 我都忘了还有个胁迫。请忽略这个:) 我正在学习ssreflect,在这里被卡住了,不知道该如何进行。我的证明状态如下:n,n0 : nat ======================================================================================================================......
我正在编写我自己的第一个Coq文件,但在导出另一个用户定义的文件(由《软件基础》一书定义)时遇到了麻烦。问题是我当前的Coq文件的路径是CoqNWA.v ...。
假设我有一个定理L,说forall x,x + 1 + 1 = x + 2.如果我的目标是a + 1 + 1 = b的形式,我可以写一个命令重写L,得到a + 2 = b的形式的目标。如果我的目标是a+1+1=b的形式,我可以写一条命令重写L,得到a+2=b的目标,但是,如果我的目标是......。
我阅读了https://en.wikipedia.org/wiki/Lambda_cube#Formal_definition,并对CiC和lambda多维数据集之间的关系感到困惑。据我了解,CiC扩展了CoC,后者是lambda的一个角落...
在Coq中如何对自然数使用mod算术(特别是Zplus_mod定理)?
我想应用库定理:定理Zplus_mod:总体a b n,(a + b)mod n =(a mod n + b mod n)mod n。其中a b n预期为Z类型。我在...
[当我的证明状态为H->目标时,我经常使用模式introsH。*某些策略* H.其中某些策略可以是“ inversion”或“ apply _ in”,等等。如果有一些...
[证明一个引理后,我最终达到了一个前提,我的前提是H:0 = 2,我必须证明是错误的。问题:如何推断前提H为假以得出结论?
我有一个引理,告诉加法通勤:引理通勤:对于所有x y,加x y =加y x。现在,在我的目标中,我试图证明:加(加x(S y))z =加x(S(加y z))...
我对add的定义如下:定点添加n m:=将n与|匹配。 0 => m | S p =>加p(S m)端。在文件的后面,我试图证明以下目标:加(S n)0 = S n I ...
在Software Foundations Trie模块中,is_trie的良好实现是什么?
该模块在此处:https://softwarefoundations.cis.upenn.edu/vfa-current/Trie.html如果搜索“ Definition is_trie”,则可以找到以下定义以及我不确定的部分。 ..
我正在学习Coq语言并尝试证明以下陈述:引理ex4:forall(X:Set)(P:X-> Prop),〜(forall x,〜(P x))->(存在x ,(P x))。在我的证明开始时:...
要使用归纳法以一种直接的方式编写,我有下面的代码。归纳T:= | t0 | t1(a b:T)| .. | tk(P:T-> Prop)(t:T)| tn(P:T-> T-> Prop)(t:T)| .. ...
据我了解,然后Coq内置了一阶逻辑https://coq.inria.fr/tutorial/1-basic-predicate-calculus。但是Coq不是定理证明者,Coq是证明助手,这意味着...