Чтобы использовать текст в том виде, в котором он написан на странице, на которую вы ссылаетесь, вам необходимо импортировать некоторые записи. В частности, ∀
и →
не существуют по умолчанию. Для импорта этих обозначений используйте Require Import Utf8.
Require Import Utf8.
Theorem plus_id_example : ∀n m:nat,
n = m →
n + n = m + m.
ASCII-эквивалентами этих обозначений являются forall
для ∀
(как вы выяснили) и ->
для →
. Если у вас есть импортированные нотации, вы можете увидеть, что они обозначают Locate
. Locate "→".
будет иметь выход
Notation
"x → y" := forall _ : x, y : type_scope
(default interpretation)
Конечно, это не дает нам ->
, поскольку ->
само по себе является обозначением для того же самого. Coq отобразит эту запись по умолчанию, поэтому, если вы введете
Theorem plus_id_example : forall n m : nat,
forall _ : n = m,
n + n = m + m.
(без импорта Utf8
), вывод
1 subgoal
______________________________________(1/1)
forall n m : nat, n = m -> n + n = m + m
, который использует обозначение ->
.