cost 151 ms
任何额外的公理可以使 Coq Turing 完整吗? - Can any additional axiom make Coq Turing complete?

这里我指的公理是我们可以用 Coq Gallina 中的Axiom关键字定义的东西,而不是传递给 Coq 的命令行参数。 我知道一些公理使 Coq 不一致。 然而,AFAIK 他们并没有使 Coq Turing 完整。 以我的粗略理解,这是因为它们不提供任何额外的计算行为。 有没有一种可以使 C ...

我可以避免在 Idris 的总函数中显式释放无效案例吗? - Can I avoid explicitly discharging invalid cases in total functions in Idris?

考虑以下(非常简化的)示例,通过对其值的附加条件来约束数据类型: 有什么方法可以省略或总结impossible情况,而仍然让 Idris 将功能视为全部? 如果我确实留下了一个案例,我会得到类似的东西 我也不能只是有一个包罗万象的情况,因为编译器不知道_不能是 Car 所以第二行不进行类型检 ...

证明一个函数最多可以进行n次递归调用 - Proving totality of a function taking at most n recursive calls

假设我们正在编写一个lambda演算的实现,作为其中的一部分,我们希望能够选择一个新的非冲突名称: 伊德里斯总体检查认为pickName是不是总由于递归路径go ,这是理所当然的:的确,整体的证据不依赖于任何期限越来越语法小,而是在观察,如果bindings有k元素,那么它只需不超过k ...

Coq无法使用Fix定义有根据的定义,但如果使用Program Fixpoint定义则可以 - Coq can't compute well-founded defined with Fix, but can if defined with Program Fixpoint

作为通过有充分理由的关系理解递归的练习,我决定实现扩展的欧几里德算法。 扩展的欧几里德算法适用于整数,因此我需要一些有效的整数关系。 我试图在Zwf使用关系,但是事情没有用(我需要看更多的例子)。 我决定使用Z.abs_nat函数更容易将Z映射到nat ,然后只使用Nat.lt作为关系 ...

无法确定终止 - Cannot determine termination

确定一个集合是否是另一个集合的子集的函数: 为了清楚 beq_nat确定两个自然数的相等性 count计算给定自然数在集合中出现的次数 remove_all从集合中移除给定自然数的每个实例 CoqIDE“无法猜出fix的递减参数。” 鉴于递归是在t的子 ...

教coq检查终止 - Teach coq to check termination

与许多其他人不同,Coq接受可选的显式参数,该参数可用于指示固定点定义的递减结构。 来自Gallina规范,1.3.4, 定义语法。 但是从中我们已经知道它必须是一个标识符,而不是一般的衡量标准。 但是,一般来说,存在递归函数,终止不是很明显,或者实际上是,但终止检查器很难 ...

寻找一个良好的关系来证明某个函数的终止,该函数在某个时刻停止减少 - Finding a well founded relation to prove termination of a function that stops decreasing at some point

假设我们有: 我想说服Coq这将终止-我尝试通过将范围的大小测量为abs (to - from) 。 但是,这并不完全有效,因为一旦范围为空(即, from >= to ),它只会再次开始增大。 我也尝试过用以下方法进行测量: 使用我的习惯: 和演员: ...

为什么这个“with”块破坏了这个函数的整体? - Why does this 'with' block spoil the totality of this function?

我正在尝试通过自然数计算奇偶校验与一半的下限: 我尝试使用parity的明显实现: 此类型检查并按预期工作。 但是,如果我尝试将parity标记为total ,Idris 就会开始抱怨: 我在parity看到的唯一with块是从parity (S (S n))递归调用到parity n ...

Coq无法在Z上计算有根据的函数,但它适用于nat - Coq can't compute a well-founded function on Z, but it works on nat

我正在写(对我自己)解释如何在Coq中做有根据的递归。 (参见Coq'Art书,第15.2章)。 首先我做了一个基于nat的示例函数,并且工作正常,但后来我再次为Z ,当我使用Compute来评估它时,它不会一直减少到Z值。 为什么? 这是我的示例(我将文本放在注释中,以便可以将整个 ...

Idris:尝试从Intete for Nat重新实现整体检查失败 - Idris: totality check fails when trying to re-implement fromInteger for Nat

我有以下代码: 我收到有关最后一行的错误消息: 该函数应该总是给出一个结果,因为最终fromInteger的参数将变得足够小以选择第一个案例。 但伊德里斯似乎并不理解这一点。 这个函数有什么问题,我该如何解决这个错误? ...

如果伊德里斯认为事情可能完全没有,那么伊德里斯可以用于证明吗? - If Idris thinks things may be total that are not, can Idris be used for proofs?

http://docs.idris-lang.org/en/v0.99/tutorial/theorems.html#totality-checking-issues指出: 其次,到目前为止,目前的实施工作进展有限,因此可能仍然存在一种情况,即它认为功能是总的而不是。 不要依赖它来证 ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM