Aded SWI-Prolog implementation