2022, 33(6):2172-2188.DOI: 10.13328/j.cnki.jos.006576
摘要:定理证明是目前主流的形式化验证方法,拥有强大的抽象和逻辑表达能力,且不存在状态空间爆炸问题,可用于有穷和无穷状态系统,但其不能完全自动化,并且要求用户掌握较强的数学知识.含索引式的命题投影时序逻辑(PPTL)是一种具有完全正则表达能力,并且包含LTL的时序逻辑,具有较强的建模和性质描述能力.目前,一个可靠完备的含索引式的PPTL公理系统已被构建,然而基于该公理系统的定理证明尚未得到良好工具的支持,存在证明自动化程度较低以及证明冗长易错的问题.鉴于此,首先设计了支持索引式的PPTL定理证明器的实现框架,包括公理系统的形式化与交互式定理证明;然后,在Coq中形式化定义了含索引式的PPTL公式、公理与推理规则,完成了框架中公理系统的实现;最后,通过两个实例的交互式证明验证了该定理证明器的可用性.
:1-31.DOI: 10.13328/j.cnki.jos.007222
摘要:智能合约是运行在以太坊区块链上的脚本, 能够处理复杂的业务逻辑. 大多数的智能合约采用Solidity语言开发. 近年来智能合约的安全问题日益突出, 为此提出了一种采用时序逻辑程序设计语言(MSVL)与命题投影时序逻辑(PPTL)的智能合约形式化验证方法, 开发了SOL2M转换器, 实现了Solidity程序到MSVL程序的半自动化建模, 但是缺乏对Solidity与MSVL操作语义等价性的证明. 首先采用大步语义的形式, 从语义元素、求值规则、表达式以及语句4个层次详细定义了Solidity的操作语义. 其次给出了Solidity与MSVL的状态、表达式和语句之间的等价关系, 并基于Solidity与MSVL的操作语义, 使用结构归纳法对表达式操作语义进行等价证明, 同时使用规则归纳法对语句操作语义进行等价证明.