• Top
    • Documentation
      • Xdoc
      • ACL2-doc
      • Recursion-and-induction
      • Loop$-primer
      • Operational-semantics
      • Pointers
      • Doc
      • Documentation-copyright
      • Course-materials
      • Publications
        • Pub-books
        • Pub-papers
          • Pub-programming-languages
          • Pub-processor-models
          • Pub-miscellaneous-applications
          • Pub-logic-and-metamathematics
          • Pub-foundations
          • Pub-floating-point-arithmetic
          • Pub-data-structures
          • Pub-real-arithmetic
          • Pub-overviews
          • Pub-capabilities
          • Pub-model-checking-and-ste
          • Pub-utilities
            • Pub-concurrency
          • Pub-summary
          • Pub-related-web-sites
        • Args
        • ACL2-doc-summary
        • Finding-documentation
        • Broken-link
        • Doc-terminal-test-2
        • Doc-terminal-test-1
      • Books
      • Boolean-reasoning
      • Projects
      • Debugging
      • Std
      • Proof-automation
      • Macro-libraries
      • ACL2
      • Interfacing-tools
      • Hardware-verification
      • Software-verification
      • Math
      • Testing-utilities
    • Pub-papers

    Pub-utilities

    Utilities

    • Attaching Efficient Executability to Partial Functions in ACL2, Sandip Ray. In M. Kaufmann and J S. Moore (eds.), 5th International Workshop on the ACL2 Theorem Prover and Its Applications (ACL2 2004), Austin, TX, November 2004.
    • A Tool for Simplifying Files of ACL2 Definitions, Matt Kaufmann. In Proceedings of ACL2 Workshop 2003; also see community-books directory books/workshops/2003/kaufmann/.
    • ACL2 Interaction via Emacs, Bishop Brock, 1998. This is a collection of Emacs programs to speed up interaction between ACL2 and Emacs. If you typically interact with ACL2 via an Emacs buffer, you may be surprised to know that up to half of the time you spend waiting for an ACL2 command to complete is due to Emacs display overhead. This package includes freely distributable source code for two effective approaches to reducing this overhead. The first approach is very general and provides pretty good results. The other approach is a bit of a hack, but practically eliminates display overhead for long ACL2 runs. To try these out, download the following file. You should name the file acl2-emacs.tar.gz. After downloading it, decompress and untar it with
      % tar -xvzf acl2-emacs.tar.gz
      and read the enclosed note in report.ps. Here is the file to download: acl2-emacs.tar.gz
    • Infix Printing, Mike Smith, 1998. An infix syntax for ACL2 has been implemented by Mike Smith. Two capabilities are supported.
      • IACL2 is an infix version of the ACL2 theorem proving system that performs I/O in infix format. It is intended to make initial experiments with ACL2 somewhat simpler for those unfamiliar with or opposed to Lisp prefix syntax. (It is not an interface for experts, as some of the more advanced aspects of ACL2 are not supported by the infix parser.) Some examples of the syntax:
        Function idiv (m : integer, n : integer | n ~~= 0)
         { ifix ( m/n ) };
        
        /* Idiv takes two integer arguments, the second of which cannot = zero */
        
        Theorem distributivity-of-minus-over-plus
         {-(x + y) = -x + -y};
        
        Theorem car-nth-0 { consp(x) -> x.car = x[0] };
      • We provide formatting support to help the user publish ACL2 event files. The syntax produced is either standard ACL2 or “conventional” infix mathematical notation with formatted comments and doc-strings. For example, in LaTeX mode comments are formatted as running text, events are indexed and substitutions are made of LaTeX mathematical symbols for various functions. In HTML mode, cross references are created from function usage to definition. Other ouput modes include Scribe and ASCII text. The formatting conventions are user extensible.
      For more information, see the README overview.