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
|
<html>
<head><title>NOTE-2-7-GUARDS.html -- ACL2 Version 3.1</title></head>
<body text=#000000 bgcolor="#FFFFFF">
<h3>NOTE-2-7-GUARDS</h3>ACL2 Version 2.7 Notes on Guard-related Changes
<pre>Major Section: <a href="NOTE-2-7.html">NOTE-2-7</a>
</pre><p>
It was possible for guard verification to succeed where it should have
failed. See the discussion under <a href="NOTE-2-7-BUG-FIXES.html">note-2-7-bug-fixes</a>.<p>
There have been changes in the guards generated from type declarations for
the following cases. Thanks to Dave Greve and Matt Wilding for suggesting
such changes.
<pre>
(type (signed-byte n) val)
(type (unsigned-byte n) val)
(type (integer m n) val)
</pre>
The following examples illustrate the changes.
<pre>
(type (signed-byte 4) x)
==> [old] (AND (INTEGERP X) (<= -8 X) (<= X 7))
==> [new] (SIGNED-BYTE-P 4 X)<p>
(type (unsigned-byte 4) x)
==> [old] (AND (INTEGERP X) (<= 0 X) (<= X 15))
==> [new] (UNSIGNED-BYTE-P 4 X)
</pre>
<p>
<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>
|