等待排序的假设

时间:2016-03-09 08:53:44

标签: isabelle

以下错误消息的原因可能是:

Pending sort hypotheses: trelations

下面,

感谢。

1 个答案:

答案 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的任何实例。

有两种方法可以防止这种情况发生:

  1. 在对课程进行任何校对之前,请注册实例。
  2. 添加"排序约束"作为你的引理的假设:SORT_CONSTRAINT('a::trelations)。当您使用引理时(一旦您在某处注册了实例),它就会自动释放。