Isabelle 的集合运算符 (') :: ('a => 'b) => 'a => 'b 集合中的主要符号是什么?

What is the main symbol in Isabelle's set operator (‘) :: ('a => 'b) => 'a set => 'b set?

我想知道下面伊莎贝尔教程 main.pdf 中的符号 是什么(在“设置”部分下)?

(‘)  :: ('a => 'b) => 'a set => 'b set 

通过查看符号选项卡,我能找到形状最接近的是“未排序”类别下的 \<acute>。我试图评估以下表达式,但它没有解析:

value "´ (λ(n::nat). n+1) {1,2}"

value "(λ(n::nat). n+1) ´ {1,2}"

谁能帮忙解释一下这里的用法和作用?

我认为您要查找的符号是 `,而不是 ‘ 或 ´。符号 ` 是常量 image 的中缀符号,在 Isabelle/HOL 的主库中理论上定义了 Set.thy。希望常量的名称是不言自明的。为了完整起见,我重申这个答案中的定义:

definition image :: "('a ⇒ 'b) ⇒ 'a set ⇒ 'b set"    (infixr "`" 90)
  where "f ` A = {y. ∃x∈A. y = f x}"

因此,

value "(λ(n::nat). n+1) ` {1,2}"

如预期的那样评估为 "{2, 3}" :: "nat set"