Partial functions in ACL2

被引:22
|
作者
Manolios, P
Moore, JS
机构
[1] Georgia Inst Technol, Coll Comp, CERCS Lab, Atlanta, GA 30332 USA
[2] Univ Texas, Dept Comp Sci, Austin, TX 78712 USA
关键词
ACL2; partial functions;
D O I
10.1023/B:JARS.0000009505.07087.34
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
We describe a method for introducing "partial functions" into ACL2, that is, functions not defined everywhere. The function "definitions" are actually admitted via the encapsulation principle: the new function symbol is constrained to satisfy the appropriate equation. This is permitted only when a witness function can be exhibited, establishing that the constraint is satisfiable. Of particular interest is the observation that every tail recursive definition can be witnessed in ACL2. We describe a macro that allows the convenient introduction of arbitrary tail recursive functions, and we discuss how such functions can be used to prove theorems about state machine models without reasoning about "clocks" or counting the number of steps until termination. Our macro for introducing "partial functions" also permits a variety of other recursive schemes, and we briefly illustrate some of them.
引用
收藏
页码:107 / 127
页数:21
相关论文
共 50 条
  • [1] Partial Functions in ACL2
    Panagiotis Manolios
    J Strother Moore
    [J]. Journal of Automated Reasoning, 2003, 31 : 107 - 127
  • [2] Convex Functions in ACL2(r)
    Kwan, Carl
    Greenstreet, Mark R.
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2018, (280): : 128 - 142
  • [3] ACL2
    Gamboa, R
    [J]. SEVENTEEN PROVERS OF THE WORLD, 2006, 3600 : 55 - 66
  • [4] ACL2(ml): Machine-Learning for ACL2
    Heras, Jonathan
    Komendantskaya, Ekaterina
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2014, (152): : 61 - 75
  • [5] ACL2
    [J]. Lect. Notes Comput. Sci., 2006, (55-66):
  • [6] Second-Order Functions and Theorems in ACL2
    Coglio, Alessandro
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2015, (192): : 17 - 33
  • [7] Iteration in ACL2
    Kaufmann, Matt
    Moore, J. Strother
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2020, (327): : 16 - 31
  • [8] 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
  • [9] An ACL2 tutorial
    Kaufmann, Matt
    Moore, J. Strother
    [J]. THEOREM PROVING IN HIGHER ORDER LOGICS, PROCEEDINGS, 2008, 5170 : 17 - +
  • [10] 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 - +