I was working with the logic example within the exotica CS book, and it is really impressive logic. Something that I want to use for other types of inferences. There is a lot of possible potential with this little gem.
However, I noticed, when I was testing it, that the test results in the opposite in what I would expect to see as an answer. Maybe there is a logic change needed, I have not been able to figure it out yet.
(The topic ~compare_test in https://github.com/ChatScript/ChatScript/blob/master/WIKI/ESOTERIC-CHATSCRIPT/ChatScript-Exotica-Examples.md )
Here is a transcript of the test from the code from the md page.
end_user: > Tom is more tall than Mary
HARRY: Ok, I hear you. Strange comment, but I will take it.
end_user: > Tom is taller than Mary and Tom is shorter than Joan.
HARRY: If you say so. How are you, anyway?
end_user: > Tom is less tall than Mary
HARRY: Ok, Tom is less tall than Mary. You are teaching me concepts. Ok. What are your favorite things to do when you have time off?
end_user: > Tom is taller than Harry but shorter than Joan.
HARRY: I understand. Did you see my question?
# Here is the test
end_user: > who is taller, Tom or Harry?
# the response is the reverse of what I would expect.
HARRY: Harry is. Positively
enduser: > :why
~prepasstopic.257.0 ?: COMPARE ( [ which who what ] be { the } { more most greater primary best higher } _{ less least le…
~mp1baiml.3357.0 u: ( << ~badness ~badness >> ) Certainly $$mp1aiml ^respond ( ~cs_good_questions01 )
via ~control.11.0 u: ( ) $cs_token -= 255 ^if 00A( %response $_responsecount ) 00Y{ ^nofail ( TOPIC ^respond…
~cs_good_questions01.151.0 u: TT_01 ( ~badness ) What are people often surprised to learn about you?
via ~mp1baiml.3357.0 u: ( << ~badness ~badness >> ) Certainly $$mp1aiml ^respond ( ~cs_good_questions01 )
~mp1baiml.3357.0 u: ( << ~badness ~badness >> ) Certainly $$mp1aiml ^respond ( ~cs_good_questions01 )
via ~control.11.0 u: ( ) $cs_token -= 255 ^if 00A( %response $_responsecount ) 00Y{ ^nofail ( TOPIC ^respond…
# Looks like it is executing the code from the exotica example
end_user: > Of Tom and harry, who is taller?
HARRY: Harry is. Positively How can technology improve education? Can it hurt education?
end_user: > who is less tall, Tom or Harry?
HARRY: Tom is. Do you usually achieve goals you set? why or why not?
end_user: > Of Tom and Harry, who is less tall?
HARRY: Tom is.
I will look at the logic later, but I wanted to point out that it looks like it needs to be reversed.