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>"

用连字符替换下划线是文档生成的一项功能。连字符看起来比下划线更好(至少在模式上)。