Recognizer for sponge structures.
(spongep x) → *
Function:
(defun spongep (x) (declare (xargs :guard t)) (let ((__function__ 'spongep)) (declare (ignorable __function__)) (and (mbe :logic (and (alistp x) (equal (strip-cars x) '(stat mode index))) :exec (fty::alist-with-carsp x '(stat mode index))) (b* ((stat (cdr (std::da-nth 0 x))) (mode (cdr (std::da-nth 1 x))) (index (cdr (std::da-nth 2 x)))) (and (nat-listp stat) (modep mode) (natp index))))))
Theorem:
(defthm consp-when-spongep (implies (spongep x) (consp x)) :rule-classes :compound-recognizer)