Приведенный пример неявного преобразования больше исключение, чем правило, и лучше сразу привыкать к тому, что разные типы необходимо преоборазовывать.

Вот еще ссылка - шах и мат: http://prolog-plc.ru/pb1