(deffacts forme (obiect patrat rosu 3) (obiect patrat alb 2) (obiect patrat verde 4) (obiect triunghi alb 2 8) (obiect dreptunghi verde 4 5) (obiect dreptunghi galben 3 7) (obiect cerc galben 3) (obiect triunghi rosu 3 5) (obiect cerc verde 4) ) (defrule aria-cerc (obiect cerc ?c ?r) => (assert (arie (gensym) (* 3.14 (* ?r ?r)))) ) (defrule aria-patrat (obiect patrat ?c ?l) => (assert (arie (gensym) (* ?l ?l))) ) ; perechi patrat-dreptunghi de aceeasi culoare astfel incat ; aria patratului sa fie mai mica decat aria dreptunghiului (defrule patr-drept (obiect patrat ?c ?l) (obiect dreptunghi ?c ?la ?lb&:(< (* ?l ?l) (* ?la ?lb))) => (printout t "Pereche de culoarea " ?c crlf "Patratul cu latura " ?l "." crlf "Drpt cu dim " ?la " " ?lb crlf))