Unicode символы не для Proof-general при написании Coq - PullRequest
2 голосов
/ 23 апреля 2020

Я использую Coq 8.11 в Ubuntu с Proof-general. Я пишу:

Lta c example1: = fail.

и успешно. Скажем, я хочу использовать символы Unicode:

Proof-General -> Display -> Quick Options -> Unicode Tokens

, затем я пишу снова:

Lta c example2 ≔ не удалось.

и ошибка с ошибкой:

Ошибка: синтаксическая ошибка: Lexer: неопределенный токен

Так что я go в некотором редакторе и напишите последовательность ": =" и скопируйте и вставьте ее во время записи:

Lta c example3: = fail.

К счастью, я снова добился успеха.


Выше приведено много символов, о которых вы можете подумать | -, / \, /, et c.

Как мне решить эту проблему?

1 Ответ

1 голос
/ 24 апреля 2020

Таким образом, существует разница между отображением токенов Unicode и распознаванием токенов Unicode в качестве входных данных.

Отображение токенов Unicode работает как своего рода визуальная лигатура, в то время как основной текст остается ASCII. Это означает, что вы набираете :=, и редактор отображает , но если вы откроете с помощью другого редактора, вы все равно увидите :=.

Теперь, если вы хотите использовать Юникодные токены в вашем коде, вы можете, но вам нужно сообщить процессу Coq, что вы делаете это, импортировав модуль Unicode.Utf8:

From Coq Require Import Unicode.Utf8.
...