Ответ в теме: Список символов, которые входят в обе строки

      Комментарии к записи Ответ в теме: Список символов, которые входят в обе строки отключены
#1760

str_pos возвращает позицию символа в строке или 0, если символ не найден, он точно работает? — проверьте его отдельно.
Что вы делаете в check мне не понятно совсем.

Насколько я помню, вы SWI пролог решили использовать. В SWI Prolog нет frontchar и строки обрабатываются как списки (посмотрите на пример выше, чем он не подошел?).