Filtering...

no-duplicates

books/data-structures/no-duplicates
other
(in-package "ACL2")
associativity-of-appendtheorem
(defthm associativity-of-append
  (equal (append (append a b) c) (append a (append b c))))
member-equal-appendtheorem
(defthm member-equal-append
  (iff (member-equal x (append a b))
    (or (member-equal x a) (member-equal x b))))
no-duplicatesp-equal-append-ifftheorem
(defthm no-duplicatesp-equal-append-iff
  (iff (no-duplicatesp-equal (append a b))
    (and (no-duplicatesp-equal a)
      (no-duplicatesp-equal b)
      (not (intersectp-equal (double-rewrite a) (double-rewrite b))))))
intersectp-equal-append1theorem
(defthm intersectp-equal-append1
  (equal (intersectp-equal (append a b) c)
    (or (intersectp-equal a c) (intersectp-equal b c))))
intersectp-equal-cons-secondtheorem
(defthm intersectp-equal-cons-second
  (iff (intersectp-equal a (cons c b))
    (or (member-equal c a) (intersectp-equal a b))))
intersectp-equal-non-cons-1theorem
(defthm intersectp-equal-non-cons-1
  (implies (not (consp a)) (not (intersectp-equal a b))))
intersectp-equal-non-constheorem
(defthm intersectp-equal-non-cons
  (implies (not (consp b)) (not (intersectp-equal a b))))
intersectp-equal-append2theorem
(defthm intersectp-equal-append2
  (equal (intersectp-equal c (append a b))
    (or (intersectp-equal c a) (intersectp-equal c b))))
intersectp-equal-commutetheorem
(defthm intersectp-equal-commute
  (iff (intersectp-equal a b) (intersectp-equal b a)))
no-duplicatesp-equal-non-constheorem
(defthm no-duplicatesp-equal-non-cons
  (implies (not (consp x)) (no-duplicatesp-equal x)))