(defun comp2 (p1 p2) (or (and (equal (car p1) (car p2)) (equal (cadr p1) (cadr p2)) ) (and (equal (car p1) (cadr p2)) (equal (cadr p1) (car p2)) ) ) ) (defun testcomp2 () (and (comp2 '(a b) '(a b)) (comp2 '(a b) '(b a)) (not (comp2 '(a b) '(b c))) ) ) (defun compx (s1 s2) (cond ((and (null s1) (null s2)) t) ((null s1) nil) ((null s2) nil) ((atom (car s1)) (comp2 s1 s2)) ((atom (car s2)) (comp2 s1 s2)) (t (and (compx (car s1) (car s2)) (compx (cdr s1) (cdr s2)) ) ) ))