Prove it! Inferring Formal Proof Scripts from CafeOBJ Proof Scores

被引:12
|
作者
Riesco, Adrian [1 ]
Ogata, Kazuhiro [2 ]
机构
[1] Univ Complutense Madrid, Fac Informat, C Prof Jose Garcia Santesmases 9,Ciudad Univ, E-28040 Madrid, Spain
[2] Japan Adv Inst Sci & Technol, Sch Informat Sci, 1-1 1 Asahidai, Nomi, Ishikawa 9231292, Japan
关键词
CafeOBJ; theorem proving; proof scores; script inference; TOOL; SET;
D O I
10.1145/3208951
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
CafeOBJ is a language for writing formal specifications for a wide variety of software and hardware systems and for verifying their properties. CafeOBJ makes it possible to verify properties by using either proof scores, which consists of reducing goal-related terms in user-defined modules, or by using theorem proving. While the former is more flexible, it lacks the formal support to ensure that a property has been really proven. On the other hand, theorem proving might be too strict, since only a predefined set of commands can be applied to the current goal; hence, it hardens the verification of properties. In order to take advantage of the benefits of both techniques, we have extended CafelnMaude, a CafeOBJ interpreter implemented in Maude, with the CafelnMaude Proof Assistant (CiMPA) and the CafelnMaude Proof Generator (CiMPG). CiMPA is a proof assistant for proving inductive properties on CafeOBJ specifications that uses Maude metalevel features to allow programmers to create and manipulate CiMPA proofs. On the other hand, CiMPG provides a minimal set of annotations for identifying proof scores and generating CiMPA scripts for these proof scores. In this article, we present the CiMPA and CLMPG, detailing the behavior of the CiMPA and the algorithm underlying the CiMPG and illustrating the power of the approach by using the QLOCK protocol. Finally, we present some benchmarks that give us confidence in the matureness and usefulness of these tools.
引用
收藏
页数:32
相关论文
共 50 条
  • [41] Formal Proof of SCHUR Conjugate Function
    Butelle, Franck
    Hivert, Florent
    Mayero, Micaela
    Toumazet, Frederic
    INTELLIGENT COMPUTER MATHEMATICS, 2010, 6167 : 158 - +
  • [42] A formal proof of Pick's Theorem
    Harrison, John
    MATHEMATICAL STRUCTURES IN COMPUTER SCIENCE, 2011, 21 (04) : 715 - 729
  • [43] A Formal Proof of the Expressiveness of Deep Learning
    Alexander Bentkamp
    Jasmin Christian Blanchette
    Dietrich Klakow
    Journal of Automated Reasoning, 2019, 63 : 347 - 368
  • [44] Towards Formal Proof Script Refactoring
    Whiteside, Iain
    Aspinall, David
    Dixon, Lucas
    Grov, Gudmund
    INTELLIGENT COMPUTER MATHEMATICS, MKM 2011, 2011, 6824 : 260 - 275
  • [45] A Formal Proof of the Expressiveness of Deep Learning
    Bentkamp, Alexander
    Blanchette, Jasmin Christian
    Klakow, Dietrich
    JOURNAL OF AUTOMATED REASONING, 2019, 63 (02) : 347 - 368
  • [46] A Formal Proof Of The Riesz Representation Theorem
    Narkawicz, Anthony
    JOURNAL OF FORMALIZED REASONING, 2011, 4 (01): : 1 - 24
  • [47] Formal proof of Sylow's theorem
    Univ of Cambridge, Cambridge, United Kingdom
    J Autom Reasoning, 3 (235-264):
  • [48] A Formal Proof of Sylow's Theorem
    Florian Kammüller
    Lawrence C. Paulson
    Journal of Automated Reasoning, 1999, 23 (3) : 235 - 264
  • [49] A Formal Proof of the Expressiveness of Deep Learning
    Bentkamp, Alexander
    Blanchette, Jasmin Christian
    Klakow, Dietrich
    INTERACTIVE THEOREM PROVING (ITP 2017), 2017, 10499 : 46 - 64
  • [50] INSPECTION OF A GEOMETRIC FIGURE AND FORMAL PROOF
    STENIUS, E
    STUDIA LEIBNITIANA, 1981, 13 (01) : 133 - 146