Basic theorems about var-tablep, generated by std::deflist.
Theorem:
(defthm var-tablep-of-cons (implies (var-tablep acl2::x) (iff (var-tablep (cons acl2::a acl2::x)) (var-table-scopep acl2::a))) :rule-classes ((:rewrite)))
Theorem:
(defthm var-tablep-of-singleton (iff (var-tablep (cons acl2::a nil)) (var-table-scopep acl2::a)) :rule-classes ((:rewrite)))
Theorem:
(defthm var-tablep-of-cdr-when-var-tablep (implies (and (var-tablep (double-rewrite acl2::x)) (consp (cdr acl2::x))) (var-tablep (cdr acl2::x))) :rule-classes ((:rewrite)))
Theorem:
(defthm var-tablep-when-not-consp (implies (not (consp acl2::x)) (not (var-tablep acl2::x))) :rule-classes ((:rewrite)))
Theorem:
(defthm var-tablep-implies-consp (implies (var-tablep acl2::x) (consp acl2::x)) :rule-classes ((:forward-chaining :trigger-terms ((acl2::element-list-nonempty-p acl2::x)))))
Theorem:
(defthm var-table-scopep-of-car-when-var-tablep (implies (var-tablep acl2::x) (var-table-scopep (car acl2::x))) :rule-classes ((:rewrite)))
Theorem:
(defthm true-listp-when-var-tablep (implies (var-tablep acl2::x) (true-listp acl2::x)) :rule-classes :compound-recognizer)
Theorem:
(defthm var-tablep-of-append (implies (and (var-tablep acl2::a) (var-tablep acl2::b)) (var-tablep (append acl2::a acl2::b))) :rule-classes ((:rewrite)))