Check if an optional expression does not contain any function calls.
(expr-option-nocallsp expr?) → yes/no
Function:
(defun expr-option-nocallsp (expr?) (declare (xargs :guard (expr-optionp expr?))) (let ((__function__ 'expr-option-nocallsp)) (declare (ignorable __function__)) (expr-option-case expr? :some (expr-nocallsp expr?.val) :none t)))
Theorem:
(defthm booleanp-of-expr-option-nocallsp (b* ((yes/no (expr-option-nocallsp expr?))) (booleanp yes/no)) :rule-classes :rewrite)
Theorem:
(defthm expr-option-nocallsp-of-expr-option-fix-expr? (equal (expr-option-nocallsp (expr-option-fix expr?)) (expr-option-nocallsp expr?)))
Theorem:
(defthm expr-option-nocallsp-expr-option-equiv-congruence-on-expr? (implies (expr-option-equiv expr? expr?-equiv) (equal (expr-option-nocallsp expr?) (expr-option-nocallsp expr?-equiv))) :rule-classes :congruence)