КЛИПЫ: разница между двумя списками фактов

Если у меня есть набор фактов, таких как (пример (факт 1)), (пример (факт 2)), (пример (факт 3)), и еще один список фактов, например (myfact (номер 2)), как я могу выполнить распечатку каждого элемента в первом списке, которого нет во втором (на основе числа в слотах фактов / номеров)? Я подозреваю, что мне нужны все факты, но я не уверен, как именно. Вот мой неполный код:

(deffunction difference ()
    (do-for-all-facts ((?f1 example)) TRUE
        (find-all-facts ((?f2 myfact)) (eq 1 1))
        (if (somehow check if ?f1:fact does not equal ANY of number slots in ?f2) then
            (printout t "..." crlf))))

person yha    schedule 05.05.2015    source источник