Parsing 区域设置定义生成两个解析树
以下是我在Isabelle中的简单语言环境定义:Parsing 区域设置定义生成两个解析树,parsing,isabelle,Parsing,Isabelle,以下是我在Isabelle中的简单语言环境定义: locale sig = fixes le:: "'a ⇒ 'a ⇒ bool" (infixl "≤" 50) assumes refl: "x ≤ x" 现在,我收到一条错误消息: Ambiguous input⌂ produces 2 parse trees: ("\<^const>HOL.Trueprop" ("\&
locale sig =
fixes le:: "'a ⇒ 'a ⇒ bool" (infixl "≤" 50)
assumes refl: "x ≤ x"
现在,我收到一条错误消息:
Ambiguous input⌂ produces 2 parse trees:
("\<^const>HOL.Trueprop"
("\<^const>Orderings.ord_class.less_eq" ("_position" x) ("_position" x)))
("\<^const>HOL.Trueprop" ("\<^fixed>le" ("_position" x) ("_position" x)))
Ambiguous input
2 terms are type correct:
(x ≤ x)
(x ≤ x)
Failed to parse prop
我是否与内置的less或equal运算符存在冲突
如何解决此问题?≤ 运算符是在ord typeclass中定义的,因此您可以扩展该类:
class sig = ord +
assumes refl: "x ≤ x"
其他备选方案:
不要导入ord的定义
隐藏没有符号顺序的现有符号。ord\u class.less\u eq\u0/≤ _ [51,51]50见
使用不同的名称或符号
≤ 运算符是在ord typeclass中定义的,因此您可以扩展该类:
class sig = ord +
assumes refl: "x ≤ x"
其他备选方案:
不要导入ord的定义
隐藏没有符号顺序的现有符号。ord\u class.less\u eq\u0/≤ _ [51,51]50见
使用不同的名称或符号