Recognizer for atj-test-value structures.
(atj-test-valuep x) → *
Function:
(defun atj-test-valuep (x) (declare (xargs :guard t)) (let ((__function__ 'atj-test-valuep)) (declare (ignorable __function__)) (and (consp x) (cond ((or (atom x) (eq (car x) :acl2)) (and (true-listp (cdr x)) (eql (len (cdr x)) 1) (b* ((get (std::da-nth 0 (cdr x)))) (acl2::any-p get)))) ((eq (car x) :jboolean) (and (true-listp (cdr x)) (eql (len (cdr x)) 1) (b* ((get (std::da-nth 0 (cdr x)))) (boolean-valuep get)))) ((eq (car x) :jchar) (and (true-listp (cdr x)) (eql (len (cdr x)) 1) (b* ((get (std::da-nth 0 (cdr x)))) (char-valuep get)))) ((eq (car x) :jbyte) (and (true-listp (cdr x)) (eql (len (cdr x)) 1) (b* ((get (std::da-nth 0 (cdr x)))) (byte-valuep get)))) ((eq (car x) :jshort) (and (true-listp (cdr x)) (eql (len (cdr x)) 1) (b* ((get (std::da-nth 0 (cdr x)))) (short-valuep get)))) ((eq (car x) :jint) (and (true-listp (cdr x)) (eql (len (cdr x)) 1) (b* ((get (std::da-nth 0 (cdr x)))) (int-valuep get)))) ((eq (car x) :jlong) (and (true-listp (cdr x)) (eql (len (cdr x)) 1) (b* ((get (std::da-nth 0 (cdr x)))) (long-valuep get)))) ((eq (car x) :jboolean[]) (and (true-listp (cdr x)) (eql (len (cdr x)) 1) (b* ((get (std::da-nth 0 (cdr x)))) (boolean-arrayp get)))) ((eq (car x) :jchar[]) (and (true-listp (cdr x)) (eql (len (cdr x)) 1) (b* ((get (std::da-nth 0 (cdr x)))) (char-arrayp get)))) ((eq (car x) :jbyte[]) (and (true-listp (cdr x)) (eql (len (cdr x)) 1) (b* ((get (std::da-nth 0 (cdr x)))) (byte-arrayp get)))) ((eq (car x) :jshort[]) (and (true-listp (cdr x)) (eql (len (cdr x)) 1) (b* ((get (std::da-nth 0 (cdr x)))) (short-arrayp get)))) ((eq (car x) :jint[]) (and (true-listp (cdr x)) (eql (len (cdr x)) 1) (b* ((get (std::da-nth 0 (cdr x)))) (int-arrayp get)))) (t (and (eq (car x) :jlong[]) (and (true-listp (cdr x)) (eql (len (cdr x)) 1)) (b* ((get (std::da-nth 0 (cdr x)))) (long-arrayp get))))))))
Theorem:
(defthm consp-when-atj-test-valuep (implies (atj-test-valuep x) (consp x)) :rule-classes :compound-recognizer)