以下错误消息的原因可能是:
Pending sort hypotheses: trelations
下面,
trelations是一种类型
在通过矛盾证明子目标集合时会生成错误。子目标的形式为:" premise1 ==> premise2 ==>假"
证明状态说"没有子目标!",但是。
关系的假设与我一致(https://lists.cam.ac.uk/pipermail/cl-isabelle-users/2012-July/msg00023.html)
感谢。
答案 0 :(得分:1)
错误的产生是因为Isabelle无法确定您的假设是否一致。这是一个人为的例子(来自Brian Huffman):
class impossible =
assumes impossible: "∃x. x ≠ x"
lemma False: "False"
proof -
obtain x :: "'a::impossible" where "x ≠ x"
using impossible ..
then show "False" by simp
qed
显然,系统必须拒绝此证明,因为impossible
排序为空。被拒绝的技术原因是系统不知道impossible
的任何实例。
有两种方法可以防止这种情况发生:
SORT_CONSTRAINT('a::trelations)
。当您使用引理时(一旦您在某处注册了实例),它就会自动释放。