File: BOOKS.html

package info (click to toggle)
acl2 3.1-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 36,712 kB
  • ctags: 38,396
  • sloc: lisp: 464,023; makefile: 5,470; sh: 86; csh: 47; cpp: 25; ansic: 22
file content (124 lines) | stat: -rw-r--r-- 5,619 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<html>
<head><title>BOOKS.html  --  ACL2 Version 3.1</title></head>
<body text=#000000 bgcolor="#FFFFFF">
<h1>BOOKS</h1>files of ACL2 event forms
<pre>Major Section:  <a href="acl2-doc-major-topics.html">ACL2 Documentation</a>
</pre><p>

This documentation topic is about ACL2 input files.  However, there are two
traditional (paper) books published about ACL2:  a textbook and a case
studies book.  Further information is available by following links from the
ACL2 home page, <code>http://www.cs.utexas.edu/users/moore/acl2/</code>.  Now, on to
the real content of this topic:<p>

A ``book'' is a file of ACL2 <a href="EVENTS.html">events</a> that have been certified as
admissible.  Using <code><a href="INCLUDE-BOOK.html">include-book</a></code> you can construct a new logical
<a href="WORLD.html">world</a> by assuming the <a href="EVENTS.html">events</a> in any number of mutually compatible
books.  Relevant documented topics are listed below.  Following this list
is a ``guided tour'' through the topics.

<p>
<ul>
<li><h3><a href="BOOK-CONTENTS.html">BOOK-CONTENTS</a> -- restrictions on the forms inside <a href="BOOKS.html">books</a>
</h3>
</li>

<li><h3><a href="BOOK-EXAMPLE.html">BOOK-EXAMPLE</a> -- how to create, certify, and use a simple book
</h3>
</li>

<li><h3><a href="BOOK-MAKEFILES.html">BOOK-MAKEFILES</a> -- makefile support provided with the ACL2 distribution
</h3>
</li>

<li><h3><a href="BOOK-NAME.html">BOOK-NAME</a> -- conventions associated with book names
</h3>
</li>

<li><h3><a href="CBD.html">CBD</a> -- connected book directory string
</h3>
</li>

<li><h3><a href="CERTIFICATE.html">CERTIFICATE</a> -- how a book is known to be admissible and where its <code><a href="DEFPKG.html">defpkg</a></code>s reside
</h3>
</li>

<li><h3><a href="CERTIFY-BOOK.html">CERTIFY-BOOK</a> -- how to produce a <a href="CERTIFICATE.html">certificate</a> for a book
</h3>
</li>

<li><h3><a href="FULL-BOOK-NAME.html">FULL-BOOK-NAME</a> -- book naming conventions assumed by ACL2
</h3>
</li>

<li><h3><a href="INCLUDE-BOOK.html">INCLUDE-BOOK</a> -- load the <a href="EVENTS.html">events</a> in a file
</h3>
</li>

<li><h3><a href="KEEP.html">KEEP</a> -- how we know if <code><a href="INCLUDE-BOOK.html">include-book</a></code> read the correct files
</h3>
</li>

<li><h3><a href="MAKEFILES.html">MAKEFILES</a> -- See <a href="BOOK-MAKEFILES.html">book-makefiles</a>.
</h3>
</li>

<li><h3><a href="PATHNAME.html">PATHNAME</a> -- introduction to filename conventions in ACL2
</h3>
</li>

<li><h3><a href="PORTCULLIS.html">PORTCULLIS</a> -- the gate guarding the entrance to a certified book
</h3>
</li>

<li><h3><a href="SET-CBD.html">SET-CBD</a> -- to set the connected book directory
</h3>
</li>

<li><h3><a href="UNCERTIFIED-BOOKS.html">UNCERTIFIED-BOOKS</a> -- invalid <a href="CERTIFICATE.html">certificate</a>s and uncertified <a href="BOOKS.html">books</a>
</h3>
</li>

</ul>

<em>Introduction.</em><p>

A ``book'' is a file of ACL2 forms.  Books are prepared entirely by
the user of the system, i.e., they are ``source'' files not
``object'' files.  Some of the forms in a book are marked <code><a href="LOCAL.html">local</a></code>
and the others are considered ``non-local.''<p>

<code><a href="INCLUDE-BOOK.html">Include-book</a></code> lets you load a book into any ACL2 <a href="WORLD.html">world</a>.  If
completed without error, the inclusion of a book extends the logic
of the host <a href="WORLD.html">world</a> by the addition of just the non-local <a href="EVENTS.html">events</a> in
the book.  You may extend the <a href="WORLD.html">world</a> by successively including a
variety of books to obtain the desired collection of definitions and
rules.  Unless name conflicts occur (which are detected and
signalled) inclusion of a book is consistency preserving provided
the book itself is consistent as discussed later.  However,
<code><a href="INCLUDE-BOOK.html">include-book</a></code> merely assumes the validity of the <a href="EVENTS.html">events</a> in a book;
if you include a book that contains an inconsistency (e.g., an
inadmissible definition) then the resulting theory is inconsistent.<p>

It is possible to ``certify'' a book, with <code><a href="CERTIFY-BOOK.html">certify-book</a></code>,
guaranteeing that the error-free inclusion of the certified forms
will produce a consistent extension of a consistent logic.
Certification processes both the <code><a href="LOCAL.html">local</a></code> and non-local forms, so
you can mark as <code><a href="LOCAL.html">local</a></code> those <a href="EVENTS.html">events</a> you need for certification
that you want to hide from users of the book (e.g., hacks, crocks,
and kludges on the way to a good set of <code>:</code><code><a href="REWRITE.html">rewrite</a></code> rules).
Certification can also ``compile'' a book, thereby speeding up the
execution of the functions defined within it.  The desire to compile
books is largely responsible for the restrictions we put on the
forms allowed in books.<p>

Extensive <a href="DOCUMENTATION.html">documentation</a> is available on the various aspects of
books.  We recommend that you read it all before using books.  It
has been written so as to make sense when read in a certain linear
sequence, called the ``guided tour'', though in general you may
browse through it randomly.  If you are on the guided tour, you
should next read the <a href="DOCUMENTATION.html">documentation</a> on book-example
(see <a href="BOOK-EXAMPLE.html">book-example</a>).
<br><br><br><a href="acl2-doc.html"><img src="llogo.gif"></a> <a href="acl2-doc-index.html"><img src="index.gif"></a>
</body>
</html>