如何在Isabelle/HOL中使用"THE"语法?

How to use the "THE" syntax in Isabelle/HOL?

我正在尝试学习如何在 Isabelle/HOL (2020) 中使用 THE 语法。在教程main.pdf中,有:

The basic logic: x = y, True, False, ¬ P, P ∧ Q, P ∨ Q, P −→ Q, ∀ x. P,
∃ x. P, ∃!x. P, THE x. P.

其他的我都能看懂,就是最后一个“THE x.P”看不懂。我最好的猜测是“满足 属性 P 的(可能是唯一的)x”。所以我试着陈述一个玩具引理如下:

lemma "0 = THE x::nat. (x ≥ 0 ∧ x ≤ 0)"

,表示ge和le都为0的x为0。

但我在 Isabelle/jEdit 中遇到错误,突出显示“THE”字样。

我尝试用关键词Isabelle和“THE”进行搜索,但显然“THE”这个词被搜索引擎忽略了。因此这里的问题。

谁能帮忙解释一下“THE”语法的含义和用法,希望能用这里的例子?

您需要更多括号。

lemma "0 = (THE x::nat. (x ≥ 0 ∧ x ≤ 0))"
  (*the proof*)
  using theI[of ‹λx::nat. (x ≥ 0 ∧ x ≤ 0)› 0]
  by auto

SOME(resp. THE)是希尔伯特的 epsilon 运算符的(变体),returns 一个(the)元素尊重某个 属性。如果存在 none(none 或多个),则返回未指定的元素。

SOME 和 THE 不可执行。它们对初学者很少有用。