Check if a parameter declarator has formal dynamic semantics.
(paramdeclor-formalp paramdeclor) → yes/no
Based on ldm-paramdeclor, the parameter declarator must be present and not abstract. The underlying declarator must be supported, for an object.
Function:
(defun paramdeclor-formalp (paramdeclor) (declare (xargs :guard (paramdeclorp paramdeclor))) (declare (xargs :guard (paramdeclor-unambp paramdeclor))) (let ((__function__ 'paramdeclor-formalp)) (declare (ignorable __function__)) (paramdeclor-case paramdeclor :declor (declor-obj-formalp paramdeclor.unwrap) :absdeclor nil :none nil :ambig (impossible))))
Theorem:
(defthm booleanp-of-paramdeclor-formalp (b* ((yes/no (paramdeclor-formalp paramdeclor))) (booleanp yes/no)) :rule-classes :rewrite)
Theorem:
(defthm paramdeclor-formalp-of-paramdeclor-fix-paramdeclor (equal (paramdeclor-formalp (paramdeclor-fix paramdeclor)) (paramdeclor-formalp paramdeclor)))
Theorem:
(defthm paramdeclor-formalp-paramdeclor-equiv-congruence-on-paramdeclor (implies (paramdeclor-equiv paramdeclor paramdeclor-equiv) (equal (paramdeclor-formalp paramdeclor) (paramdeclor-formalp paramdeclor-equiv))) :rule-classes :congruence)