Use the test
function to make numerical comparisons. Also, note that CLIPS uses prefix notation for mathematical operators. Here is a simplified rule that does what you want:
(defrule MAIN::btwn100and120
(part-credits ?val)
(test (<= ?val 120))
(test (>= ?val 100))
=>
(printout t "Value " ?val " is in range." crlf)
)
And here is a test of the rule:
CLIPS> (watch facts)
CLIPS> (watch activations)
CLIPS> (assert (part-credits 99))
==> f-0 (part-credits 99)
<Fact-0>
CLIPS> (assert (part-credits 110))
==> f-1 (part-credits 110)
==> Activation 0 btwn100and120: f-1
<Fact-1>
CLIPS> (run)
Value 110 is in range.
CLIPS>