CiMPG+F:CafeOBJ 规范的证明生成与修复工具
1. 引言
在形式化验证领域,为给定目标生成证明是一项关键任务。CiMPG+F 作为一款针对 CafeOBJ 规范的证明生成与修复工具,为解决这一问题提供了有效的途径。本文将详细介绍 CiMPG+F 的工作原理、主要功能以及如何使用它来生成证明。
2. 证明生成算法
CiMPG+F 的主要算法如图 2 所示,其核心步骤如下:
Require: Module m, goal g, depth d, implication bound i, variables bound v.
Ensure: p contains the proof for g or ∅ if the proof is not found.
1: p ← ∅
2: if inductionRequired(g) then (g, m, p) ← applyInduction(m, g)
3: end if
4: return genProof(m, g, d, i, v, p)
5: function genProof(m, g, d, i, v, p)
6:
if hasVars(g) or multipleGoals(g) then (g, m, p) ← thOfCons(m, g, p)
7:
end if
8:
(found, p′) ← discharge(m, g, i, v, p)
9:
if ¬found & (d > 0) then
10:
cs ← generate(m, g)
11: