File: Functions_for_Manipulating_these_Objects.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 (33 lines) | stat: -rw-r--r-- 1,351 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
<html>
<head><title>Functions_for_Manipulating_these_Objects.html  --  ACL2 Version 3.1</title></head>
<body text=#000000 bgcolor="#FFFFFF">
<h2>Functions for Manipulating these Objects</h2>
<p>
Consider a typical ``stack'' of control frames.<p>

<img src=stack.gif><p>

Suppose the model required that we express the idea of ``the most recent
frame whose return program counter points into <code>MAIN</code>.''<p>

The natural expression of this notion involves<p>

<b>function application</B> -- ``fetch the <code>return-pc</code> of this frame''<p>

<b>case analysis</B> --  ``<b>if</B> the pc is <code>MAIN</code>, <b>then</B> ...''<p>

<b>iteration</B> or <b>recursion</B> -- ``pop this frame off and repeat.''<p>

The designers of ACL2 have taken the position that a <b>programming</B>
<b>language</B> is the natural language in which to define such notions,
<b>provided</B> the language has a mathematical foundation so that
models can be analyzed and properties derived logically.<p>

<img src=common-lisp.gif> is the language supported by ACL2.
Click <a href="Common_Lisp.html">here</a> for an optional and very brief introduction
to Common Lisp.<p>

<a href="Modeling_in_ACL2.html"><img src=flying.gif></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>