GTRecS(递归方案的游戏和类型)2:高阶递归方案的模型检查器和变换器

这是一个新版本的高阶模型检查器的Web界面,扩展了转换功能计算传感器输出的递归方案。新设计的基础模型检查算法工作良好(至少比以前的模型好checkers:)用于递归方案紧凑地表示大型有限树。高阶模型检查器的其他实现(TRecS公司小林的PPDP09论文中对此进行了描述GTrecS公司(如小林的FoSSaCS 11论文所述)。

GTrecS 2提供以下三个功能。

注:GTRecS2不擅长争议给定属性。因此,要决定一个属性(您不需要知道答案),通常,您需要准备两个自动机,一个表示属性,另一个表示属性的负值,并并行运行两个自动机的GTRecS2。在下面的示例中,所有自动机都表示递归模式满足的属性(这样就不需要对属性进行否定)。

在下面的框中输入递归方案和树自动机,选择功能,然后按“提交”按钮。下面给出了一些示例。更多示例可用在这里作为zip文件请注意,在此web界面上,只能测试小示例(因为超时设置为3秒)。如果您需要源代码,请联系Naoki Kobayashi。

TRecS是另一个基于类型的模型检查器版本在这里。


示例

下面给出了一些示例。(将零件从%BEGING剪切到%ENDA并粘贴到上面的框中。)

示例1(用于查询)

检查1024 Fibonacci单词是否包含“aa”作为子字符串。
%BEGING/***重写递归方案的规则。非终结符必须以大写字母开头***//***第一条规则的非终结符被解释为开始符号***//***无边界名称(本规则中的“a”、“b”)被解释为终端***/S=两次(两次(二次(二倍(二次,二次(两倍(两次,两次))))Fst b a))。两倍fk x y=f(fk)x y。接下来k x y=k y(Concat y x)。Fst x y=x e。混凝土x y c=x(y c)。%ENDG(结束)%BEGINA/***布其树自动机的转换规则***//*包含aa*/q0 a->q1./***第一个状态被解释为初始状态**/q0 b->q0。q1 b->q0。q1 a->q2。q2 a->q2。q2 b->q2。问题2 e->。%ENDA公司

示例2(用于查询)

检查第1024个斐波那契单词是否不包含“bb”作为子字符串。
%开始S=两次(两次(二次(二倍(二次))))Fst b a。两倍fk x y=f(fk)x y。接下来k x y=k y(Concat y x)。Fst x y=x e。混凝土x y c=x(y c)。%结束%贝吉纳/*不包含aaa*/q0 a->q0。q0 b->q1。q1 a->q0。q0 e->。问题1 e->。%ENDA公司

示例2'(用于查询)

检查第1024个斐波那契单词是否不包含“aaa”作为子字符串。
%开始S=两次(两次(两次(两次(两次(两次(两次(两次(两次(下一次两次))))))))Fst b a。两倍fk x y=f(fk)x y。接下来k x y=k y(Concat y x)。Fst x y=x e。混凝土x y c=x(y c)。%ENDG(结束)%贝吉纳/*不包含aaa*/q0 a->q1。q0 b->q0。q1 b->q0。q1 a->q2。q2 b->q0。q0 e->。问题1 e->。问题2 e->。%ENDA公司

示例3(用于转换)

将1024斐波那契单词中出现的每个“ab”替换为“bb”。(注意:您需要将以下规则添加到转换的输出中:
Taq1_q0 x=x。Tbq0_q0 x=b(x)。Taq1_q1 x=a(x)。Tbq0_q1 x=b(b(x))。Teq0=e。特征1=a(e)。
)
%乞求S=两次(两次(二次(二倍(二次,二次(两倍(两次,两次))))Fst b a))。两倍fk x y=f(fk)x y。接下来k x y=k y(Concat y x)。Fst x y=x e。混凝土x y c=x(y c)。%ENDG(结束)%贝吉纳/*用bb替换ab*/q0 a->q1./*ε*/q0 b->q0./*b*/q1 a->q1./*一个*/q1 b->q0./*英国广播公司*/q0 e->./*e(电子)*/问题1 e->./*(美国)*/%ENDA公司

示例4(用于查询)

检查DNA序列(由下面的递归方案表示)是否不包含“acgtac”作为子字符串。
%乞求S=X119(X45(X116(X80(X80)(X64(X41(X75 a)))(a(g(X111 a(c(X75 g(X79)t(X68 c(X20(X19 c(X112(X44(X99c(X66(克(X89(克(X20(X61(t)X79(a(X43(X86(X24 a(X78(X105吨(X42(X95吨(X37(X78)克(X112(X85(X18(X105(X65(X117(X114c(X92 t(g(X13(X117(X48 t(X95 c(X16(X12(X83 t(g(X6(X87(X60(X44(X111 c(X83 c(t)(X86(X36(X15(X87(t(X99 a(g(X102 ce) ))。X4x1x2x3=x1(x2x3)。X5 x y=X4 t x y。X6 x=X5 a x。X10 x 7 x 8 x 9=x8(x7 x 9)。X11 x y=X10 t x y。X12 x=X11 c x。X13 x=X5克x。X14 x y=X10 c x y。X15 x=X14克x。X16 x=X14 a x。X17 x y=X4 a x y。X18 x=X17 t x。X19 x=X17 a x。X20 x=X5 c x。X21 x y=X4 c x y。X24x22x23=g(x22(x22x23))。X28 x25 x26 x27=x25(x26(x25 x27))。X29 x y=X10 X13 x y。X30 x=X28 t c x。X31 x y=X28 c x y。X32 x=X31 c x。X33 x=X29 c x。X34 x y=X4 X16 x y。X35 x=X34 c x。X36 x=X29 a x。X37 x=X31 a x。X40 x38 x39=x38(x38(a x39))。X41 x y=X10 X16 x y。X42 x=X34 t x。X43 x=X41 t x。X44 x=X40 t x。X45 x=X40 c x。X48 x46 x47=c(x46(x46)(X6 x47))。X52 x 49 x 50 x 51=x49(x49(a(x50 x 51)))。X53 x y=X52 a x y。X54 x=X53 t x。X55 x y=X10 X45 x y。X56 x=X55 x。X59 x 57 x 58=x 57(c(X20 x 58))。X60 x=X53立方厘米x。X61 x=X52 c t x。X64 x62 x63=t(x62(X43(x62 x33)))。X65 x=X55克x。X66 x=X59 x。X68 x67 y=X24(X5 x67)y。X72 x69 x70 x71=x69(x70(X16(x69 x71)))。X75 x 73 x 74=c(X12(x73(x73)(c x 74)))。X76 x y=X72 c x y。X77 x=X68 a x。X78 x=X76 c x。X79 x=X76 a x。X80 x=X72 a c x。X83 x81 x82=克(X18(t(x81(x81)(X16 x82)))。X85 x 84=X44(X32 x 84)。X86 x=X31 X66 x。X87 x=X59 X61 x。X88 x=X31 X80 x。X89 x=X11 X85 x。X92 x 90 x 91=c(X56(x90(a(x90 x 91)))。X95 x 93 x 94=X43(x93(X56(c(x93 x 94)))。X99 x96 x98=X21 x96(X33(x96(x96)(t(X21 x96x98))))。X102 x 100 x 101=X6(x100(c(X54(g(x100 x 101))))。X105 x103 x104=X18(X45(x103(X32(X12 x104)))。X108×106×107=t(X66(X35(x106(t(x106×107))))。X111 x109 x110=X48 c(x109(X30(x109(a x110)))。X112 x=X55 X89 x。X114 x113=X89(X56 x113)。X116 x115=c(a(X92 c x115))。X117 x=X21 X114 x。X119 x118=c(X116(X88 x118))。%ENDG(结束)%贝吉纳q0 a->q1。q0 c->q0。q0 t->q0。q0克->q0。q1 a->q1。q1 c->q2。q1 t->q0。q1克->q0。q2 a->q1。q2 c->q0。q2 t->q3。q2克->q0。q3 a->q1。q3 c->q0。q3 t->q0。q3克->q4。问题4 a->问题5。q4 c->q0。q4 t->q0。q4克->q0。问题5 a->问题1。q5 c->q6。q5 t->q0。q5克->q0。问题6 a->问题6。q6 c->q6。q6 t->q6。q6克->q6。q0 e->。问题1 e->。q2 e->。问题3 e->。问题4 e->。问题5 e->。%ENDA公司

示例5(用于普通自动机模型检查)

检查斐波那契单词中是否没有包含“aaa”作为子字符串。
%开始S=纤维b a。Fib x0 x1=br(x0 e)(Fib x1(Concat x1 x0))。混凝土x y c=x(y c)。%ENDG(结束)%贝吉纳/*不包含aaa*/q0 br->q0 q0。q0 a->q1。q0 b->q0。q1 b->q0。q1 a->q2。q2 b->q0。q0 e->。问题1 e->。问题2 e->。%ENDA公司

示例6(用于查询)

通过以下公式定义L系统的第n个序列S(n):
S(0)=fS(n+1)=S(n)[+S(n
检查S(999)是否不包含“ff”作为子字符串。
%开始/*S(999)(以下编码使用999的二进制表示11111 00111)*/S=一(一(一)。步骤g z=g(lpar(加上(H g(lpard(减(H g z))))。零h g z=h(h(g))z。一个h g z=h(h(步骤g))z。H g z=g(rpar(g z))。%ENDG(结束)%贝吉纳/*不包含ff*/q0 f->q1。q0 lpar->q0。q0 rpar->q0。q0加->q0。q0减去->q0。q1 f->q2。q1 lpar->q0。q1 rpar->q0。q1加->q0。q1减->q0。q0 e->。问题1 e->。%恩达