Lifting of PFCSes.
The semantics informally described in semantics can be also formalized in a shallowly embedded way, by defining ACL2 functions that turn (abstract syntax of) expressions and constraints into ACL2 terms and functions that express the semantics. This amounts to lifting deeply embedded PFCSes into a shallowly embedded representation of them.
Here we define these ACL2 functions. We also provide an event macro to turn a deeply embedded PFCS definition to a shallowly embedded version of it, also generating a theorem that relates the two. The theorem says that the satisfaction of the deeply embedded definition is equivalent to the satisfaction of the shallowly embedded one.