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. You can **emulate** or **test** the
model of your machine.

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