Print the translation of a form
Examples: :trans (list a b c) :trans (caddr x) :trans (cond (p q) (r))
ACL2 accepts user-level syntax as input, but translates it to an internal syntax. This translation includes macroexpansion, replacing let forms by lambda expressions, quoting constants, and so on. See term for relevant background.
=> *
A term that returns the single-threaded object
=> STATE
and a term that returns four results might have the output signature
=> (MV $MEM * * STATE)
This signature indicates that the first result is the (user defined)
single-threaded object
See trans! for a corresponding command that does not enforce restrictions of single-threaded objects. See trans* for a command that can show intermediate expansion results.
The argument supplied to
It is sometimes more convenient to use trans1 which is like trans but which only does top-level macroexpansion.
For more, see term.