(aabf-first/rest/end x) → (mv first rest end)
Function:
(defun aabf-first/rest/end (x) (declare (xargs :guard (true-listp x))) (declare (xargs :guard (and))) (let ((__function__ 'aabf-first/rest/end)) (declare (ignorable __function__)) (mbe :logic (mv (aabf-car x) (scdr x) (s-endp x)) :exec (cond ((atom x) (mv (aabf-false) x t)) ((atom (cdr x)) (mv (car x) x t)) (t (mv (car x) (cdr x) nil))))))
Theorem:
(defthm trivial-theorem-about-aabf-first/rest/end (b* nil (b* ((?ignore (aabf-first/rest/end x))) t)) :rule-classes nil)