Двойная стрелка в прологе - PullRequest
0 голосов
/ 01 мая 2018

В последовательном исчислении есть двойная стрелка, которая читается, поскольку соединение слева от стрелки подразумевает дизъюнкцию справа от стрелки. Есть ли для этого символ в Прологе? Символ можно записать как => или | -.

1 Ответ

0 голосов
/ 10 декабря 2018

К сожалению, вертикальная черта ('|') не классифицируется как графическая в ISO Prolog. Это скорее классифицируется как соло, как запятая (','). Этот выбор для вертикальной черты, возможно, был сделан, потому что он используется вместе с запятой в качестве разделителя в списках с хвостами, например, [X, Y | Z].

В результате вертикальная черта не объединяется и не образует токен с другими графическими символами. Так, например, вы можете написать графические символы минус ('-') и больше, чем ('>') вместе, чтобы сформировать -> который читается как один токен. Это не работает для вертикальной черты.

Но пара систем Prolog пока поддерживают Юникод . Таким образом, одним из выходов было бы прямое использование турникета Unicode ⊢ (U + 22A2). Вот что работает в двух системах Prolog:

SWI-Пролог:

?- op(1100,xfx,⊢).
true.

?- X = (F ⊢ G).
X =  (F⊢G).

Jekejeke Пролог:

?- op(1100,xfx,⊢).
Yes

?- X = (F ⊢ G).
X = (F⊢G)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...