Confluence in Lens Synthesis

user-5aceb7ef530c7001b97ba534(2020)

引用 0|浏览43
暂无评分
摘要
A lens is a program that can be executed both forwards and backwards, from input to output and from output back to input again. Domain-specific languages for defining lenses have been developed to help users synchronize text files, and construct different “views” of databases, among other applications. Recent research has shown how string lenses can be synthesized from their types, which are pairs of regular expressions. However, guaranteeing that we can synthesize all possible lenses is quite tricky on these languages, due in large part to the many equivalences on regular expressions. The proof that all string lenses are synthesizeable involves proving a confluence-like property, parameterized by a an additional binary relation R. We call this property Rconfluence. In this model, standard confluence is the specific case where R is equality. In this paper, we show how existing techniques for demonstrating confluence do not work in the domain of R-confluence, and find that if the rewrite system is =-confluent and satisfies a commutativity property with R, then the system is R-confluent.
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要