Map an integer constant to an integer constant in the language definition.
(ldm-iconst iconst) → iconst1
Function:
(defun ldm-iconst (iconst) (declare (xargs :guard (iconstp iconst))) (let ((__function__ 'ldm-iconst)) (declare (ignorable __function__)) (b* (((iconst iconst) iconst) ((mv value base) (ldm-dec/oct/hex-const iconst.core)) ((mv length unsignedp) (ldm-isuffix-option iconst.suffix?))) (c::make-iconst :value value :base base :unsignedp unsignedp :length length))))
Theorem:
(defthm iconstp-of-ldm-iconst (b* ((iconst1 (ldm-iconst iconst))) (c::iconstp iconst1)) :rule-classes :rewrite)
Theorem:
(defthm ldm-iconst-of-iconst-fix-iconst (equal (ldm-iconst (iconst-fix iconst)) (ldm-iconst iconst)))
Theorem:
(defthm ldm-iconst-iconst-equiv-congruence-on-iconst (implies (iconst-equiv iconst iconst-equiv) (equal (ldm-iconst iconst) (ldm-iconst iconst-equiv))) :rule-classes :congruence)