logical reasoning in tcl

Does anyone know of a logical reasoning in tcl package, I guess like prolog does, so a proof mechanism, and maybe a exploration mechanism ?

Like having a saying 'when it rains, the streets get wet', formulating it like:

 it rains ==> the streets get wet

or in tcl:

 set premises(p1) "it rains"
 set premises(p2) "the streets get wet"
 set premises(p3) {impies p1 p2}

As we al know of course, we cannot add the premise

 set premises(p4) "implies p2 p1"

Unless p3 would be

 doubleimplies p1 p2

Which it isn't because the streets could get wet otherwise.

AM I have played around with CLIPS (see: Playing CLIPS)

See also Playing predicate logic