; "hello world" clips
(defrule helloWorld
=>
   (printout t "Hello world!" crlf))
 
 
; re-write x's to y's
(deffacts originalList
   (list x y a m n x)
)
(defrule x2y
    (list $?umm x $?aha)
=>
    (assert (list $?umm y $?aha)))
 
 
; re-write x's to y's
(deffacts originalList
   (list x y a m n x)
   (alphaBeta x r)
)
 
(defrule x2y
   (list $?pfx ?alpha $?sfx)
   (alphaBeta ?alpha ?beta)
=>
   (assert (list $?pfx ?beta $?sfx)))
 
 
;; do a transposition code
(deffacts cleatText+code
  (clearText t h i s i s a t e s t)
   ; partial transposition (+1) code
   (code t u)
   (code h i)
   (code i j)
   (code s t)
   (code a b)
   (code e d)
   (codeText)
)
(defrule encode
?f<-(clearText ?ltr $?rest)
    (code ?ltr ?code)
?g<-(codeText $?coded)
=>
    (retract ?f ?g)
    (assert (clearText $?rest)
            (codeText $?coded ?code)))