跳到正文
参考文档 / ZLIB × LEAN

规范与证明目标

此页源文件快照 · 75d616fc8a509c62 · 对应提交的原文 ↗

这里是规范参考。阅读模型与证明指南前,先查阅本节。 它规定所需行为。可以先把它看作两份互相配合的承诺:API 契约说明一次调用可以读写什么、返回什么;格式契约说明交付的字节应当表示什么。安全性要求则贯穿两者,覆盖指针、内存、终止性和资源释放。 进度是当前状态与剩余工作的唯一记录。

建议阅读顺序

顺序 文档 回答的问题
1 平台假设 接受怎样的系统环境,包括每个对象的大小上界?
2 安全性 UB、内存安全、终止性、帧性质和所有权分别要求什么?
3 输入配置 覆盖颜色描述哪个固定构建下、怎样嵌套的输入范围?
4 API 契约 调用者可以传入什么,各入口必须返回或修改什么?
5 内部辅助函数契约 实际调用者调用辅助函数前必须建立什么?
6 压缩数据格式 独立于实现,DEFLATE、zlib 和 gzip 字节表示什么?
7 格式关系 怎样用数学关系表达字节的含义?

API 页面定义入口行为。格式页面定义字节含义。两个引擎和所有公开入口共享安全性要求。 这些是不同的证明义务,因此各自在这里保留唯一的规范来源。

文档陈述与形式化陈述

固定问题的精确表述是 ZlibF/Spec/ 及各文件规范命名空间下的 Lean 命题。 目标索引将每个问题链接到精确陈述和证明证据。 文档契约解释这些问题;修改文字不能完成目标、改变其前置条件或赋予覆盖颜色。

部分文档前置条件比公开头文件更窄。应阅读入口的明确范围和偏差记录。 一个范围较窄的内部引理不能建立完整的公开契约。

继续阅读模型与证明

模型指南解释 C 操作如何表示。 可信基础记录假设与表示缺口。 证明指南解释如何建立规范要求。 检查指南解释验收与登记。

ZLIB × LEAN

全局目录

当前位置规范与证明目标