如何用伊莎贝尔写ARG_MIN
How to write ARG_MIN in Isabelle
我正在尝试将 Isabelle (2020) 中的以下 arg_min
表达式重写为更方便的 ARG_MIN 语法。
lemma "1 = arg_min (λ(x::int). x*x) ((<) 0)"
我目前拥有的是:
lemma "1 = (ARG_MIN ((x::int)*x). 0 < x)"
但它给我一个“内部语法错误”。
我只是想知道使用上面的 ARG_MIN 的正确方法是什么。
查看 ARG_MIN 的语法翻译(通过 C 键单击 arg_min 找到,然后查看该定义后的几行):
translations
"ARG_MIN f x. P" ⇌ "CONST arg_min f (λx. P)"
你想要arg_min (λ(x::int). x*x) (λx. x < 0)
。因此匹配 P、x 和 f 是什么,表示法变为:
ARG_MIN (λ(x::int). x*x) x. (x < 0)
我正在尝试将 Isabelle (2020) 中的以下 arg_min
表达式重写为更方便的 ARG_MIN 语法。
lemma "1 = arg_min (λ(x::int). x*x) ((<) 0)"
我目前拥有的是:
lemma "1 = (ARG_MIN ((x::int)*x). 0 < x)"
但它给我一个“内部语法错误”。
我只是想知道使用上面的 ARG_MIN 的正确方法是什么。
查看 ARG_MIN 的语法翻译(通过 C 键单击 arg_min 找到,然后查看该定义后的几行):
translations
"ARG_MIN f x. P" ⇌ "CONST arg_min f (λx. P)"
你想要arg_min (λ(x::int). x*x) (λx. x < 0)
。因此匹配 P、x 和 f 是什么,表示法变为:
ARG_MIN (λ(x::int). x*x) x. (x < 0)