Coq是一种形式化的证明管理系统,半交互式定理证明器和函数式编程语言。 Coq用于软件验证,编程语言的形式化,数学定理的形式化,教学等。由于Coq的交互性,如果认为合适,我们建议将问题链接到https://x80.org/collacoq/上的可执行示例。
我是Coq的新手。我有一个记录类型和一个定义:Record t:Type:= T {width:nat; }。定义缩进移位f:=将f与|匹配。 T w => T(w + shift)结束。我...
John Major的等式带有以下重写的引理:检查JMeq_ind_r。 (* JMeq_ind_r:forall(A:类型)(x:A)(P:A->支撑),P x-> forall y:A,JMeq y x-> ...
如何在Coq中证明以下内容?目标所有人(AB):类型(A * A = B * B)%type-> A =B。如果无法证明,可以安全地将其作为公理添加吗?
John Major的等式带有以下重写的引理:检查JMeq_ind_r。 (* JMeq_ind_r:forall(A:类型)(x:A)(P:A->支撑),P x-> forall y:A,JMeq y x-> ...
以一种标准的方式,我对列表进行归纳,例如x :: lst的第一次批准执行了批准,但是我要:lst ++的x :: nil第一次批准执行了批准。对我来说,x的位置。 ..
功能扩展性是否可以证明约翰·梅杰(John Major)的平等(可能依赖于安全公理)?目标全部A(P:A->类型)(Q:A->类型)(f:全部a,P a)(g:全部a,Q a),(全部a,JMeq(f ...
我正在尝试形式化一些直觉主义的观念。其中之一是连续性原则。在Coq中,我将其定义为:(*无限序列*)定义N:= nat-> nat。 (*前n个...
Coq:证明如果(A,B)=(C,D),则A = C / \ B = D
标题中,我找不到足够的工具来解决这个琐碎的事情:p:(A,B)=(C,D)------------ A = C / \ B = D如何证明?
具有该引理引理my_lemma n:n%/ 4 * 4 + n %% 4 * 5-n %% 4 * 4 = n。证明。 (*?*)(* n%/ 4 * 4 + n %% 4 = n。*)对称。适用:divn_eq n 4.已确认。如何转换n %% 4 * 5-n ...
以下代码:类MonadState(M:类型->类型)(S:类型):= MonadState_Build {monad_state:> Monad M;得到:M S;把:S-> M S; embed_fun {X} :( S-> ...
我试图证明这两个加法函数在扩展上是相同的,但是我什至不能证明第二个函数的最简单引理。如何证明非原始...
如何使用WHILE循环构造函数以SF的简单命令式语言构造证明
在SF的IMP章节中,我不知道如何使用while语句(尤其是E_WhileTrue构造函数)。在下面的代码中,我收到一个统一错误。这没问题...
当没有打字信息时,如何在Coq问题中断言(H4:[] = [] ++ [])?
我被限制在以下证明中,因为我不知道如何断言(H4:[] = [] ++ [])。在下面的最后一行中,因此应用MApp,因为上下文中没有已知的类型信息。 ...
如何在coq证明中(和其他一般的coq要求中处理EmptySet regex构造函数?
我正在尝试找出如何解决SF中的app_ne问题。我的想法是对第一个正则表达式进行归纳,因为这将使我们满足第一个析取式,而所有其他...
我想将一个依赖类型定义为eqType。例如,假设我们定义了以下依赖类型Tn:从mathcomp要求导入all_ssreflect。变量T:nat-> eqType。 ...