Included Books
other
(in-package "ACL2")
include-book
(include-book "xdoc/top" :dir :system)
local
(local (include-book "sets"))
local
(local (include-book "intersectp"))
local
(local (in-theory (enable set-difference-equal)))
other
(defsection std/lists/set-difference :parents (std/lists set-difference$) :short "Lemmas about @(see set-difference$) available in the @(see std/lists) library." (defthm set-difference-equal-when-atom (implies (atom x) (equal (set-difference-equal x y) nil))) (defthm set-difference-equal-of-cons (equal (set-difference-equal (cons a x) y) (if (member-equal a y) (set-difference-equal x y) (cons a (set-difference-equal x y))))) (defthm set-difference-equal-when-subsetp-equal (implies (subsetp-equal x y) (equal (set-difference-equal x y) nil))) (defthm set-difference-equal-of-self (equal (set-difference-equal x x) nil)) (defthm empty-intersect-with-difference-of-self (not (intersectp-equal a (set-difference-equal b a)))) (defthm no-duplicatesp-of-set-difference-equal (implies (no-duplicatesp-equal l1) (no-duplicatesp-equal (set-difference-equal l1 l2)))))