確かに懐かしのprologだな。本で読んだことしかないけど

今風にやるなら、入力のアイテムを高次元空間上の表現に射像して、スパースな基底での表現に直してから、論理演算かければいいような気もする。
記号演算自体を含む、表現アイテム空間も作って、演算自体をそこでの射像にするとか