SWI-Prolog предоставляет библиотечный модуль ugraphs
, а не ugraph
. Я полагаю, это только опечатка?
Если вы загружаете библиотеку ugraphs
в том же контексте, что и ваш предикат vertices/2
, почему бы просто не переименовать ваш предикат? Например. my_vertices/2
. Другой возможный вариант - загрузить модуль ugraphs
без импорта его предикатов, используя:
:- use_module(library(ugraphs), []).
Это разрешит конфликт, но также потребует, чтобы вы вызывали предикат модуля ugraphs
, используя явную квалификацию.
Может также случиться, что модуль ugraphs
загружается не вами явно, а как следствие других модулей, которые вы можете загружать. Если это так, включите многословную автозагрузку, чтобы узнать, почему загружается модуль:
?- set_prolog_flag(verbose_autoload, true).