Certified Context-Free Parsing: A formalisation of Valiant's Algorithm in Agda
Valiant(1975)开发了一种识别上下文无关语言的算法。到今天为止,它仍然是用于此目的的最佳渐近复杂度的算法。在本文中,我们提出了一个代数规范,实现,并证明了正确性的一个概括的Valiant的算法。推广可用于识别,解析或一般计算的传递闭包的上三角矩阵。该证明由Agda证明助手认证。该证明是基于类型理论的证明助手中规范和证明的最先进方法的代表。因此,本文件可作为Agda系统的教程。
2016-06-12 cs.LO
DSLean: A Framework for Type-Correct Interoperability Between Lean 4 and External DSLs
Carnegie Mellon University(卡内基梅隆大学)
DSLean是一种用于Lean 4与外部DSL之间类型正确互操作的框架,通过双向翻译实现与外部求解器的高效交互。
2026-08-03 cs.LO
Formalization of security
Max Planck Institute for Security and Privacy(马克斯·普朗克安全与隐私研究所);IMDEA Software Institute(IMDEA软件研究所)
本章围绕证明助手,介绍其在系统安全、基于语言的安全、安全编译、密码学领域用于验证安全属性及支持认证的应用。
2026-07-31 cs.CR cs.LO cs.PL
A Universal Machine for Biform Theory Graphs
广义地说,数学语义辅助系统主要有两类:证明助手用逻辑表达语义,强调推理;计算机代数系统用程序设计语言表达语义,强调计算。一段时间以来,结合两种方法的互补优势,同时弥补它们的互补弱点,一直是机械化数学界的一个重要目标。我们拿起的想法,biform理论和解释它在MMTt/OMDoc框架,介绍了基础理论的方法,因此可以代表逻辑和程序设计语言的理论。这就产生了一个正式的,模块化的框架,biform理论图混合规范和实现共享模块系统和类型信息。我们提出了自动化的知识管理工作流程,接口到现有的规范/编程工具,并启用OpenMath机器,可操作的biform理论,评估表达式通过详尽地应用各自的运营商的实现。我们通过将实现添加到OpenMath标准内容字典来评估新的biform框架。
2013-06-13 cs.LO cs.MS
When Agda met Vampire
University of Southampton(南安普顿大学)
通过集成Agda与Vampire实现自动化证明,提升构造性类型理论的自动化能力
2026-02-21 cs.AI cs.LO
An extensible equality checking algorithm for dependent type theories
提出一种通用且用户可扩展的相等性检查算法,适用于多种类型理论,通过类型导向阶段和规范化阶段处理外延性与计算规则,并在Andromeda 2中实现,证明其可靠性。
2022-01-18 cs.LO math.LO
Rzk: a Proof Assistant for Synthetic $\infty$-Categories
Innopolis University(因诺波利斯大学);Delft University of Technology(代尔夫特理工大学)
介绍用于合成∞-范畴的证明助手Rzk,它实现了RSTT的细化。定义从RSTT到Rzk的合理翻译,包括忠实性和保守性证明。还给出在Rzk中证明的教程及实现描述,含类型检查算法和自动证明器。
2026-07-15 cs.LO cs.PL math.CT
BARReL: a modern backend for Atelier B in Lean
Université de Lorraine(洛林大学);CNRS(法国国家科学研究中心);Inria(法国国家数字与工程研究所);LORIA
BARReL 是一个 Lean 4 库,桥接工业 B 方法工具 Atelier B 与 Lean 证明助手,支持在 Lean 中交互式进行 B 开发,通过显式良定义条件编码部分算子,并利用依赖类型保证良定义性,同时提供基本自动化。
2026-10-21 cs.LO
A coinductive semantics of the Unlimited Register Machine
我们利用(共)归纳规范和证明的方法来评估低层次的程序无限注册机(URM)的Coq系统,一个证明助手的基础上演算(共)归纳结构类型论。我们的形式化使我们能够证明部分功能的实现,因此,它可以被看作是第一步的工作台的正式分析和验证收敛和发散计算的发展。
2011-11-14 cs.LO
A Web Interface for Matita
本文描述了Matita证明助手的Web界面的原型实现。该接口支持本地Gtk接口的所有基本功能,但利用标记来丰富文档,其中包含多种注释或活动元素。注释可以具有呈现/超文本性质,旨在提高证明脚本作为人类可读文档的质量,或者具有更多语义性质,旨在帮助系统处理脚本。后一种类型包括由证明助手在先前的编译期间自动生成的信息,并且被存储以提高重新执行诸如消歧或自动化之类的昂贵操作的性能。
2012-07-12 cs.LO cs.SE
Datapath Verification via Word-Level E-Graph Rewriting
提出一种基于e-graph数据结构的字级位宽相关重写框架,辅助datapath等价性检查,通过生成中间证明使工业工具实现收敛并将证明时间缩减至6倍。
2023-08-01 cs.AR cs.LO
Controlling unfolding in type theory
针对依赖类型论中证明助理定义展开易致证明脆弱、目标过大的问题,提出默认不展开、可局部选择性展开的新机制,通过带外延类型的核心理论精化及规范化定理论证合理性,已在cooltt实现并启发Agda的独立实现。
2025-10-15 cs.LO
Verified and Optimized Implementation of Orthologic Proof Search
本文在 Coq 中形式化并验证了正交逻辑的相继式演算证明系统及其切消定理,进而实现并优化了一个二次时间复杂度的完整证明搜索过程,最终将其封装为独立的 Coq 策略插件。
2025-02-04 cs.LO
A Graphical Interface for Category Theory Proofs in Coq
针对范畴论抽象难学、证明助手多为文本形式的问题,研究提出并实现了一款Coq插件,提供范畴论证明的图形化界面,支持可视化与交互,助力学生掌握图表推理。
2025-05-09 cs.LO cs.PL
Constructing (Co)inductive Types via Large Sizes
Leiden University(莱顿大学);University of Amsterdam(阿姆斯特丹大学)
本文提出通过引入大尺寸类型和参数量化符来构造(co)归纳类型,解决了传统方法在一致性和模块性上的限制,并通过不可预测的现实模型证明了理论的一致性。
2026-04-30 cs.LO
JEFL: Joint Embedding of Formal Proof Libraries
University of Innsbruck(因斯布鲁克大学);University of Warsaw(华沙大学)
在不同的交互式证明助手库中使用的逻辑基础的异质性使得在它们之间发现相似的数学概念变得困难。在本文中,我们比较了以前提出的算法,我们的无监督嵌入方法,可以帮助我们检索类似的概念,跨库匹配的概念。我们的方法是基于Word2Vec的快速文本实现,在此之上添加了一个树遍历模块,以适应我们的数据导出管道的表示格式的算法。我们比较的可解释性,可定制性和在线服务的方法,并认为神经嵌入方法有更多的潜力被集成到一个互动的证明助手。
2021-07-21 cs.CL cs.LG cs.LO
Computer certified efficient exact reals in Coq
浮点运算速度很快,但需要用户不断努力,以确保结果正确。通过提供一个精确分析的库,计算机在其中处理误差估计,可以将这个负担从用户身上转移开。我们在Coq证明助手中提供了精确实数的实现。这在两个方面改进了O'Connor早期的Coq实现:我们使用从机器整数构建的二进有理数,并且通过使用近似除法优化幂级数的计算。此外,我们使用类型类来实现干净的数学接口。这似乎是第一次在繁重的计算中使用类型类。我们获得了超过100倍的速度的基本操作和改进Coq系统的迹象。
2011-05-13 cs.LO
Formal Verification of the Safegcd Implementation
本文针对 libsecp256k1 中基于 Safegcd 的模逆算实现,利用 Coq 与 Verifiable C 分离逻辑完成其正确性的计算机验证证明。
2025-07-23 cs.CR cs.LO
Compositional pre-processing for automated reasoning in dependent type theory
本文针对Coq中自动化策略受限于特定逻辑片段的问题,提出并实现了一组可组合的原子目标变换预处理操作,从而显著扩展自动化引擎的适用能力。
2024-02-21 cs.LO
Automatic Generation of Proof Tactics for Finite-Valued Logics
现在有许多灵活的基于策略的逻辑框架,它们可以使用一种通用的高阶元语言来实现广泛的数学理论。作为证明助手,这种强大的系统的优点之一在于它们对推理能力的可扩展性的响应,其设计基于规则的程序设计语言,允许用户构建自己的“程序来构造证明”--所谓的证明策略。本贡献讨论了实现的算法,产生声音和完整的画面系统的一个非常包容的类充分表达有限值命题逻辑,然后说明了一些挑战和困难的算法形成的自动定理证明策略,这样的逻辑。我们将报告其实现的过程是基于证明系统的分析性的广义概念,旨在保证终止相应的自动化策略,这些策略涉及我们目标逻辑中的定理。
2010-03-25 cs.LO
Formal Verification of Flow Equivalence in Desynchronized Designs
Cortadella,Kondratyev,Lavagno和Sotiriou的研究工作包括一个手写的证明,证明一个特定的握手协议保持了流等价性,一个基于同步锁存器的规范和它们的非同步化的加密数据异步实现之间的等价性概念。在这项工作中,我们确定了一个反例Cortadella等人。的证明说明了他们的协议实际上如何导致违反流等价性。然而,在他们的论文中确定的两个并发性较低的协议确实保持了流等价性。为了验证这一事实,我们形式化的Coq证明助手流等价,并提供机械化,机器检查证明我们的结果。
2020-04-06 cs.LO
Context-Free Language Theory Formalization
证明助手是基于软件的工具,用于数学和计算机科学中证明构造和验证的机械化,也用于认证程序开发。为了加速和简化证据核查,正在越来越多地使用各种工具。上下文无关语言理论是一个成熟的数学领域,与计算机科学基础和技术相关。该提案旨在形式化Coq证明助手中的部分上下文无关语言理论。本报告介绍了证明助手的基本理论和一般特征,包括Coq本身,讨论了它在相关形式化项目中的使用,介绍了目前的实施情况,讨论了相关项目和这项工作的贡献。到目前为止,所获得的结果包括形式化的封闭属性的上下文无关文法(union,concatenation和closure)和形式化的语法简化。语法简化是计算机语言处理技术和形式语言理论中的一个重要课题,形式化是指一般的上下文无关文法生成的语言也可以由更简单等价的上下文无关文法生成。在保留原文法生成的语言方面,描述了无用符号消除、不可达符号消除、单位规则消除和空规则消除操作,并证明了这些操作的正确性。
2015-05-01 cs.FL cs.LO
Certified Exact Transcendental Real Number Computation in Coq
提出在Coq证明助手中实现基于完备度量空间的精确实数计算库,并开发自动证明闭基本实数表达式严格不等式的策略。
2008-05-16 cs.LO cs.MS cs.NA
First-order natural deduction in Agda
Agda是一种依赖类型的函数式编程语言,基于直觉主义的Martin-Löf类型理论的扩展。我们在Agda中实现了一阶自然演绎。我们使用Agda的类型检查器来验证自然演绎证明的正确性,并使用Agda的证明辅助功能来证明自然演绎的性质。这种实现对应于构造类型论中自然演绎的形式化,并且证明被Agda验证为正确的(假设Agda本身是正确的)。
2021-04-08 cs.LO math.LO
An approach to translating Haskell programs to Agda and reasoning about them
我们使用Agda程序设计语言和证明助手来正式验证基于HotStuff / LibraBFT的拜占庭容错共识实现的正确性。Agda实现是我们基于LibraBFT的Haskell实现的翻译。这篇简短的论文集中在这项工作的一个方面。我们开发了一个库,使翻译后的Agda实现能够紧密地反映它所基于的Haskell代码。这使得更容易和更有效地审查翻译的准确性,并在Haskell代码更改时维护翻译的Agda代码,从而降低翻译错误的风险。我们还解释了我们如何捕捉我们的库提供的语法功能的语义,从而使正式的推理程序使用它们,我们如何推理所产生的Agda实现的细节将在未来的论文。我们提供的库独立于我们的特定验证项目,并且是开源的,可供其他人使用和扩展。
2022-05-18 cs.LO cs.PL cs.SE
Shallow Embedding of Type Theory is Morally Correct
形式化类型论的元理论有多种方法。对于某些目的,考虑类型论的特定模型就足够了,但有时需要参考语法,例如在规范性和规范化的证明中。一种选择是通过在证明助手中使用归纳定义来深入嵌入语法。然而,在这种情况下,定义等式的处理在技术上变得具有挑战性。或者,我们可以通过浅嵌入对象理论来重用元理论中的转换检查。在本文中,我们考虑了Agda中的类型论对象理论的标准模型。这个模型具有所有等式定义成立的属性,我们可以通过从这个模型的组件构建表达式来将其用作浅嵌入。然而,如果我们要对这种设置的句法进行合理的推理,我们必须确保可区分的句法结构在浅嵌入时不会变得可证明相等。首先,我们证明了浅嵌入是单射的定义平等,通过建模的嵌入作为一个句法翻译目标的元理论。其次,我们使用一个实现隐藏技巧,不允许非法的命题平等证明和建设,不来自语法。我们展示了我们的技术与马丁-洛夫类型论的规范性和参数化的非常短的形式化。我们的技术只需要的功能,可在所有主要的证明助手依赖类型论的基础上。
2019-07-17 cs.LO
Small Scale Reflection for the Working Lean User
本文介绍了 Lean 4 证明助手中的 Small Scale Reflection(LeanSSR)方法与策略语言,利用原生元编程在内部实现,无需显式切换表示即可无缝结合演绎与计算证明,案例显示其能显著减小证明规模。
2024-03-19 cs.LO cs.PL
Growing a Modular Framework for Modal Systems- HOLMS: a HOL Light Library
本研究提出HOLMS这一HOL Light中的模态推理模块化框架,开发了证明多类正规模态系统关系语义适当性的统一策略,集成自动化决策程序与反模型构造器,验证了模态推理机械化的可行性。
2025-06-11 cs.LO math.LO
Internalizing Representation Independence with Univalence
本文利用高阶归纳类型对相关实现按异构对应同时取商,将其转化为同构并借助单值性获得内部表示独立性,且在 Cubical Agda 中完成形式化。
2020-10-25 cs.LO cs.PL
Initial Semantics for higher-order typed syntax in Coq
初始语义学旨在将与签名相关联的语法表征为某个类别的初始对象。我们提出了一个初步的语义结果类型的高阶语法连同其形式化的Coq证明助手。主要定理在2010年第二作者的博士论文中首次在纸上证明,并在不久后正式验证。对于固定的对象类型集合T上的简单类型绑定签名S,我们将一个称为S的表示范畴的范畴联系起来。我们证明了这个范畴有一个初始对象Sigma(S)。从它的构造中可以清楚地看出,对象Sigma(S)值得与S相关联的名称抽象语法。通过大量使用依赖类型,我们的定理在证明助手Coq中实现并证明了正确性。通过单子的方法产生了一种语法实现,其中术语和变量都是固有类型的,即对象类型反映在元级别类型中。这篇文章被看作是一篇研究文章,而不是关于一个经典数学结果的形式化。我们的定理的性质-涉及冗长,技术证明和复杂的代数结构-使它特别有趣的形式化验证。我们的目标是促进使用计算机定理证明器作为研究工具,并因此,一种新的方式出版的数学成果:一个平行的描述定理及其形式化应允许验证正确转录的定义和声明到证明助手,和简单,但技术证明应该很好地隐藏在一个数字图书馆。我们认为,科克的丰富的类型论,结合其各种功能,如隐式参数,允许一个特别可读的形式化,因此非常适合数学交流。
2011-09-17 cs.LO math.LO
A formalization of convex polyhedra based on the simplex method
在证明助手Coq中给出了凸多面体的形式化。我们的工作的基石是一个完整的实施单纯形法,连同证明其正确性和终止。这允许我们以有效的方式定义多面体上的基本谓词(即,作为程序),并将它们与相应的通常的逻辑对应物相关联。为此,我们广泛使用布尔反射方法。这种方法的好处是,我们可以很容易地推导出多面体上的几个基本结果的证明,如Farkas引理,线性规划的对偶定理和Minkowski定理。
2018-08-10 cs.LO math.CO math.OC