Prolog language interpreter