Existentially quantified formula
in the second case of the definition of
This is used (indirectly) in the definition of mmp-encode-c, hence the name.
Here
If this existentially quantified formula holds,
the length of every key in the map is greater than or equal to
Theorem:
(defthm mmp-encode-c-exists-suff (implies (and (nibble-listp l) (= (len l) (nfix x)) (mmp-encode-c-forall map x l)) (mmp-encode-c-exists map x)))
Theorem:
(defthm booleanp-of-mmp-encode-c-exists (b* ((yes/no (mmp-encode-c-exists map x))) (booleanp yes/no)) :rule-classes :rewrite)
Theorem:
(defthm mmp-encode-c-exists-of-nibblelist-bytelist-mfix-map (equal (mmp-encode-c-exists (nibblelist-bytelist-mfix map) x) (mmp-encode-c-exists map x)))
Theorem:
(defthm mmp-encode-c-exists-nibblelist-bytelist-mequiv-congruence-on-map (implies (nibblelist-bytelist-mequiv map map-equiv) (equal (mmp-encode-c-exists map x) (mmp-encode-c-exists map-equiv x))) :rule-classes :congruence)
Theorem:
(defthm mmp-encode-c-exists-of-nfix-x (equal (mmp-encode-c-exists map (nfix x)) (mmp-encode-c-exists map x)))
Theorem:
(defthm mmp-encode-c-exists-nat-equiv-congruence-on-x (implies (acl2::nat-equiv x x-equiv) (equal (mmp-encode-c-exists map x) (mmp-encode-c-exists map x-equiv))) :rule-classes :congruence)
Theorem:
(defthm mmp-encode-c-exists-len-key-geq-x (implies (and (mmp-encode-c-exists map x) (nibblelist-bytelist-mapp map) (natp x) (omap::assoc key map)) (>= (len key) x)) :rule-classes nil)