base prolog