Running Models

Suppose the machine being modeled is some kind of arithmetic unit. Suppose
the model can be initialized so as to **multiply** **x** times **y**
and leave the answer in **z**. Then if we initialize **s** to
**multiply** with **x=5** and **y=7** and run the machine long
enough, we can read the answer **35** in the final state.

Because ACL2 is a programming language, our model can be **run** or
**executed**.

If you defined the model in ACL2 and then typed

(lookup 'z (mc (s 'mult 5 7) 29))

then ACL2 would compute 35. (Here we assume that the function **emulate** or **test** the model of your machine.

This is **obvious** because ACL2 is Common Lisp; and Common Lisp is a
**programming language**.