(deffacts dane (list a c b e d f a g m p) ; kolejnosc istotna, bo to ciag i mozliwe powtorzenia (set p e b i) ; kolejnosc dowolna, bo to zbior a powtorzenia niemozliwe (count 0) ) (defrule zlicz "zliczanie elementow listy nie nalezacych do zbioru" ?i<-(list $?przed ?x $?po) (not (set $? ?x $?)) ; element ?x nie nalezy do zbioru ?ii<-(count ?n) => (retract ?i ?ii) (assert (list $?przed $?po)) (assert (count (+ ?n 1))) )