Logic-friendly wrapper of the built-in current-package.
(current-package+ state) → package
This belongs to a more general library.
Function:
(defun current-package+ (state) (declare (xargs :stobjs (state))) (declare (xargs :guard t)) (let ((__function__ 'current-package+)) (declare (ignorable __function__)) (b* ((package (current-package state)) ((unless (and (stringp package) (not (equal package "")))) (raise "Internal error: current package ~x0 is not a string." package) ".")) package)))
Theorem:
(defthm stringp-of-current-package+ (b* ((package (current-package+ state))) (stringp package)) :rule-classes :rewrite)
Theorem:
(defthm current-package+-not-empty (b* ((common-lisp::?package (current-package+ state))) (not (equal package ""))))