Synthesizing Nested Relational Queries from Implicit Specifications

Abstract

Derived datasets can be defined implicitly or explicitly. An implicit definition (of dataset OO in terms of datasets I⃗\vec{I}) is a logical specification involving the source data I⃗\vec{I} and the interface data OO. It is a valid definition of OO in terms of I⃗\vec{I}, if any two models of the specification agreeing on I⃗\vec{I} agree on OO. In contrast, an explicit definition is a query that produces OO from I⃗\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

    Similar works

    Full text

    thumbnail-image

    Available Versions