(subset-p x y) → *
Function:
(defun subset-p (x y) (declare (xargs :guard (and (true-listp x) (true-listp y)))) (let ((__function__ 'subset-p)) (declare (ignorable __function__)) (cond ((atom x) t) ((member-p (car x) y) (subset-p (cdr x) y)) (t nil))))
Theorem:
(defthm subset-p-cdr-x (implies (subset-p x y) (subset-p (cdr x) y)) :rule-classes ((:rewrite :backchain-limit-lst (0))))
Theorem:
(defthm subset-p-cdr-y (implies (subset-p x (cdr y)) (subset-p x y)) :rule-classes ((:rewrite :backchain-limit-lst (0))))
Theorem:
(defthm subset-p-cons (implies (subset-p x y) (subset-p (cons e x) (cons e y))) :rule-classes ((:rewrite :backchain-limit-lst (0))))
Theorem:
(defthm subset-p-reflexive (equal (subset-p x x) t))
Theorem:
(defthm subset-p-transitive (implies (and (subset-p x y) (subset-p y z)) (subset-p x z)))
Theorem:
(defthm subset-p-of-append-1 (equal (subset-p (append a b) x) (and (subset-p a x) (subset-p b x))))
Theorem:
(defthm subset-p-of-append-2 (implies (or (subset-p a x) (subset-p a y)) (subset-p a (append x y))))
Theorem:
(defthm subset-p-and-append-both (implies (subset-p a b) (subset-p (append e a) (append e b))))
Theorem:
(defthm subset-p-of-nil (equal (subset-p x nil) (atom x)))
Theorem:
(defthm subset-p-cons-2 (implies (subset-p x y) (subset-p x (cons e y))))
Theorem:
(defthm member-p-of-subset-is-member-p-of-superset (implies (and (subset-p x y) (member-p e x)) (member-p e y)))
Theorem:
(defthm not-member-p-of-superset-is-not-member-p-of-subset (implies (and (equal (member-p e y) nil) (subset-p x y)) (equal (member-p e x) nil)))
Theorem:
(defthm subset-p-and-remove-duplicates-equal-1 (implies (subset-p x y) (subset-p (remove-duplicates-equal x) y)))
Theorem:
(defthm subset-p-and-remove-duplicates-equal-2 (implies (subset-p x y) (subset-p x (remove-duplicates-equal y))))
Theorem:
(defthm subset-p-and-remove-duplicates-equal-both (implies (subset-p x y) (subset-p (remove-duplicates-equal x) (remove-duplicates-equal y))))