Infix ACL2
Michael K. Smith
Copyright (C) 1996-97 Computational Logic, Inc. (CLI). All rights reserved.
An infix syntax for ACL2 has been implemented by Michael Smith. Two
capabilities are supported.
IACL2
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] };
Publishing ACL2
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.
More documentation is available. See:
- IACL2 README overview.
- printer/README provides an
overview of printing.
- Publishing ACL2
provides the most information on the translation of ACL2 source files
to LaTeX, HTML, ascii, and Scribe.
- Syntax of IACL2
provides the a fairly extensive description of the infix syntax.