(4vmask-union x y) unions the 4vmasks
Function:
(defun 4vmask-union$inline (x y) (declare (xargs :guard (and (4vmask-p x) (4vmask-p y)))) (let ((__function__ '4vmask-union)) (declare (ignorable __function__)) (sparseint-bitor (4vmask-fix x) (4vmask-fix y))))
Theorem:
(defthm 4vmask-p-of-4vmask-union (b* ((union (4vmask-union$inline x y))) (4vmask-p union)) :rule-classes :type-prescription)
Theorem:
(defthm 4vmask-union$inline-of-4vmask-fix-x (equal (4vmask-union$inline (4vmask-fix x) y) (4vmask-union$inline x y)))
Theorem:
(defthm 4vmask-union$inline-4vmask-equiv-congruence-on-x (implies (4vmask-equiv x x-equiv) (equal (4vmask-union$inline x y) (4vmask-union$inline x-equiv y))) :rule-classes :congruence)
Theorem:
(defthm 4vmask-union$inline-of-4vmask-fix-y (equal (4vmask-union$inline x (4vmask-fix y)) (4vmask-union$inline x y)))
Theorem:
(defthm 4vmask-union$inline-4vmask-equiv-congruence-on-y (implies (4vmask-equiv y y-equiv) (equal (4vmask-union$inline x y) (4vmask-union$inline x y-equiv))) :rule-classes :congruence)
Theorem:
(defthm 4vmask-subsumes-of-4vmask-union-1 (4vmask-subsumes (4vmask-union x y) x))
Theorem:
(defthm 4vmask-subsumes-of-4vmask-union-2 (4vmask-subsumes (4vmask-union x y) y))