coq - 形式化时间和空间复杂性要求

标签 coq agda idris

∀ a b ∈ ℕ, b ≠ 0 → ∃ ! q r ∈ ℕ, a = q × b + r ∧ r < b是使用依赖类型的标准示例。如何扩展这种类型,使其也表达时间和空间复杂性要求?

最佳答案

Nils Anders Danielsson 在 Agda 中使用 monad 来跟踪时间复杂度:与正在研究的复杂性“相关”的子计算通过使它们中的每一个花费“一个时间刻度”来明确标记为此类。这些子计算然后通过跟踪单子(monad)类型索引中的刻度总和来单子(monad)组合。

详细信息在他的论文 Lightweight Semiformal Time Complexity Analysis for Purely Functional Data Structures 中有描述。 .

关于coq - 形式化时间和空间复杂性要求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23220253/

相关文章:

coq - 宇宙不一致(因为严格的正性限制?)

coq - `0<a -> 1<a+1`的更简单证明

functional-programming - 协助Agda的终止检查器

dependent-type - 在构造数据类型时选择类型类

proof - 我怎样才能让 Idris 自动证明两个值不相等?

idris - 两个向量的串联 - 为什么长度不被视为可交换的?

coq - Coq 中的 Axiom 和 Variable 有什么区别

coq - 如何证明 Coq 中的算术等式 `3 * S (i + j) + 1 = S (3 * i + 1) + S (3 * j + 1)`?

equality - 为什么 J 公理在给出 x、y 的签名时需要 2 x?

haskell - agda 中的已知模式匹配