When a unit definition is elaborated, a unit value is produced. For example, a spec is essentially a set of types, ops, and axioms. A spec can be constructed by means of various operations in the Metaslang language, but the final result is always a spec, i.e., a set of types, ops, and axioms.
The command for showing unit values is:
show [unit-term] |
The unit term is processed as for the proc command. If no error occurred, the unit value resulting from elaborating the unit term is shown on the output. However, an attempt is made to keep imported specs as import declarations, instead of expanded in the output. If the argument was already a spec form, the output may look different in several ways: white space may be different, declarations may have been added or re-ordered, and explicit qualifications may have been added.
To show imported specs expanded in place, use:
showx [unit-term] |
"Showing" a proof unit has the same effect as just processing it; the elaboration of a proof unit is only in the side effects.