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

Sign in with Google

×

Use your Google Account to sign in to DeepAI

×

Consider DeepAI Pro