Isabelle:mixfix 注释中的优先级太多
Isabelle: Too many precedences in mixfix annotation
我正在 Isabelle 教程 (2020),pp6 中试验以下示例 classes.pdf。
我尽力将PDF内容翻译成校对文本,例如将PDF中的α
改为'a
、加引号等
class group = monoidl +
fixes inverse :: "'a ⇒ 'a" ("(-÷)" [1000] 999)
assumes invl : "x ÷ ⊗ x = "
但是上面的定义还是解析不出来,报错:
Too many precedences in mixfix annotation
我不确定应该如何声明逆符号。到目前为止,我只遇到过中缀表示法。
有人可以帮助解释如何修复示例中的“mixfix”注释吗?
根据Isabelle sources of the document,是下划线,不是连字符:
class group = monoidl +
fixes inverse :: "\<alpha> \<Rightarrow> \<alpha>" ("(_\<div>)" [1000] 999)
assumes invl: "x\<div> \<otimes> x = \<one>"
用连字符替换下划线是文档生成的一项功能。连字符看起来比下划线更好(至少在模式上)。
我正在 Isabelle 教程 (2020),pp6 中试验以下示例 classes.pdf。
我尽力将PDF内容翻译成校对文本,例如将PDF中的α
改为'a
、加引号等
class group = monoidl +
fixes inverse :: "'a ⇒ 'a" ("(-÷)" [1000] 999)
assumes invl : "x ÷ ⊗ x = "
但是上面的定义还是解析不出来,报错:
Too many precedences in mixfix annotation
我不确定应该如何声明逆符号。到目前为止,我只遇到过中缀表示法。
有人可以帮助解释如何修复示例中的“mixfix”注释吗?
根据Isabelle sources of the document,是下划线,不是连字符:
class group = monoidl +
fixes inverse :: "\<alpha> \<Rightarrow> \<alpha>" ("(_\<div>)" [1000] 999)
assumes invl: "x\<div> \<otimes> x = \<one>"
用连字符替换下划线是文档生成的一项功能。连字符看起来比下划线更好(至少在模式上)。