伊莎贝尔是否有限地生成了归纳定义?

时间:2018-04-04 11:39:27

标签: math definition isabelle induction

Peter Aczel的经典论文“归纳定义导论”

https://www.sciencedirect.com/science/article/pii/S0049237X08711200

在归纳定义中说,

  

规则是一对(X,x),其中X是一个集合,称为 premisses 的集合,x是结论。规则通常写成X-> x。

现在,这并没有说明集合X的有限性。

直到我的记忆,实际的验证任务只涉及有限前提集Xs,如

的反身和传递闭包。

https://isabelle.in.tum.de/dist/Isabelle2017/doc/tutorial.pdf#page=124

我有两个相关的问题:

  1. Isabelle有可能使用无限的前提吗?

  2. 如果是,是否有实际的例子?

1 个答案:

答案 0 :(得分:3)

是的,它必须是有限的。你怎么会写下一套无限的规则?

当然,你拥有HOL的所有表现力,所以你可以写出像'∀x这样的东西。 fx≤f(x + 1)',它在某种意义上对应于无限多个子句'f0≤f1','f1≤f2'等,但这仍然只是一个假设。

编辑:在回复你的评论时,你可以像这样在Isabelle中捕获这个例子(如果我理解正确的话)

inductive acc :: "('a ⇒ 'a ⇒ bool) ⇒ 'a ⇒ bool" for lt where
  "(⋀x. lt x a ⟹ acc lt x) ⟹ acc lt a"

此处,lt代表“小于”并代表某种关系。这实际上与Isabelle / HOL中的Wellfounded.acc理论中的Wellfounded(如“可访问部分”中所做的那样)以及如何定义。这可能是一个稍微好一点的演示:

context
  fixes lt :: "'a ⇒ 'a ⇒ bool" (infix "≺" 50)
begin

inductive acc :: "'a ⇒ bool" where
  "(⋀x. x ≺ a ⟹ acc x) ⟹ acc a"

end

我只浏览了你所链接的文章,但在我看来,他所讨论的内容并不比伊莎贝尔的归纳谓词更为普遍。在我看来,他提供了一种定义归纳谓词P的方法,它采用单个参数,并且所有生产规则必须采用(∀x∈A(a). P(x)) ⟹ P(a)形式。这可以很容易地在Isabelle中建模,如上所示。