;; ;; Rete network example ;; Initialization (clear) (reset) ;; ;; define template ;; (deftemplate x (slot a)) (deftemplate y (slot b)) (deftemplate z (slot c)) ;; ;; define rules ;; (defrule rule-1-1 (x (a ?v1)) (y (b ?v1)) => (printout t "rule 1.1: x.a =" ?v1 " is equal to y.b=" ?v1 crlf) ) (defrule rule-2-1 (x (a ?v2)) (y (b ?v2)) (z) => (printout t "reule 2.1: x.a=" ?v2 " is equal to y.b=" ?v2 " and don't care the value of z.c " crlf) ) ;; ;; facts ;; (assert (x (a 12)) (y (b 12)) (z (c 37)) ) ;; (printout t "===Simple Rete Network Test===" crlf) (run)