正式化时间和空间复杂性要求

时间:2014-04-22 12:54:44

标签: coq agda idris

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

1 个答案:

答案 0 :(得分:3)

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

详情载于他的论文 Lightweight Semiformal Time Complexity Analysis for Purely Functional Data Structures