Derived datasets can be defined implicitly or explicitly. An implicit definition (of dataset $O$ in terms of datasets $\vec{I}$) is a logical specification involving the source data $\vec{I}$ and the interface data $O$. It is a valid definition of $O$ in terms of $\vec{I}$, if any two models of the specification agreeing on $\vec{I}$ agree on $O$. In contrast, an explicit definition is a query that produces $O$ from $\vec{I}$. Variants of Beth's theorem state that one can convert implicit definitions to explicit ones. Further, this conversion can be done effectively given a proof witnessing implicit definability in a suitable proof system. We prove the analogous effective implicit-to-explicit result for nested relations: implicit definitions, given in the natural logic for nested relations, can be effectively converted to explicit definitions in the nested relational calculus NRC. As a consequence, we can effectively extract rewritings of NRC queries in terms of NRC views, given a proof witnessing that the query is determined by the views.
翻译:衍生数据集可以隐含或明确定义。 隐含的定义( 以数据集计的数据集$O$$ $\vec{I}$) 是一个逻辑规格, 包括源数据$\vec{I}$和界面数据$O$。 如果就$@vec{I}美元达成一致的两种规格模式中的任何两种模式都同意美元, 则该定义可以隐含或明确定义。 与之相反, 一个明确的定义是一个查询, 其产生美元为$\vec{I}$。 Beth 的变量指出, 可以将隐含定义转换为明确定义。 此外, 如果证明在适当的验证系统中存在隐含的可定义, 则这种转换可以有效进行。 我们证明嵌套关系具有类似的隐含或隐含效果: 隐含的定义, 在嵌巢关系自然逻辑中给出的隐含定义, 能够有效地转换为嵌套关系缩缩缩缩写 NRC 观点中的NRC 查询, 通过验证被设定的观点。