Data Definitions in the ACL2 Sedan

被引:8
|
作者
Chamarthi, Harsh Raju [1 ]
Dillinger, Peter C. [1 ]
Manolios, Panagiotis [1 ]
机构
[1] Northeastern Univ, Coll Comp & Informat Sci, Boston, MA 02115 USA
关键词
D O I
10.4204/EPTCS.152.3
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
We present a data definition framework that enables the convenient specification of data types in ACL2s, the ACL2 Sedan. Our primary motivation for developing the data definition framework was pedagogical. We were teaching undergraduate students how to reason about programs using ACL2s and wanted to provide them with an effective method for defining, testing, and reasoning about data types in the context of an untyped theorem prover. Our framework is now routinely used not only for pedagogical purposes, but also by advanced users. Our framework concisely supports common data definition patterns, e.g., list types, map types, and record types. It also provides support for polymorphic functions. A distinguishing feature of our approach is that we maintain both a predicative and an enumerative characterization of data definitions. In this paper we present our data definition framework via a sequence of examples. We give a complete characterization in terms of tau rules of the inclusion/exclusion relations a data definition induces, under suitable restrictions. The data definition framework is a key component of counterexample generation support in ACL2s, but can be independently used in ACL2, and is available as a community book.
引用
收藏
页码:27 / 48
页数:22
相关论文
共 50 条
  • [1] ACL2s: "The ACL2 sedan"
    Dillinger, Peter C.
    Manolios, Panagiotis
    Vroon, Daron
    Moore, J. Strother
    [J]. 29TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: ICSE 2007 COMPANION VOLUME, PROCEEDINGS, 2007, : 59 - +
  • [2] ACL2s: "The ACL2 Sedan"
    Dillinger, Peter C.
    Manolios, Panagiotis
    Vroon, Daron
    Moore, J. Strother
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2007, 174 (02) : 3 - 18
  • [3] The ACL2 Sedan Theorem Proving System
    Chamarthi, Harsh Raju
    Dillinger, Peter
    Manolios, Panagiotis
    Vroon, Daron
    [J]. TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, 2011, 6605 : 291 - 295
  • [4] ACL2
    Gamboa, R
    [J]. SEVENTEEN PROVERS OF THE WORLD, 2006, 3600 : 55 - 66
  • [5] ACL2(ml): Machine-Learning for ACL2
    Heras, Jonathan
    Komendantskaya, Ekaterina
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2014, (152): : 61 - 75
  • [6] Automatically translating type and function definitions from HOL to ACL2
    Reynolds, James
    [J]. THEOREM PROVING IN HIGHER ORDER LOGICS, PROCEEDINGS, 2007, 4732 : 262 - 277
  • [7] Iteration in ACL2
    Kaufmann, Matt
    Moore, J. Strother
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2020, (327): : 16 - 31
  • [8] An ACL2 tutorial
    Kaufmann, Matt
    Moore, J. Strother
    [J]. THEOREM PROVING IN HIGHER ORDER LOGICS, PROCEEDINGS, 2008, 5170 : 17 - +
  • [9] How Can I Do That with ACL2? Recent Enhancements to ACL2
    Kaufmann, Matt
    Moore, J. Strother
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2011, (70): : 46 - 60
  • [10] Hygienic Macros for ACL2
    Eastlund, Carl
    Felleisen, Matthias
    [J]. TRENDS IN FUNCTIONAL PROGRAMMING, 2011, 6546 : 84 - 101