Isabelle 如何在《伊莎贝尔》中写ARG_MIN

Isabelle 如何在《伊莎贝尔》中写ARG_MIN,isabelle,Isabelle,我正在尝试将以下Isabelle(2020)中的arg_min表达式重新编写为更方便的arg_min语法 lemma "1 = arg_min (λ(x::int). x*x) ((<) 0)" lemma“1=arg_min(λ(x::int).x*x)((查看arg_min的语法翻译(通过点击arg_min找到,并查看该定义后面的几行): 你想要有arg_min(λ(x::int).x*x)(λx.x

我正在尝试将以下Isabelle(2020)中的
arg_min
表达式重新编写为更方便的arg_min语法

lemma "1 = arg_min (λ(x::int). x*x) ((<) 0)"

lemma“1=arg_min(λ(x::int).x*x)((查看arg_min的语法翻译(通过点击arg_min找到,并查看该定义后面的几行):

你想要有
arg_min(λ(x::int).x*x)(λx.x<0)
。因此,匹配p、x和f,符号变成:

ARG_MIN (λ(x::int). x*x) x. (x < 0)
ARG_MIN(λ(x::int).x*x)x.(x<0)

Urgh,这种语法太可怕了。我想在接下来的几个月里,我会把它改成更美味的,也许是
ARG\u MIN x∈A.f x
或者在本例中是
ARG_MIN x | x<0.x*x
。请执行!语法没有给我任何关于这里发生的事情的直觉。(但我无论如何都不会使用这些东西)。
translations
  "ARG_MIN f x. P" ⇌ "CONST arg_min f (λx. P)"
ARG_MIN (λ(x::int). x*x) x. (x < 0)