File: ACL2-PC_colon__colon_SPLIT.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 (46 lines) | stat: -rw-r--r-- 1,854 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
<html>
<head><title>ACL2-PC_colon__colon_SPLIT.html  --  ACL2 Version 3.1</title></head>
<body text=#000000 bgcolor="#FFFFFF">
<h3>ACL2-PC::SPLIT</h3>(atomic macro)
<code>   </code>split the current goal into cases
<pre>Major Section:  <a href="PROOF-CHECKER-COMMANDS.html">PROOF-CHECKER-COMMANDS</a>
</pre><p>


<pre>
Example:
split
</pre>

For example, if the current goal has one hypothesis <code>(or x y)</code> and a
conclusion of <code>(and a b)</code>, then <code>split</code> will create four new goals:

<pre>
one with hypothesis X and conclusion A
one with hypothesis X and conclusion B
one with hypothesis Y and conclusion A
one with hypothesis Y and conclusion B.
<p>
General Form:
SPLIT
</pre>

Replace the current goal by subgoals whose conjunction is equivalent
(primarily by propositional reasoning) to the original goal, where
each such goal cannot be similarly split.<p>

<strong>Note:</strong>  The new goals will all have their hypotheses promoted; in
particular, no conclusion will have a top function symbol of
<code>implies</code>.  Also note that <code>split</code> will fail if there is exactly one new
goal created and it is the same as the existing current goal.<p>

The way <code>split</code> really works is to call the ACL2 theorem prover with only
simplification (and preprocessing) turned on, and with only a few built-in
functions (especially, propositional ones) enabled, namely, the ones in the
list <code>(theory 'minimal-theory)</code>.  However, because the prover is called,
type-set reasoning can be used to eliminate some cases.  For example, if
<code>(true-listp x)</code> is in the hypotheses, then probably
<code>(true-listp (cdr x))</code> will be reduced to <code>t</code>.
<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>