Add a value (or multiples values) to the set.
Time complexity:
Function:
(defun insert1 (x set) (declare (xargs :guard (setp set))) (let ((__function__ 'insert1)) (declare (ignorable __function__)) (tree-insert x (sfix set))))
Theorem:
(defthm setp-of-insert1 (b* ((set$ (insert1 x set))) (setp set$)) :rule-classes :rewrite)
Function:
(defun insert-macro-loop (list) (declare (xargs :guard (true-listp list))) (declare (xargs :guard (and (consp list) (consp (rest list))))) (let ((__function__ 'insert-macro-loop)) (declare (ignorable __function__)) (if (endp (rest (rest list))) (list 'insert1 (first list) (second list)) (list 'insert1 (first list) (insert-macro-loop (rest list))))))