Determine if scopestack
(vl-lucid-scopestack-subscope-p a b) → *
Function:
(defun vl-lucid-scopestack-subscope-p (a b) (declare (xargs :guard (and (vl-scopestack-p a) (vl-scopestack-p b)))) (let ((__function__ 'vl-lucid-scopestack-subscope-p)) (declare (ignorable __function__)) (b* ((a (vl-scopestack-fix a)) (b (vl-scopestack-fix b))) (or (hons-equal a b) (vl-scopestack-case b :null nil :global nil :local (vl-lucid-scopestack-subscope-p a b.super))))))
Theorem:
(defthm vl-lucid-scopestack-subscope-p-of-vl-scopestack-fix-a (equal (vl-lucid-scopestack-subscope-p (vl-scopestack-fix a) b) (vl-lucid-scopestack-subscope-p a b)))
Theorem:
(defthm vl-lucid-scopestack-subscope-p-vl-scopestack-equiv-congruence-on-a (implies (vl-scopestack-equiv a a-equiv) (equal (vl-lucid-scopestack-subscope-p a b) (vl-lucid-scopestack-subscope-p a-equiv b))) :rule-classes :congruence)
Theorem:
(defthm vl-lucid-scopestack-subscope-p-of-vl-scopestack-fix-b (equal (vl-lucid-scopestack-subscope-p a (vl-scopestack-fix b)) (vl-lucid-scopestack-subscope-p a b)))
Theorem:
(defthm vl-lucid-scopestack-subscope-p-vl-scopestack-equiv-congruence-on-b (implies (vl-scopestack-equiv b b-equiv) (equal (vl-lucid-scopestack-subscope-p a b) (vl-lucid-scopestack-subscope-p a b-equiv))) :rule-classes :congruence)