构建无拷贝流式字符串转换器
摘要:流式字符串转换器(SST)通过在一个从左到右的单遍扫描中读取输入并在一个有限集合的字符串变量中维护潜在输出的片段来实现字符串到字符串的转换。这些变量在转换器的过渡中得到更新,可以被重新赋值为变量和符号的连接。如果每次更新都不对变量进行多次复制,那么SST被称为无复制(copyless)的。限制为字符串到字符串重写时,无复制的SST可以捕获Courcelle的单调二阶可定义图变换(MSOT)。已知通过添加非确定性将无复制的SST扩展等价于MSOT的非确定性变体。 确定性和非确定性的MSOT都闭于合成。由于MSOT和无复制的SST是等价的,很容易看出无复制的SST也是闭于合成的。然而,这个事实的原始证明是基于直接构造来从两个给定的无复制SST生成一个复合无复制SST。Joost Englefriet发现的一个反例表明,这种构造可能会生成有复制的转换器。我们重新审视了确定性和非确定性SST的原始合成构造,并证明,虽然它们可能引入有复制的更新,但它们表现出的有复制行为是表面的,并且由我们称之为"无菱形(diamond-free)"的属性所特征化:变量的两个副本永远不会合并。为了恢复原始构造的修改版本,我们提供了一种从任何无菱形有复制NSST生成等价无复制NSST的方法。
作者:Rajeev Alur and Taylor Dohmen and Ashutosh Trivedi
论文ID:2209.05448
分类:Formal Languages and Automata Theory
分类简称:cs.FL
提交时间:2022-09-13