Function:
(defun regex-disjunct2 (x y) (declare (xargs :guard (and (regex-p x) (regex-p y)))) (let ((__function__ 'regex-disjunct2)) (declare (ignorable __function__)) (regex-case y :disjunct (regex-disjunct (cons x y.lst)) :otherwise (regex-disjunct (list x y)))))
Theorem:
(defthm regex-p-of-regex-disjunct2 (b* ((res (regex-disjunct2 x y))) (regex-p res)) :rule-classes :rewrite)