Recognizer for value-map.
(value-mapp x) → *
Theorem:
(defthm booleanp-of-value-mapp (booleanp (value-mapp x)))
Theorem:
(defthm mapp-when-value-mapp (implies (value-mapp x) (omap::mapp x)) :rule-classes (:rewrite :forward-chaining))
Theorem:
(defthm value-mapp-of-tail (implies (value-mapp x) (value-mapp (omap::tail x))))
Theorem:
(defthm identifierp-of-head-key-when-value-mapp (implies (and (value-mapp x) (not (omap::emptyp x))) (identifierp (mv-nth 0 (omap::head x)))))
Theorem:
(defthm valuep-of-head-val-when-value-mapp (implies (and (value-mapp x) (not (omap::emptyp x))) (valuep (mv-nth 1 (omap::head x)))))
Theorem:
(defthm value-mapp-of-update (implies (and (value-mapp x) (identifierp k) (valuep v)) (value-mapp (omap::update k v x))))
Theorem:
(defthm value-mapp-of-update* (implies (and (value-mapp x) (value-mapp y)) (value-mapp (omap::update* x y))))
Theorem:
(defthm value-mapp-of-delete (implies (value-mapp x) (value-mapp (omap::delete k x))))
Theorem:
(defthm value-mapp-of-delete* (implies (value-mapp x) (value-mapp (omap::delete* k x))))
Theorem:
(defthm identifierp-when-assoc-value-mapp-binds-free-x (implies (and (omap::assoc k x) (value-mapp x)) (identifierp k)))
Theorem:
(defthm identifierp-of-car-of-assoc-value-mapp (implies (and (value-mapp x) (omap::assoc k x)) (identifierp (car (omap::assoc k x)))))
Theorem:
(defthm valuep-of-cdr-of-assoc-value-mapp (implies (and (value-mapp x) (omap::assoc k x)) (valuep (cdr (omap::assoc k x)))))
Theorem:
(defthm valuep-of-lookup-when-value-mapp (implies (and (value-mapp x) (omap::assoc k x)) (valuep (omap::lookup k x))))