Recognizer for vcscope-dinfo.
(vcscope-dinfop x) → *
Function:
(defun vcscope-dinfop (x) (declare (xargs :guard t)) (if (atom x) (null x) (and (consp (car x)) (identifierp (caar x)) (var/const-dinfop (cdar x)) (or (null (cdr x)) (and (consp (cdr x)) (consp (cadr x)) (acl2::fast-<< (caar x) (caadr x)) (vcscope-dinfop (cdr x)))))))
Theorem:
(defthm booleanp-of-vcscope-dinfop (booleanp (vcscope-dinfop x)))
Theorem:
(defthm mapp-when-vcscope-dinfop (implies (vcscope-dinfop x) (omap::mapp x)) :rule-classes (:rewrite :forward-chaining))
Theorem:
(defthm vcscope-dinfop-of-tail (implies (vcscope-dinfop x) (vcscope-dinfop (omap::tail x))))
Theorem:
(defthm identifierp-of-head-key-when-vcscope-dinfop (implies (and (vcscope-dinfop x) (not (omap::emptyp x))) (identifierp (mv-nth 0 (omap::head x)))))
Theorem:
(defthm var/const-dinfop-of-head-val-when-vcscope-dinfop (implies (and (vcscope-dinfop x) (not (omap::emptyp x))) (var/const-dinfop (mv-nth 1 (omap::head x)))))
Theorem:
(defthm vcscope-dinfop-of-update (implies (and (vcscope-dinfop x) (identifierp k) (var/const-dinfop v)) (vcscope-dinfop (omap::update k v x))))
Theorem:
(defthm vcscope-dinfop-of-update* (implies (and (vcscope-dinfop x) (vcscope-dinfop y)) (vcscope-dinfop (omap::update* x y))))
Theorem:
(defthm vcscope-dinfop-of-delete (implies (vcscope-dinfop x) (vcscope-dinfop (omap::delete k x))))
Theorem:
(defthm vcscope-dinfop-of-delete* (implies (vcscope-dinfop x) (vcscope-dinfop (omap::delete* k x))))
Theorem:
(defthm identifierp-when-assoc-vcscope-dinfop-binds-free-x (implies (and (omap::assoc k x) (vcscope-dinfop x)) (identifierp k)))
Theorem:
(defthm identifierp-of-car-of-assoc-vcscope-dinfop (implies (and (vcscope-dinfop x) (omap::assoc k x)) (identifierp (car (omap::assoc k x)))))
Theorem:
(defthm var/const-dinfop-of-cdr-of-assoc-vcscope-dinfop (implies (and (vcscope-dinfop x) (omap::assoc k x)) (var/const-dinfop (cdr (omap::assoc k x)))))
Theorem:
(defthm var/const-dinfop-of-lookup-when-vcscope-dinfop (implies (and (vcscope-dinfop x) (omap::assoc k x)) (var/const-dinfop (omap::lookup k x))))