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
|
<html>
<head><title>Running_Models.html -- ACL2 Version 3.1</title></head>
<body text=#000000 bgcolor="#FFFFFF">
<h2>Running Models</h2>
<p>
Suppose the machine being modeled is some kind of arithmetic unit.
Suppose the model can be initialized so as to <b>multiply</B> <b>x</B> times
<b>y</B> and leave the answer in <b>z</B>. Then if we initialize <b>s</B> to
<b>multiply</B> with <b>x=5</B> and <b>y=7</B> and run the machine long enough, we can
read the answer <b>35</B> in the final state.<p>
<img src=computing-machine-5x7.gif><p>
<p>
Because ACL2 is a programming language, our
model can be <b>run</B> or <b>executed</B>.<p>
If you defined the model in ACL2 and then typed<p>
<pre>
> (lookup 'z (mc (s 'mult 5 7) 29))
</pre>
<p>
then ACL2 would compute 35. You can <b>emulate</B> or <b>test</B> the
model of your machine.<p>
This is <b>obvious</B> because ACL2 is Common Lisp; and Common Lisp is a
<b>programming language</B>.<p>
<a href="Symbolic_Execution_of_Models.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>
|