Apply a vl-useless-params-p to clean up an vl-paramargs-p structure.
(vl-paramargs-elim-useless-params useless arguments) → new-arguments
Function:
(defun vl-paramargs-elim-useless-params (useless arguments) (declare (xargs :guard (and (vl-useless-params-p useless) (vl-paramargs-p arguments)))) (let ((__function__ 'vl-paramargs-elim-useless-params)) (declare (ignorable __function__)) (b* (((vl-useless-params useless) useless)) (vl-paramargs-case arguments :vl-paramargs-named (change-vl-paramargs-named arguments :args (vl-namedparamvaluelist-elim-useless-params useless.names arguments.args)) :vl-paramargs-plain (change-vl-paramargs-plain arguments.args :args (vl-paramvaluelist-elim-useless-params 0 useless.positions arguments.args))))))
Theorem:
(defthm vl-paramargs-p-of-vl-paramargs-elim-useless-params (implies (force (vl-paramargs-p arguments)) (b* ((new-arguments (vl-paramargs-elim-useless-params useless arguments))) (vl-paramargs-p new-arguments))) :rule-classes :rewrite)