论文标题
证明近似会员查询结构的确定性和不确定性 - 扩展版本
Certifying Certainty and Uncertainty in Approximate Membership Query Structures -- Extended Version
论文作者
论文摘要
近似成员查询结构(AMQ)依靠随机化来获得时间和空间效率,同时引入了假阳性和假阴性答案的可能性。此类结构的正确性证明涉及关于获得某些结果的概率的微妙推理。由于这些微妙之处,多年来,这些证据中有许多不合格的论点。在这项工作中,我们应对建立有关AMQ概率规范的严格且可重复使用的计算机辅助证明的挑战。我们将AMQ系统分解及其属性描述为一系列接口和可重复使用的组件。我们将框架作为COQ证明助手中的库实施,并通过在其中编码许多非平凡的AMQ来对其进行展示,例如Bloom过滤器,计数过滤器,商过滤器和封闭的构造,并制定其概率规范的证明。我们演示了在框架中编码的AMQ如何保证通过构造缺乏虚假负面因素。我们还展示了如何通过验证减少其简单对应物的实现来获得有关误报概率的证据。最后,我们提供了一个特定于领域的定理和策略的库,这些库允许在概率证明中具有高度的自动化。
Approximate Membership Query structures (AMQs) rely on randomisation for time- and space-efficiency, while introducing a possibility of false positive and false negative answers. Correctness proofs of such structures involve subtle reasoning about bounds on probabilities of getting certain outcomes. Because of these subtleties, a number of unsound arguments in such proofs have been made over the years. In this work, we address the challenge of building rigorous and reusable computer-assisted proofs about probabilistic specifications of AMQs. We describe the framework for systematic decomposition of AMQs and their properties into a series of interfaces and reusable components. We implement our framework as a library in the Coq proof assistant and showcase it by encoding in it a number of non-trivial AMQs, such as Bloom filters, counting filters, quotient filters and blocked constructions, and mechanising the proofs of their probabilistic specifications. We demonstrate how AMQs encoded in our framework guarantee the absence of false negatives by construction. We also show how the proofs about probabilities of false positives for complex AMQs can be obtained by means of verified reduction to the implementations of their simpler counterparts. Finally, we provide a library of domain-specific theorems and tactics that allow a high degree of automation in probabilistic proofs.