Suppose the botmaster wants to compare two predicates with the values JOHN and PAUL.
The basic "trick" behind Steve's method is to "learn" a new category like
The comparison uses symbolic reduction to test <srai>BOTCHECK PAUL</srai>. This does not match the newly learned categroy with the pattern BOTCHECK JOHN. It does however match another category:
<think><set name="match">NO</set> </think>
Only the input BOTCHECK JOHN will match the first category, in which case the predicates have the same value. The AIML Steve developed is a little more complicated than that, and you can find out all the details in his post to the mailing list.
You can download the free AIML variable comparison set from