Constructor for variable (
(pseudo-term-var name) → term
Function:
(defun pseudo-term-var (name) (declare (xargs :guard (pseudo-var-p name))) (let ((__function__ 'pseudo-term-var)) (declare (ignorable __function__)) (pseudo-var-fix name)))
Theorem:
(defthm pseudo-termp-of-pseudo-term-var (b* ((term (pseudo-term-var name))) (pseudo-termp term)) :rule-classes :rewrite)
Theorem:
(defthm kind-of-pseudo-term-var (equal (pseudo-term-kind (pseudo-term-var name)) :var))
Theorem:
(defthm pseudo-term-var->name-of-pseudo-term-var (equal (pseudo-term-var->name (pseudo-term-var name)) (pseudo-var-fix name)))
Theorem:
(defthm pseudo-term-var-of-accessors (implies (equal (pseudo-term-kind x) :var) (equal (pseudo-term-var (pseudo-term-var->name x)) (pseudo-term-fix x))))
Theorem:
(defthm base-ev-of-pseudo-term-var (equal (base-ev (pseudo-term-var name) a) (cdr (assoc (pseudo-var-fix name) a))))
Theorem:
(defthm pseudo-term-var-of-pseudo-var-fix-name (equal (pseudo-term-var (pseudo-var-fix name)) (pseudo-term-var name)))
Theorem:
(defthm pseudo-term-var-pseudo-var-equiv-congruence-on-name (implies (pseudo-var-equiv name name-equiv) (equal (pseudo-term-var name) (pseudo-term-var name-equiv))) :rule-classes :congruence)