Recognizer for ienv structures.
(ienvp x) → *
Function:
(defun ienvp (x) (declare (xargs :guard t)) (let ((__function__ 'ienvp)) (declare (ignorable __function__)) (and (mbe :logic (and (alistp x) (equal (strip-cars x) '(short-bytes int-bytes long-bytes llong-bytes plain-char-signedp))) :exec (fty::alist-with-carsp x '(short-bytes int-bytes long-bytes llong-bytes plain-char-signedp))) (b* ((short-bytes (cdr (std::da-nth 0 x))) (int-bytes (cdr (std::da-nth 1 x))) (long-bytes (cdr (std::da-nth 2 x))) (llong-bytes (cdr (std::da-nth 3 x))) (plain-char-signedp (cdr (std::da-nth 4 x)))) (and (posp short-bytes) (posp int-bytes) (posp long-bytes) (posp llong-bytes) (booleanp plain-char-signedp) (<= short-bytes int-bytes) (<= int-bytes long-bytes) (<= long-bytes llong-bytes) (<= 2 short-bytes) (<= 4 int-bytes) (<= 8 long-bytes) (<= 8 llong-bytes))))))
Theorem:
(defthm consp-when-ienvp (implies (ienvp x) (consp x)) :rule-classes :compound-recognizer)