File: NOTE6.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 (126 lines) | stat: -rw-r--r-- 7,874 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
125
126
<html>
<head><title>NOTE6.html  --  ACL2 Version 3.1</title></head>
<body text=#000000 bgcolor="#FFFFFF">
<h2>NOTE6</h2>Acl2 Version 1.6 Notes
<pre>Major Section:  <a href="RELEASE-NOTES.html">RELEASE-NOTES</a>
</pre><p>

A new key has been implemented for the <code><a href="ACL2-DEFAULTS-TABLE.html">acl2-defaults-table</a></code>,
<code>:ignore-ok</code>.  See <a href="SET-IGNORE-OK.html">set-ignore-ok</a>.<p>

It is now legal to have color <a href="EVENTS.html">events</a>, such as <code>(red)</code>, in the
<a href="PORTCULLIS.html">portcullis</a> of a book.  More generally, it is legal to set the
<code><a href="ACL2-DEFAULTS-TABLE.html">acl2-defaults-table</a></code> in the <a href="PORTCULLIS.html">portcullis</a> of a book.  For example, if
you execute <code>:red</code> and then certify a book, the event <code>(red)</code> will show
up in the <a href="PORTCULLIS.html">portcullis</a> of that book, and hence the definitions in that
book will all be red (except when overridden by appropriate
declarations or <a href="EVENTS.html">events</a>).  When that book is included, then as
always, its <a href="PORTCULLIS.html">portcullis</a> must first be ``raised,'' and that will cause
the default color to become red before the <a href="EVENTS.html">events</a> in the book are
executed.  As always, the value of <code><a href="ACL2-DEFAULTS-TABLE.html">acl2-defaults-table</a></code> immediately
after execution of an <code><a href="INCLUDE-BOOK.html">include-book</a></code>, <code><a href="CERTIFY-BOOK.html">certify-book</a></code>, or <code><a href="ENCAPSULATE.html">encapsulate</a></code>
form will be the same as it was immediately before execution (and
hence, so will the default color).  See <a href="PORTCULLIS.html">portcullis</a> and, for
more about books, see <a href="BOOKS.html">books</a>.<p>

A theory <code><a href="GROUND-ZERO.html">ground-zero</a></code> has been defined to contain exactly those rules
that are <a href="ENABLE.html">enable</a>d when Acl2 starts up.  See <a href="GROUND-ZERO.html">ground-zero</a>.<p>

The function <code><a href="NTH.html">nth</a></code> is now <a href="ENABLE.html">enable</a>d, correcting an oversight from
Version 1.5.<p>

Customization files no longer need to meet the syntactic
restrictions put on <a href="BOOKS.html">books</a>; rather, they can contain arbitrary Acl2
forms.  See <a href="ACL2-CUSTOMIZATION.html">acl2-customization</a>.<p>

Structured directory names and structured file names are supported;
see especially the documentation for <a href="PATHNAME.html">pathname</a>, <a href="BOOK-NAME.html">book-name</a>,
and <code><a href="CBD.html">cbd</a></code>.<p>

Acl2 now works with some Common Lisp implementations other than
akcl, including Lucid, Allegro, and MCL.<p>

A facility has been added for displaying proof trees, especially
using emacs; see <a href="PROOF-TREE.html">proof-tree</a>.<p>

There is a considerable amount of new <a href="DOCUMENTATION.html">documentation</a>, in particular
for the printing functions <code><a href="FMT.html">fmt</a></code>, <code><a href="FMT1.html">fmt1</a></code>, and <code><a href="FMS.html">fms</a></code>, and for the notion of
Acl2 term (see <a href="TERM.html">term</a>).<p>

It is possible to introduce new well-founded relations, to specify
which relation should be used by <code><a href="DEFUN.html">defun</a></code>, and to set a default
relation.  See <a href="WELL-FOUNDED-RELATION.html">well-founded-relation</a>.<p>

It is possible to make functions suggest new inductions.
See <a href="INDUCTION.html">induction</a>.<p>

It is possible to change how Acl2 expresses <a href="TYPE-SET.html">type-set</a> information; in
particular, this affects what clauses are proved when <a href="FORCE.html">force</a>d
assumptions are generated.  See <a href="TYPE-SET-INVERTER.html">type-set-inverter</a>.<p>

A new restriction has been added to <code><a href="DEFPKG.html">defpkg</a></code>, having to do with
undoing.  If you undo a <code><a href="DEFPKG.html">defpkg</a></code> and define the same package name
again, the imports list must be identical to the previous imports or
else an explanatory error will occur.
See <a href="PACKAGE-REINCARNATION-IMPORT-RESTRICTIONS.html">package-reincarnation-import-restrictions</a>.<p>

<code><a href="THEORY-INVARIANT.html">Theory-invariant</a></code> and <code><a href="SET-IRRELEVANT-FORMALS-OK.html">set-irrelevant-formals-ok</a></code> are now embedded
event forms.<p>

The command <code>:</code><code><a href="GOOD-BYE.html">good-bye</a></code> may now be used to quit entirely out of Lisp,
thus losing your work forever.  This command works in akcl but may
not work in every Common Lisp.<p>

A theory <code><a href="GROUND-ZERO.html">ground-zero</a></code> has been added that contains exactly the
<a href="ENABLE.html">enable</a>d rules in the <a href="STARTUP.html">startup</a> theory.  See <a href="GROUND-ZERO.html">ground-zero</a>.<p>

<code>Define-pc-macro</code> and <code>define-pc-atomic-macro</code> now automatically define
<code>:red</code> functions.  (It used to be necessary, in general, to change
color to <code>:red</code> before invoking these.)<p>


<p>
For a proof of the well-foundedness of <code>e0-ord-&lt;</code> on the <code>e0-ordinalp</code>s,
see <a href="PROOF-OF-WELL-FOUNDEDNESS.html">proof-of-well-foundedness</a>.  [Note added later: Starting with
Version_2.8, <code><a href="O_lt_.html">o&lt;</a></code> and <code><a href="O-P.html">o-p</a></code> replace <code>e0-ord-&lt;</code> and <code>e0-ordinalp</code>,
respectively.]<p>

Free variables are now handled properly for hypotheses of
<code>:</code><code><a href="TYPE-PRESCRIPTION.html">type-prescription</a></code> rules.<p>

When the system is loaded or saved, <code><a href="STATE.html">state</a></code> is now bound to
<code>*the-live-state*</code>.<p>

<code><a href="CERTIFY-BOOK.html">Certify-book</a></code> has been modified so that when it compiles a file, it
loads that object file.<p>

<code><a href="DEFSTUB.html">Defstub</a></code> has been modified so that it works when the color is hot
(<code>:red</code> or <code>:pink</code>).<p>

Several basic, but not particularly commonly used, <a href="EVENTS.html">events</a> have been
added or changed.  The obscure axiom <code>symbol-name-intern</code> has been
modified.  The definition of <code>firstn</code> has been changed.  <code><a href="BUTLAST.html">Butlast</a></code> is
now defined.  The definition of <code><a href="INTEGER-LENGTH.html">integer-length</a></code> has been modified.
The left-hand side of the rewrite rule <code>rational-implies2</code> has been
changed from <code>(* (numerator x) (/ (denominator x)))</code> to
<code>(* (/ (denominator x)) (numerator x))</code>, in order to respect the
fact that <code><a href="UNARY-_slash_.html">unary-/</a></code> is invisible with respect to <code><a href="BINARY-_star_.html">binary-*</a></code>.
See <a href="LOOP-STOPPER.html">loop-stopper</a>.<p>

The `preprocess' process in the waterfall (see <a href="HINTS.html">hints</a> for a
discussion of the <code>:do-not</code> hint) has been changed so that it works to
avoid case-splitting.  The `simplify' process refuses to force
(see <a href="FORCE.html">force</a>) when there are <code><a href="IF.html">if</a></code> terms, including <code><a href="AND.html">and</a></code> and <code><a href="OR.html">or</a></code>
terms, in the goal being simplified.<p>

The function <code>apply</code> is no longer introduced automatically by
translation of user input to internal form when functions are called
on inappropriate explicit values, e.g., <code>(car 3)</code>.<p>

The choice of which variable to use as the measured variable in a
recursive definition has been very slightly changed.<p>


<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>