【发布时间】:2015-10-25 14:18:03
【问题描述】:
我正在尝试为一种语言准备语义。一些推导可能会导致“卡住”状态。我想做一个测试,某个术语不能被简化为“卡住”状态。是否有可能使用test-->E 之类的东西来表示它?
【问题讨论】:
-
是的,如果您的语法中有明确的卡住术语,您可以使用
test-->E。test-->E是否有一些你无法工作的具体问题?显然,如果您给test-->E一个非终止程序,您的测试将不会完成,除非您将测试限制在有限的步骤中。 -
实际上我正在尝试进行测试,以证明
stuck状态没有派生。是的,我有明确的术语。没关系,如果解决方案仅适用于终止程序。但我认为它也应该适用于 Redex 可以找到固定点的程序。说到test-->E,我想要test-->notE之类的东西。 -
另外我应该补充一点,我的语义是非确定性的,所以在这种情况下使用
test-->>并列出所有非卡住状态是很痛苦的。 -
我也有点错误:在上述所有情况下,您都应该将
-->读作-->>。 -
如果假设终止没问题,那么为了测试减少没有卡住,你可以检查它是否减少到一个值?