Skip to main content
Top

2013 | OriginalPaper | Chapter

6. The Deductive Spreadsheet

Author : Iliano Cervesato

Published in: The Deductive Spreadsheet

Publisher: Springer Berlin Heidelberg

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

This chapter defines the deductive spreadsheet proper by adding recursion to the logical interpretation provided in Chap.​ 5, hence turning it into a constrained form of Datalog with negation. This step provides a substantial boost in expressiveness while requiring only small theoretical adjustments. It also enables further extensions, notably the ability to weave simple lists into the language. The added deductive power, which includes inferential closure, hypothetical reasoning and some form of aggregation, is illustrated by way of examples.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Footnotes
1
It should be noted that this problem can also be solved in a purely functional manner by relying on the extended array operators \(\vec{\sigma }\) and \(\vec{\pi }\) introduced in Chap.​ 4. A purely clausal solution is also possible, but requires further extensions to our language. It will be examined in Sect. 6.5.
 
2
It should be noted that the appellation semi-naïve evaluation is usually reserved for the technique we are about to present, which reaps benefits only for recursive definitions, rather than the general approach we have been developing (which will include this technique as a subroutine). We justify broadening the use of this terminology by the fact that our previous efforts are in the same spirit as this better recognized but also more specialized application.
 
3
To be fully precise, the theoretical expressiveness will remain the same as in our current language, but in the majority of circumstances it will provide the illusion of a language with unrestricted head constraints.
 
4
In the above examples, the syntax [_ | _] is also used as a destructor in the conjunct L ′ = [Y | L ′]: it does not construct L ′ by combining Y and L ′, but instead checks that the first element of L ′ is Y. While such traditional usage of the list constructor has a simple formalization based on pattern-matching, an approach more in line with our language would introduce an operation, head, which returns the first element of its argument and express this constraint as Y = head(L ′).
 
6
This simple but rather stringent restriction could be loosened by performing a form of dataflow analysis known as mode checking [DW88; Sar10]. In order for a clause to be acceptable, the mode analysis shall certify that X can always be instantiated before attempting to solve the embedded implication.
 
7
This influential paper identifies the notion of stratification as an effective approach to embedding negation in logic programming, both computationally and cognitively. It develops its general theory and fixpoint semantics, and specializes SLD-resolution to it.
 
8
This paper develops the characterization of the model semantics of logic programs consisting of Horn clauses (i.e., pure Prolog) as the least fixpoint of a continuous operator. It also observes that some forms of finite-failure (but not all) correspond to its greatest fixpoint.
 
9
This paper describes Forms/3, a conservative extension of the traditional spreadsheet with procedural abstractions such as recursion, data abstractions such as graphical values, and graphic time-based output. As it does so, it strives to maintain the usability characteristics that have made the spreadsheet popular with end-users.
 
10
This dissertation explores a principled way to extend deductive databases with hypothetical reasoning. It does so by allowing the body of a clause to mention “embedded clauses”. This adds significantly to the expressive power of the language, a fact that is thoroughly analyzed in the context of complexity theory. The model theory of this extension is investigated in [BM90] while the key insight was already present in [BMV89].
 
11
This paper develops the author’s dissertation [Bon91] by focusing on forms of hypothetical reasoning that only add temporary facts in a deductive database and create new constants dynamically. It explores its proof-theory, its model theory, and the computational complexity of the extended language.
 
12
This expanded version of [CGT89] is an excellent survey with some in-depth analysis of important concepts, in particular semantics, optimizations and the interface with actual databases. It covers the experimental deductive database system of the time at length.
 
13
This paper provides a detailed classification of the expressive powers of various fragments of relational algebra and (extensions of) Datalog. It is particularly concerned with how different forms of negation impact expressiveness.
 
14
This is the original article on negation-as-failure.
 
15
This book is a classic introductory text to Prolog. Generations of students have relied on it to learn logic programming to build applied programs.
 
16
This technical report is widely considered to be the first mention on what was to become Prolog. Its original application was the processing of natural language (French, to be precise).
 
17
This book is one of the best introductory accounts of what can be done with a deductive database. Specifically, it explores in great depth problems that combine large sets of data and require a truly deductive form of inference, above and beyond what the relational data model has to offer. It targets people who will be using a deductive database as a tool more than students interested in the underlying theory.
 
18
This paper describes a method for automatically determining correct input/output mode declarations in a Prolog program. This permits us to specialize the operational interpretation of a program, thereby achieving greater efficiency.
 
19
This is a classic paper on the foundations of logic programming. It defines top-down evaluation and the fixpoint semantics, and relates them to proof- and model-theory respectively.
 
20
This paper considers an extension of a logical language for deductive databases with embedded implication based on [Mil89]. It explores implicational stratification of programs, a model-theoretic semantics, and a fixpoint semantics, but limits the antecedent of embedded implications to universally closed formulas. In particular, there is no sharing of variables with the parent clause.
 
21
This article contains an in-depth discussion of the semi-naïve strategy.
 
22
This collection contains many of the very first papers on using logic programming in the context of data- and knowledge-bases. The seminal work on the closed world assumption and negation-as-failure first appeared in it.
 
23
This paper proposes a precise model of the run-time of a logic program that supports using logic programs for studying the execution time of algorithms.
 
24
This is an early proposal to use theorem proving for problem solving.
 
25
This paper develops the proof-theory of negation-as-failure for hereditary Harrop formulas, whose body formulas admit embedded clauses. To this effect, it defines a proof theory for non-derivability in intuitionistic logic.
 
26
This is the original paper on constraint logic programming, a paradigm that seamlessly incorporates constraints over generic domains within logic programming in the style of Prolog. The result is a family of languages, one for each specific domain and accompanying constraint-solving procedures, that retain the declarative nature of logic for programming purposes, but specializes it to domains of interest in a natural way.
 
27
This paper surveys the foundations, applications and developments of constraint logic programming since its inception in [JL87].
 
28
This paper proposes an approach to representing and retrieving data in a database that stores information not as facts (or tuples), but as a conjunction of simple constraints over a given domain. This is especially useful for applications, such as geographic databases, where objects of interest are naturally expressed as constraints, spatial constraints in this case.
 
29
This collection surveys the then-nascent field of constraint databases, with contributions by many of it pioneers. Constraint databases rely on constraints to describe some types of data, for example temporal or spatial data, and to draw inferences from them in an efficient way.
 
30
This classic book investigates the application of logic to problem solving and computer programming using Prolog.
 
31
This work refines [Kri82] and implements its design as a system called LogiCalc. Its initial goal was to “reconstruct logically, in micro-Prolog, a typical spreadsheet program”. Besides capturing most of the functionalities of early spreadsheets, it provides powerful extensions such as relational manipulations, integrity constraints, bidirectional variables, symbolic reasoning, and complex objects (e.g., lists, graphics and spreadsheets themselves). It is based on the limited teletype interface that predated the widespread availability of graphical user interfaces with windows. LogiCalc relies a lot on user input, even for non-essential tasks.
 
32
This paper models the propagation of the assertion of new facts or the retraction of old facts in the Datalog system by means of inference in linear logic. To this effect, it translates Datalog clauses into linear logic formulas that also contain specifications about how to propagate updates.
 
33
This is the classical textbook on the theory of logic programming: it collects and unifies results on SLD-resolution, unification, model and fixpoint semantics, negation-as-failure, that had appeared in separate papers. It does not consider any of the recent proof-theoretic developments, but it is a valuable reference. As such, it has been used by generations of students and scholars of logic programming.
 
34
This paper shows how Datalog can fruitfully be used to specify access control and trust management policies in order to decide authorization and access in a distributed system of computers. To this effect, it extends Datalog with constraints over signed messages. The paper explores the theoretical properties of the resulting language and relates it to other authorization and trust management languages.
 
35
This paper examines proof irrelevance, a mechanism for selectively hiding the identities of terms in type theories, and relates it to refinement types, a powerful approach to classify terms.
 
36
This paper describes a method for transforming a Datalog program into an efficient specialized implementation with guaranteed worst-case time and space complexities. The transformation exploits fixed-point computation, incremental maintenance of invariants, and combinations of indexed and linked data structures.
 
37
This paper describes a method for computing run-time complexity bounds for Datalog programs. More generally, it shows that specifying an algorithm using Datalog is beneficial for reasoning about its complexity.
 
38
This is another good textbook on mathematical logic. It is notable for its breadth of topics.
 
39
This paper explores the theory and application of a general language of Horn clauses augmented with embedded implication and quantification (hereditary Harrop formulas), which goes well beyond Datalog. It studies its proof theory, model theory and fixpoint semantics in an intuitionistic setting. It shows how embedded clauses provide a foundational justification for parametric modules in logic programming.
 
40
This book collects original articles by the main players of the then-nascent and very fertile field of deductive databases. It grew out of a workshop by the same title held in Washington, DC the year before.
 
41
This now classic paper was the first to establish top-down logic programming on solid proof-theoretic grounds. The methodology it embraced, based on the notion of uniform proofs, identified fragments of logic larger than Prolog’s Horn clauses that could be used for programming. Specifically, it shows that hereditary Harrop formulas, which extend Horn clauses with embedded implication, fit into this pattern, and so do higher-order variants of both languages.
 
42
This paper explores an efficient asynchronous algorithm to incrementally compute the changes to the states of a distributed Datalog system, as proposed in some network protocols and multi-agent systems, in response to the insertions and deletions of base facts.
 
43
This classic textbook focuses on advanced programming techniques in Prolog as well as on universal programming notions such as elegance and understanding a problem before starting to write code. It is best read after [CM87] or [SS94].
 
44
This paper describes the Elf system, which provides a type-checker, type-reconstruction support, and top-down execution in the style of Prolog to the LF type theory.
 
45
This volume brings together the principal approaches to weaving types in logic programming. Essays within describe specific techniques but also emphasize the overall benefits of types, including reduced error rates, support for modularity, and compilation assistance.
 
46
This is the original paper on local stratification.
 
47
This paper describes Twelf, a reimplementation of the Elf system [Pfe89] extended with theorem-proving capabilities for specifications written in the LF type theory.
 
48
This classic paper sets the foundations of theorem proving and introduces the resolution principle, which is one of the tenets of top-down evaluation in logic programming.
 
49
This paper reviews the state of the art of bottom-up evaluation and proposes a transformation on Datalog programs to speed up that semi-naïve evaluation. It also discusses extensions to negation, set terms, constraints and quantitative reasoning. Comparisons with numerous systems are included.
 
50
This thesis examines in great detail, among other things, mode-checking and termination in the Twelf system, which embeds a higher-order logic programming language with a top-down execution semantics.
 
51
This work proposes to combine logic programming and spreadsheets under the umbrella of the PERPLEX system. It does so by making heavy use of integrity constraints in a way that is clearly expressive, but likely to be unnatural for an entry-level user. PERPLEX supports exploratory programming and the paradigm of “query-by-example” to perform many programming tasks. While very powerful, it is not clear that this blends smoothly in the spreadsheet mindset. This is the first logical spreadsheet extension to make use of graphical input and not just output.
 
52
This paper studies in great detail to what depth it is sufficient to expand a derivation tree for a top-down evaluation of a logic program. It also leverages properties such as transitivity and subsumption, as well as characteristics of the domain to extend the class of prunable programs.
 
53
This is another classic introductory textbook on programming in Prolog that has been used by generations of students.
 
54
This two-volume set is a now classic reference to constructive logic and its applications in a variety of fields. It covers intuitionistic logic both at an introductory level and in exhaustive depth.
 
55
XSB is Prolog with a form of memoization called tabling. Declaratively, it does not differ substantially from Prolog. Procedurally, however, it substantially improves on the standard top-down SLDNF resolution strategy of this language by nearly eradicating control-induced infinite loops. In particular, an XSB query always terminates against a Datalog program. Tabling can also have a positive effect on efficiency, although this may depend on how the user writes his programs. This makes XSB a promising candidate as the underlying explanation engine of a deductive spreadsheet.
 
Literature
[ABW87].
go back to reference Apt, K. R., Blair, H. A., & Walker, A. (1987). Towards a theory of declarative knowledge. In J. Minker (Ed.), Foundations of deductive databases and logic programming [Min87] (pp. 89–148). Los Altos: Morgan Kaufmann. 7 Apt, K. R., Blair, H. A., & Walker, A. (1987). Towards a theory of declarative knowledge. In J. Minker (Ed.), Foundations of deductive databases and logic programming [Min87] (pp. 89–148). Los Altos: Morgan Kaufmann. 7
[AvE82].
go back to reference Apt, K. R., & van Emden, M. H. (1982). Contributions to the theory of logic programming. Journal of the ACM, 29(3), 841–862. 8 Apt, K. R., & van Emden, M. H. (1982). Contributions to the theory of logic programming. Journal of the ACM, 29(3), 841–862. 8
[BAD + 01].
go back to reference Burnett, M., Atwood, J., Djang, R. W., Reichwein, J., Gottfried, H., & Yang, S. (2001). Forms/3: A first-order visual language to explore the boundaries of the spreadsheet paradigm. Journal of functional programming, 11(2), 155–206. 9 Burnett, M., Atwood, J., Djang, R. W., Reichwein, J., Gottfried, H., & Yang, S. (2001). Forms/3: A first-order visual language to explore the boundaries of the spreadsheet paradigm. Journal of functional programming, 11(2), 155–206. 9
[Bon91].
go back to reference Bonner, A. J. (1991). Hypothetical reasoning in deductive databases. PhD thesis, Rutgers University. 10 Bonner, A. J. (1991). Hypothetical reasoning in deductive databases. PhD thesis, Rutgers University. 10
[Bon94].
go back to reference Bonner, A. J. (1994). Hypothetical reasoning with intuitionistic logic. In R. Demolombe & T. Imielinski (Eds.), Non-standard queries and answers (Studies in logic and computation, chapter 8, pp. 187–219). Oxford: Oxford University Press. 11 Bonner, A. J. (1994). Hypothetical reasoning with intuitionistic logic. In R. Demolombe & T. Imielinski (Eds.), Non-standard queries and answers (Studies in logic and computation, chapter 8, pp. 187–219). Oxford: Oxford University Press. 11
[CGT90].
go back to reference Ceri, S., Gottlob, G., & Tanca, L. (1990). Logic programming and databases. Berlin/New York: Springer. 12 Ceri, S., Gottlob, G., & Tanca, L. (1990). Logic programming and databases. Berlin/New York: Springer. 12
[CH85].
go back to reference Chandra, A. K., & Harel, D. (1985). Horn clause queries and generalizations. Journal of Logic Programming, 1, 1–15. 13 Chandra, A. K., & Harel, D. (1985). Horn clause queries and generalizations. Journal of Logic Programming, 1, 1–15. 13
[Cla78].
go back to reference Clark, K. L. (1978). Negation as failure. In H. Gallaire & J. Minker (Eds.), Logic and data bases (pp. 293–322). New York: Plenum. 14 Clark, K. L. (1978). Negation as failure. In H. Gallaire & J. Minker (Eds.), Logic and data bases (pp. 293–322). New York: Plenum. 14
[CM87].
go back to reference Clocksin, W. F., & Mellish, C. S. (1987). Programming in Prolog (3rd ed.). Berlin/New York: Springer. 15 Clocksin, W. F., & Mellish, C. S. (1987). Programming in Prolog (3rd ed.). Berlin/New York: Springer. 15
[Col70].
go back to reference Colmerauer, A. (1970). Les systèmes-Q ou un formalisme pour analyser et synthétiser des phrases sur ordinateur. Technical report, Department of Computer Science, University of Montreal, Montreal. 16 Colmerauer, A. (1970). Les systèmes-Q ou un formalisme pour analyser et synthétiser des phrases sur ordinateur. Technical report, Department of Computer Science, University of Montreal, Montreal. 16
[Col98].
go back to reference Colomb, R. M. (1998). Deductive databases and their applications. London/Bristol: Taylor & Francis. 17 Colomb, R. M. (1998). Deductive databases and their applications. London/Bristol: Taylor & Francis. 17
[DW88].
go back to reference Debray, S. K., & Warren, D. S. (1988). Automatic mode inference for logic programs. Journal of Logic Programming, 5, 207–229. 18 Debray, S. K., & Warren, D. S. (1988). Automatic mode inference for logic programs. Journal of Logic Programming, 5, 207–229. 18
[EK76].
go back to reference Van Emden, M. H., & Kowalski, R. A. (1976). The semantics of predicate logic as a programming language. Journal of the ACM, 23(4), 733–742. 19 Van Emden, M. H., & Kowalski, R. A. (1976). The semantics of predicate logic as a programming language. Journal of the ACM, 23(4), 733–742. 19
[Fre92].
go back to reference Freitag, B. (1992). Extending deductive database languages by embedded implications. In A. Voronkov (Ed.), Proceedings of the third international conference on logic programming and automated reasoning – LPAR’92, St. Petersburg (Lecture notes in computer science, Vol. 642, pp. 84–95). Springer. 20 Freitag, B. (1992). Extending deductive database languages by embedded implications. In A. Voronkov (Ed.), Proceedings of the third international conference on logic programming and automated reasoning – LPAR’92, St. Petersburg (Lecture notes in computer science, Vol. 642, pp. 84–95). Springer. 20
[GKB87].
go back to reference Güntzer, U., Kiessling, W., & Bayer, R. (1987). On the evaluation of recursion in (deductive) database systems by efficient differential fixpoint iteration. In Proceedings of the third international conference on data engineering, Los Angeles (pp. 120–129). IEEE Computer Society. 21 Güntzer, U., Kiessling, W., & Bayer, R. (1987). On the evaluation of recursion in (deductive) database systems by efficient differential fixpoint iteration. In Proceedings of the third international conference on data engineering, Los Angeles (pp. 120–129). IEEE Computer Society. 21
[GM78].
go back to reference Gallaire, H., & Minker, J. (Eds.). (1978). Logic and data bases. New York: Plenum. 22 Gallaire, H., & Minker, J. (Eds.). (1978). Logic and data bases. New York: Plenum. 22
[GM02].
go back to reference Ganzinger, H., & McAllester, D. (2002). Logical algorithms. In Proceedings of the 18th international conference on logic programming – ICLP’02, London (pp. 209–223). Springer. 23 Ganzinger, H., & McAllester, D. (2002). Logical algorithms. In Proceedings of the 18th international conference on logic programming – ICLP’02, London (pp. 209–223). Springer. 23
[Gre69].
go back to reference Green, C. (1969). Application of theorem proving to problem solving. In D. E. Walker & L. M. Norton (Eds.), Proceedings of the international joint conference on artificial intelligence, Washington, DC (pp. 219–239). 24 Green, C. (1969). Application of theorem proving to problem solving. In D. E. Walker & L. M. Norton (Eds.), Proceedings of the international joint conference on artificial intelligence, Washington, DC (pp. 219–239). 24
[Har94].
go back to reference Harland, J. (1994). Towards a sequent calculus for negation as failure. In Proceedings of the workshop on proof-theoretical extensions of logic programming, Santa Margherita Ligure (pp. 19–27). 25 Harland, J. (1994). Towards a sequent calculus for negation as failure. In Proceedings of the workshop on proof-theoretical extensions of logic programming, Santa Margherita Ligure (pp. 19–27). 25
[JL87].
go back to reference Jaffar, J., & Lassez, J. -L. (1987). Constraint logic programming. In Proceedings of the 14th symposium on principles of programming languages – POPL’87, Munich (pp. 111–119). 26 Jaffar, J., & Lassez, J. -L. (1987). Constraint logic programming. In Proceedings of the 14th symposium on principles of programming languages – POPL’87, Munich (pp. 111–119). 26
[JM94].
go back to reference Jaffar, J., & Maher, M. J. (1994). Constraint logic programming: A survey. Journal of Logic Programming, 19/20, 503–581. 27 Jaffar, J., & Maher, M. J. (1994). Constraint logic programming: A survey. Journal of Logic Programming, 19/20, 503–581. 27
[KKR95].
go back to reference Kanellakis, P., Kuper, G., & Revesz, P. (1995). Constraint query languages. Journal of Computer and System Sciences, 51(1), 26–52. 28 Kanellakis, P., Kuper, G., & Revesz, P. (1995). Constraint query languages. Journal of Computer and System Sciences, 51(1), 26–52. 28
[KLP00].
go back to reference Kuper, G., Libkin, L., & Paredaens, J. (Eds.). (2000). Constraint databases. Berlin/New York: Springer. 29 Kuper, G., Libkin, L., & Paredaens, J. (Eds.). (2000). Constraint databases. Berlin/New York: Springer. 29
[Kow79].
go back to reference Kowalski, R. A. (1979). Logic for problem solving. Prentice Hall. 30 Kowalski, R. A. (1979). Logic for problem solving. Prentice Hall. 30
[Kri88].
go back to reference Kriwaczek, F. (1988). Logicalc: A Prolog spreadsheet. Machine intelligence, 11, 193–208. 31 Kriwaczek, F. (1988). Logicalc: A Prolog spreadsheet. Machine intelligence, 11, 193–208. 31
[LC12].
go back to reference Lam, E. S. L., & Cervesato, I. (2012). Modeling datalog fact assertion and retraction in linear logic. In A. King (Ed.), Proceedings of the 14th international ACM symposium on principles and practice of declarative programming – PPDP’12, Leuven. 32 Lam, E. S. L., & Cervesato, I. (2012). Modeling datalog fact assertion and retraction in linear logic. In A. King (Ed.), Proceedings of the 14th international ACM symposium on principles and practice of declarative programming – PPDP’12, Leuven. 32
[Llo87].
go back to reference Lloyd, J. W. (1987). Foundations of logic programming (2nd extended ed.). Berlin/New York: Springer. 33 Lloyd, J. W. (1987). Foundations of logic programming (2nd extended ed.). Berlin/New York: Springer. 33
[LM03].
go back to reference Li, N., & Mitchell, J. C. (2003). Datalog with constraints: A foundation for trust management languages. In Proceedings of the fifth international symposium on practical aspects of declarative languages (PADL’03), New Orleans. 34 Li, N., & Mitchell, J. C. (2003). Datalog with constraints: A foundation for trust management languages. In Proceedings of the fifth international symposium on practical aspects of declarative languages (PADL’03), New Orleans. 34
[LP09].
go back to reference Lovas, W., & Pfenning, F. (2009). Refinement types as proof irrelevance. In P. -L. Curien (Ed.), Proceedings of the 9th international conference on typed lambda calculi and applications – TLCA’09, Brasilia (Lecture notes in computer science, Vol. 5608, pp. 157–171). Springer. 35 Lovas, W., & Pfenning, F. (2009). Refinement types as proof irrelevance. In P. -L. Curien (Ed.), Proceedings of the 9th international conference on typed lambda calculi and applications – TLCA’09, Brasilia (Lecture notes in computer science, Vol. 5608, pp. 157–171). Springer. 35
[LS09].
go back to reference Liu, Y., & Stoller, S. (2009). From datalog rules to efficient programs with time and space guarantees. ACM Transactions on Programming Languages and Systems – TOPLAS, 31(6), 1–38. 36 Liu, Y., & Stoller, S. (2009). From datalog rules to efficient programs with time and space guarantees. ACM Transactions on Programming Languages and Systems – TOPLAS, 31(6), 1–38. 36
[McA02].
go back to reference McAllester, D. (2002). On the complexity analysis of static analyses. Journal of the ACM, 49, 512–537. 37 McAllester, D. (2002). On the complexity analysis of static analyses. Journal of the ACM, 49, 512–537. 37
[Men97].
go back to reference Mendelson, E. (1997). Introduction to mathematical logic (4th ed.). Princeton: Van Nostrand-Reinhold. 38 Mendelson, E. (1997). Introduction to mathematical logic (4th ed.). Princeton: Van Nostrand-Reinhold. 38
[Mil89].
go back to reference Miller, D. (1989). A logical analysis of modules in logic programming. Journal of Logic Programming, 6(1–2), 79–108. 39 Miller, D. (1989). A logical analysis of modules in logic programming. Journal of Logic Programming, 6(1–2), 79–108. 39
[Min87].
go back to reference Minker, J. (Ed.). (1987). Foundations of deductive databases and logic programming. Los Altos: Morgan Kaufmann. 40 Minker, J. (Ed.). (1987). Foundations of deductive databases and logic programming. Los Altos: Morgan Kaufmann. 40
[MNPS91].
go back to reference Miller, D., Nadathur, G., Pfenning, F., & Scedrov, A. (1991). Uniform proofs as a foundation for logic programming. Annals of Pure and Applied Logic, 51, 125–157. 41 Miller, D., Nadathur, G., Pfenning, F., & Scedrov, A. (1991). Uniform proofs as a foundation for logic programming. Annals of Pure and Applied Logic, 51, 125–157. 41
[NJLS11].
go back to reference Nigam, V., Jia, L., Loo, B. T., & Scedrov, A. (2011). Maintaining distributed logic programs incrementally. In Proceedings of the 13th international ACM symposium on principles and practice of declarative programming – PPDP’11, Odense (pp. 125–136). ACM. 42 Nigam, V., Jia, L., Loo, B. T., & Scedrov, A. (2011). Maintaining distributed logic programs incrementally. In Proceedings of the 13th international ACM symposium on principles and practice of declarative programming – PPDP’11, Odense (pp. 125–136). ACM. 42
[O’K90].
go back to reference O’Keefe, R. A. (1990). The craft of Prolog. Cambridge: MIT. 43 O’Keefe, R. A. (1990). The craft of Prolog. Cambridge: MIT. 43
[Pfe89].
go back to reference Pfenning, F. (1989). Elf: A language for logic definition and verified meta-programming. In Fourth annual symposium on logic in computer science, Pacific Grove (pp. 313–322). IEEE Computer Society Press. 44 Pfenning, F. (1989). Elf: A language for logic definition and verified meta-programming. In Fourth annual symposium on logic in computer science, Pacific Grove (pp. 313–322). IEEE Computer Society Press. 44
[Pfe92].
go back to reference Pfenning, F. (Ed.). (1992). Types in logic programming. Cambridge: MIT. 45 Pfenning, F. (Ed.). (1992). Types in logic programming. Cambridge: MIT. 45
[Prz87].
go back to reference Przymusinski, T. C. (1987). On the declarative semantics of stratified deductive databases and logic programs. In J. Minker (Ed.), Foundations of deductive databases and logic programming [Min87] (pp. 193–216). Los Altos: Morgan Kaufmann. 46 Przymusinski, T. C. (1987). On the declarative semantics of stratified deductive databases and logic programs. In J. Minker (Ed.), Foundations of deductive databases and logic programming [Min87] (pp. 193–216). Los Altos: Morgan Kaufmann. 46
[PS99].
go back to reference Pfenning, F., & Schürmann, C. (1999). System description: Twelf – A meta-logical framework for deductive systems. In Proceedings of the 16th international conference on automated deduction – CADE-16, Trento (Lecture notes in artificial intelligence, Vol. 1632, pp. 202–206). Springer. 47 Pfenning, F., & Schürmann, C. (1999). System description: Twelf – A meta-logical framework for deductive systems. In Proceedings of the 16th international conference on automated deduction – CADE-16, Trento (Lecture notes in artificial intelligence, Vol. 1632, pp. 202–206). Springer. 47
[Rob65].
go back to reference Robinson, J. A. (1965). A machine-oriented logic based on the resolution principle. Journal of the ACM, 12(1), 23–41. 48 Robinson, J. A. (1965). A machine-oriented logic based on the resolution principle. Journal of the ACM, 12(1), 23–41. 48
[RSS92].
go back to reference Ramakrishnan, R., Srivastava, D., & Sudarshan, S. (1992). Efficient bottom-up evaluation of logic programs. In P. Dewilde & J. Vandewalle (Eds.), The state of the art in computer systems and software engineering. Kluwer Academic. 49 Ramakrishnan, R., Srivastava, D., & Sudarshan, S. (1992). Efficient bottom-up evaluation of logic programs. In P. Dewilde & J. Vandewalle (Eds.), The state of the art in computer systems and software engineering. Kluwer Academic. 49
[Sar10].
go back to reference Sarnat, J. (2010). Syntactic finitism in the metatheory of programming languages. PhD thesis, Department of Computer Science, Yale University. 50 Sarnat, J. (2010). Syntactic finitism in the metatheory of programming languages. PhD thesis, Department of Computer Science, Yale University. 50
[SB89].
go back to reference Spenke, M., & Beilken, C. (1989). A spreadsheet interface for logic programming. In CHI’89: Proceedings of the SIGCHI conference on human factors in computing systems, Austin (pp. 75–80). ACM. 51 Spenke, M., & Beilken, C. (1989). A spreadsheet interface for logic programming. In CHI’89: Proceedings of the SIGCHI conference on human factors in computing systems, Austin (pp. 75–80). ACM. 51
[SGG86].
go back to reference Smith, D. E., Genesereth, M. R., & Ginsberg, M. L. (1986). Controlling recursive inference. Artificial Intelligence, 30(3), 343–389. 52 Smith, D. E., Genesereth, M. R., & Ginsberg, M. L. (1986). Controlling recursive inference. Artificial Intelligence, 30(3), 343–389. 52
[SS94].
go back to reference Sterling, L., & Shapiro, E. (1994). The art of Prolog (2nd ed.). Cambridge: MIT. 53 Sterling, L., & Shapiro, E. (1994). The art of Prolog (2nd ed.). Cambridge: MIT. 53
[TvD88].
go back to reference Troelstra, A. S., & van Dalen, D. (Eds.). (1988). Constructivism in mathematics: An introduction. Amsterdam/New York: North-Holland. 54 Troelstra, A. S., & van Dalen, D. (Eds.). (1988). Constructivism in mathematics: An introduction. Amsterdam/New York: North-Holland. 54
[War98].
go back to reference Warren, D. S. (1998). Programming with tabling in XSB. In D. Gries & W. P. de Roever (Eds.), Programming concepts and methods, IFIP TC2/WG2.2,2.3 international conference on programming concepts and methods (PROCOMET’98): Vol. 125 of IFIP conference proceedings, Shelter Island (pp. 5–6). Chapman & Hall. 55 Warren, D. S. (1998). Programming with tabling in XSB. In D. Gries & W. P. de Roever (Eds.), Programming concepts and methods, IFIP TC2/WG2.2,2.3 international conference on programming concepts and methods (PROCOMET’98): Vol. 125 of IFIP conference proceedings, Shelter Island (pp. 5–6). Chapman & Hall. 55
Metadata
Title
The Deductive Spreadsheet
Author
Iliano Cervesato
Copyright Year
2013
Publisher
Springer Berlin Heidelberg
DOI
https://doi.org/10.1007/978-3-642-37747-1_6

Premium Partner