(deffacts dane (lista -16 19 -3 27 -44 3 14 -15 11 8 9 -10) (zakres -12 7) ; obustronnie domkniety (ilew 0) (ilepoza 0) ) (defrule wewnatrz ?i<-(lista ?x $?reszta) (zakres ?l ?p) (test (and (<= ?l ?x)(<= ?x ?p))) ?ii<-(ilew ?ile) => (retract ?i ?ii) (assert (lista $?reszta)) (assert (ilew (+ ?ile 1))) ) (defrule zewnatrz ?i<-(lista ?x $?reszta) (zakres ?l ?p) (test (or (< ?x ?l)(< ?p ?x))) ?ii<-(ilepoza ?ile) => (retract ?i ?ii) (assert (lista $?reszta)) (assert (ilepoza (+ ?ile 1))) )