(deffacts dane (lista a b c d) (rev) ) (defrule odwracaj ?i<-(lista ?x $?reszta) ?ii<-(rev $?r) => (retract ?i ?ii) (assert (lista $?reszta)) (assert (rev ?x $?r)) )