在过渡系统上有限运行
Finite runs on a transition system
我想写一个谓词来声明转换系统不能从状态 s 无限运行。所以考虑过渡系统是由R给出的,那么我得出的定义是:
inductive finite_runs for R where
"(∀ s'. R s s' ⟶ finite_runs R s') ⟹ finite_runs R s"
这是我在 Isabelle 中陈述这个事实的最简单方式吗?特别是,我浏览了形式证明档案(重写和标记的转换理论)但没有找到更简单的解决方案。
如果你的意思是有限运行意味着不存在无限运行,那么你可以使用 AFP-entry Abstract-Rewriting 的 strong-normalization-on predicate SN_on
。但是你的定义允许也像
一样运行
a -> a -> a -> ...
SN_on
.
不允许
标准库中有Wellfounded.termip
。我认为它应该完全符合您的要求。
它基本上是使用 Wellfounded.accp
的缩写,它做同样的事情,但“向后”。
我想写一个谓词来声明转换系统不能从状态 s 无限运行。所以考虑过渡系统是由R给出的,那么我得出的定义是:
inductive finite_runs for R where
"(∀ s'. R s s' ⟶ finite_runs R s') ⟹ finite_runs R s"
这是我在 Isabelle 中陈述这个事实的最简单方式吗?特别是,我浏览了形式证明档案(重写和标记的转换理论)但没有找到更简单的解决方案。
如果你的意思是有限运行意味着不存在无限运行,那么你可以使用 AFP-entry Abstract-Rewriting 的 strong-normalization-on predicate SN_on
。但是你的定义允许也像
a -> a -> a -> ...
SN_on
.
标准库中有Wellfounded.termip
。我认为它应该完全符合您的要求。
它基本上是使用 Wellfounded.accp
的缩写,它做同样的事情,但“向后”。