Synthesizing Nested Relational Queries from Implicit Specifications

09/17/2022
by   Michael Benedikt, et al.
0

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

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset