Možno postupovať
napríklad takto. Pomocou funkcie isin (treba
definovať),
zistíme či sa nachádza jeden prvok v zozname a potom v
podmienke AND
otestujem pre oba.
Ak prvky majú byť čísla stačí pre porovnanie =, ak atómy eq, ak sv (s-výraz) equal.
(defun isin (a zoz)
(cond ((null zoz) NIL)
((equal (first zoz) a) T)
(T (isin a (rest zoz)))
)
)
(defun hladaj2 (a b zoz)
(and (isin a zoz) (isin b zoz))
)
Príklady použitia:
(hladaj2 '(a) 'b '(1 b 3)) -> NIL
(hladaj2 '(a) 'b '(1 b (a))) -> T