Abbreviation to construct a negation.
(expression-neg expr) → neg-expr
This may be added to the abstract syntax at some point. For now it is just an ephemeral abbreviation.
Function:
(defun expression-neg (expr) (declare (xargs :guard (expressionp expr))) (let ((__function__ 'expression-neg)) (declare (ignorable __function__)) (expression-mul (expression-const -1) expr)))
Theorem:
(defthm expressionp-of-expression-neg (b* ((neg-expr (expression-neg expr))) (expressionp neg-expr)) :rule-classes :rewrite)