(s4vec-index-p x) → *
Function:
(defun s4vec-index-p (x) (declare (xargs :guard (s4vec-p x))) (let ((__function__ 's4vec-index-p)) (declare (ignorable __function__)) (and (s4vec-2vec-p x) (not (sparseint-< (s4vec->upper x) 0)))))
Theorem:
(defthm s4vec-index-p-implies (implies (s4vec-index-p x) (and (equal (sparseint-val (s4vec->lower x)) (sparseint-val (s4vec->upper x))) (<= 0 (sparseint-val (s4vec->lower x))))) :rule-classes :forward-chaining)
Theorem:
(defthm s4vec-index-p-of-s4vec-fix-x (equal (s4vec-index-p (s4vec-fix x)) (s4vec-index-p x)))
Theorem:
(defthm s4vec-index-p-s4vec-equiv-congruence-on-x (implies (s4vec-equiv x x-equiv) (equal (s4vec-index-p x) (s4vec-index-p x-equiv))) :rule-classes :congruence)