And how if you have 4 or more sets?
Maybe like this :
(defun MR:ListsIntersection ( ll / r l1 l2 )
(while (and (setq l1 (car ll)) (setq l2 (cadr ll)))
(setq r (vl-remove-if-not '(lambda ( x ) (member x l2)) l1))
(setq ll (subst r l2 ll))
(setq ll (cdr ll))
)
r
)
(MR:ListsIntersection '((1 3 5 2 4) (6 8 1 3 5) (9 0 1 3 5) (7 4 2 1 3) (1 3 5 7 9)))
;;; (1 3)
M.R.