使自动终止证明使用不同尺寸的功能

时间:2015-04-09 09:22:16

标签: isabelle termination

我为自己的数据类型编写了自定义大小函数size2。使用此功能,我可以手动证明我的功能终止:

termination 
apply (relation "measure (λ(a,b,c). size2 c)")
apply auto
done

有没有办法让fun使用我的替代尺寸功能进行自动终止证明?

1 个答案:

答案 0 :(得分:4)

通过使用属性f声明引理is_measure f,可以将函数measure_function注册为终止证明器的度量函数。在您的情况下,这看起来如下。

lemma is_measure_size2 [measure_function]: "is_measure size2" ..

然后,lexicographic_orderfun使用,size_change尝试size2