Map a length suffix to an integer constant length in the language definition.
(ldm-lsuffix lsuffix) → ilen
Function:
(defun ldm-lsuffix (lsuffix) (declare (xargs :guard (lsuffixp lsuffix))) (let ((__function__ 'ldm-lsuffix)) (declare (ignorable __function__)) (lsuffix-case lsuffix :locase-l (c::iconst-length-long) :upcase-l (c::iconst-length-long) :locase-ll (c::iconst-length-llong) :upcase-ll (c::iconst-length-llong))))
Theorem:
(defthm iconst-lengthp-of-ldm-lsuffix (b* ((ilen (ldm-lsuffix lsuffix))) (c::iconst-lengthp ilen)) :rule-classes :rewrite)
Theorem:
(defthm ldm-lsuffix-of-lsuffix-fix-lsuffix (equal (ldm-lsuffix (lsuffix-fix lsuffix)) (ldm-lsuffix lsuffix)))
Theorem:
(defthm ldm-lsuffix-lsuffix-equiv-congruence-on-lsuffix (implies (lsuffix-equiv lsuffix lsuffix-equiv) (equal (ldm-lsuffix lsuffix) (ldm-lsuffix lsuffix-equiv))) :rule-classes :congruence)