(member-p e x) → *
Function:
(defun member-p (e x) (declare (xargs :guard (true-listp x))) (let ((__function__ 'member-p)) (declare (ignorable __function__)) (if (atom x) nil (if (equal e (car x)) t (member-p e (cdr x))))))
Theorem:
(defthm member-p-of-not-a-consp (implies (not (consp x)) (equal (member-p e x) nil)))
Theorem:
(defthm member-p-of-nil (equal (member-p e nil) nil))
Theorem:
(defthm member-p-cons (equal (member-p e1 (cons e2 x)) (if (equal e1 e2) t (member-p e1 x))))
Theorem:
(defthm member-p-append (equal (member-p e (append x y)) (or (member-p e x) (member-p e y))))
Theorem:
(defthm member-p-cdr (implies (member-p e (cdr x)) (member-p e x)) :rule-classes ((:rewrite :backchain-limit-lst (0))))
Theorem:
(defthm member-p-iff-member-equal (iff (member-p e x) (member-equal e x)))