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

∀ 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 中有描述。 .

https://stackoverflow.com/questions/23220253/

相关文章:

sql - MSSQL : Display Rows for a Select with Case

clojure - 莱因环 uberjar

cordova - 在 Windows Phone 8 中调用日期时间选择器插件

mips - mips 中的算术溢出

amazon-web-services - boto如何选择aws区域来创建buckets?

ocaml - 是否可以在 OCaml 中直接将 "type"作为字符串打印出来?

grep - 管道 shasum 到 grep,但 grep 返回管道输入的所有行,即使是不匹配的

process - 用于并行计算的 CPU 卡?

ckeditor - 如何从内联 CKEditor 的可编辑区域中删除边框?

ember.js - 在 Github Pages 上的 Ember.js 中获取没有哈希的 url