Function:
(defun svstack-globalp (k stack) (declare (xargs :guard (and (svar-p k) (svstack-p stack)))) (declare (xargs :guard (consp stack))) (let ((__function__ 'svstack-globalp)) (declare (ignorable __function__)) (if (atom (cdr stack)) t (and (not (svex-fastlookup k (car stack))) (svstack-globalp k (cdr stack))))))
Theorem:
(defthm svstack-globalp-of-svar-fix-k (equal (svstack-globalp (svar-fix k) stack) (svstack-globalp k stack)))
Theorem:
(defthm svstack-globalp-svar-equiv-congruence-on-k (implies (svar-equiv k k-equiv) (equal (svstack-globalp k stack) (svstack-globalp k-equiv stack))) :rule-classes :congruence)
Theorem:
(defthm svstack-globalp-of-svstack-fix-stack (equal (svstack-globalp k (svstack-fix stack)) (svstack-globalp k stack)))
Theorem:
(defthm svstack-globalp-svstack-equiv-congruence-on-stack (implies (svstack-equiv stack stack-equiv) (equal (svstack-globalp k stack) (svstack-globalp k stack-equiv))) :rule-classes :congruence)