Check if a structure declarator has formal dynamic semantics.
(structdeclor-formalp structdeclor) → yes/no
The declarator must be present and supported. The optional expression must be absent.
Function:
(defun structdeclor-formalp (structdeclor) (declare (xargs :guard (structdeclorp structdeclor))) (declare (xargs :guard (structdeclor-unambp structdeclor))) (let ((__function__ 'structdeclor-formalp)) (declare (ignorable __function__)) (b* (((structdeclor structdeclor) structdeclor)) (and structdeclor.declor? (declor-obj-formalp structdeclor.declor?) (not structdeclor.expr?)))))
Theorem:
(defthm booleanp-of-structdeclor-formalp (b* ((yes/no (structdeclor-formalp structdeclor))) (booleanp yes/no)) :rule-classes :rewrite)
Theorem:
(defthm structdeclor-formalp-of-structdeclor-fix-structdeclor (equal (structdeclor-formalp (structdeclor-fix structdeclor)) (structdeclor-formalp structdeclor)))
Theorem:
(defthm structdeclor-formalp-structdeclor-equiv-congruence-on-structdeclor (implies (structdeclor-equiv structdeclor structdeclor-equiv) (equal (structdeclor-formalp structdeclor) (structdeclor-formalp structdeclor-equiv))) :rule-classes :congruence)