论文标题
UTC时间,正式验证
UTC Time, Formally Verified
论文作者
论文摘要
FV时间是使用数学组件库在COQ证明助手中开发的一个小规模验证项目。它是一个用于管理时间格式(UTC和时间戳)之间转换的库,以及时间算术的常用函数。作为时间转换的库,其新颖性是LEAP秒的实现,这是UTC标准的一部分,但通常在现有库中没有实现。由于经过验证的FV时间功能相当简单但不平凡,因此它很好地说明了我们使用COQ验证软件的方法。 在本文中,我们介绍了该项目的描述,强调了开发图书馆时面临的主要问题,以及作为副产品生产的一些通用解决方案,可以用于其他验证项目。其中包括从COQ标准库中的面向验证的MathComp编号和面向计算的原始数字之间的完善软件包,以及通过蛮力计算对有限范围自动证明某些可决定性陈述的一组策略。
FV Time is a small-scale verification project developed in the Coq proof assistant using the Mathematical Components libraries. It is a library for managing conversions between time formats (UTC and timestamps), as well as commonly used functions for time arithmetic. As a library for time conversions, its novelty is the implementation of leap seconds, which are part of the UTC standard but usually not implemented in existing libraries. Since the verified functions of FV Time are reasonably simple yet non-trivial, it nicely illustrates our methodology for verifying software with Coq. In this paper we present a description of the project, emphasizing the main problems faced while developing the library, as well as some general-purpose solutions that were produced as by-products and may be used in other verification projects. These include a refinement package between proof-oriented MathComp numbers and computation-oriented primitive numbers from the Coq standard library, as well as a set of tactics to automatically prove certain decidable statements over finite ranges through brute-force computation.