Non-deterministic languages to express deterministic transformations

The use of non-deterministic database languages is motivated using pragmatic and theoretical considerations. It is shown that non-determinism resolves some difficulties concerning the expressive power of deterministic languages: there are non-deterministic languages expressing low complexity classes of queries/updates, whereas no such deterministic languages exist. Various mechanisms yielding non-determinism are reviewed. The focus is on two closely related families of non-deterministic languages. The first consists of extensions of Datalog with negations in bodies and/or heads of rules, with non-deterministic fixpoint semantics. The second consists of non-deterministic extensions of first-order logic and fixpoint logics, using the witness operator. The ability of the various non-deterministic languages to express deterministic transformation is characterized. In particular, non-deterministic languages expressing exactly the queries/updates computable in polynomial time are exhibited, whereas it is conjectured that no analogous deterministic language exists. The connection between non-deterministic languages and determinism is also explored. Several problems of practical interest are examined, such as checking (statically or dynamically) if a given program is deterministic, detecting coincidence of deterministic and non-deterministic semantics, and verifying termination for non-deterministic programs.

[1]  Moshe Y. Vardi,et al.  The Implication Problem for Functional and Inclusion Dependencies is Undecidable , 1985, SIAM J. Comput..

[2]  Neil Immerman,et al.  Relational Queries Computable in Polynomial Time , 1986, Inf. Control..

[3]  Saharon Shelah,et al.  Fixed-Point Extensions of First-Order Logic , 1985, FOCS.

[4]  Jeffrey D. Ullman,et al.  Principles of Database and Knowledge-Base Systems, Volume II , 1988, Principles of computer science series.

[5]  David Harel,et al.  Computable Queries for Relational Data Bases , 1980, J. Comput. Syst. Sci..

[6]  Serge Abiteboul,et al.  Update Semantics for Incomplete Databases , 1985, VLDB.

[7]  Eric Simon,et al.  Deciding Whether a Production Rule is Relational Computable , 1988, ICDT.

[8]  Tomasz Imielinski,et al.  Incomplete Information in Relational Databases , 1984, JACM.

[9]  Eric Simon,et al.  Modelling Non Deterministic Queries and Updates in Deductive Databases , 1988, VLDB.

[10]  A. Leisenring Mathematical logic and Hilbert's ε-symbol , 1971 .

[11]  Neil Immerman,et al.  Languages that Capture Complexity Classes , 1987, SIAM J. Comput..

[12]  Ronald Fagin Generalized first-order spectra, and polynomial. time recognizable sets , 1974 .

[13]  Shamim A. Naqvi,et al.  A Logical Language for Data and Knowledge Bases , 1989 .

[14]  Serge Abiteboul,et al.  Data functions, datalog and negation , 1988, SIGMOD '88.

[15]  Saharon Shelah,et al.  Fixed-point extensions of first-order logic , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[16]  Serge Abiteboul,et al.  Fundamental Properties of Deterministic and Nondeterministic Extensions of Datalog , 1991, Theor. Comput. Sci..

[17]  Ashok K. Chandra Programming primitives for database languages , 1981, POPL '81.

[18]  Johan de Kleer,et al.  An Assumption-Based TMS , 1987, Artif. Intell..

[19]  Oded Shmueli,et al.  Decidability and expressiveness aspects of logic queries , 1987, XP7.52 Workshop on Database Theory.

[20]  Jeffrey D. Uuman Principles of database and knowledge- base systems , 1989 .

[21]  Neil Immerman Languages which capture complexity classes , 1983, STOC '83.

[22]  Yehoshua Sagiv,et al.  Optimizing datalog programs , 1987, Foundations of Deductive Databases and Logic Programming..

[23]  S. Abiteboul,et al.  Fixpoint extensions of first-order logic and datalog-like languages , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[24]  Moshe Y. Vardi The complexity of relational query languages (Extended Abstract) , 1982, STOC '82.

[25]  Jamie K. Wolff,et al.  P4 , 1987 .