The DOI matches its Crossref record.
The Art of Prolog
Overview
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
Claims other papers make about this one
Each is checked against this paper’s own text: does it say what the citing paper says it does?
In the citing paper
“Operationally, the if-then-else of ITE-Prolog behaves like the corresponding construct in Prolog [88,73].”
From Creating specialised integrity checks through partial evaluation of meta-interpreters (1998) · cites this paper as [88]
Citations
Cited by
Sorted by citations
Dechter, R. (2003) · Cited by 1,554
Artificial Intelligence: A New Synthesis
(1998) · Elsevier eBooks · doi:10.1016/c2009-0-27773-7 · Cited by 1,211
Knowledge Representation and Reasoning
Lee, N. (2024) · Encyclopedia of Computer Graphics and Games · doi:10.1007/978-3-031-23161-2_300700 · Cited by 819
What you always wanted to know about Datalog (and never dared to ask)
Ceri, S., Gottlob, G., & Tanca, L. (1989) · IEEE Transactions on Knowledge and Data Engineering · doi:10.1109/69.43410 · Cited by 704
Uniform proofs as a foundation for logic programming
Miller, D., Nadathur, G., Pfenning, F., & Scedrov, A. (1991) · Annals of Pure and Applied Logic · doi:10.1016/0168-0072(91)90068-w · Cited by 570
A mathematical treatment of defeasible reasoning and its implementation
Simari, G. R., & Loui, R. P. (1992) · Artificial Intelligence · doi:10.1016/0004-3702(92)90069-a · Cited by 549
The CLP( ℛ ) language and system
Jaffar, J., Michaylov, S., Stuckey, P. J., & Yap, R. H. C. (1992) · ACM Transactions on Programming Languages and Systems · doi:10.1145/129393.129398 · Cited by 522
Goguen, J. A., & Meseguer, J. (1992) · Theoretical Computer Science · doi:10.1016/0304-3975(92)90302-v · Cited by 497
The family of concurrent logic programming languages
Shapiro, E. Y. (1989) · ACM Computing Surveys · doi:10.1145/72551.72555 · Cited by 441
Self-citationThe integration of functions into logic programming: From theory to practice
Hanus, M. (1994) · The Journal of Logic Programming · doi:10.1016/0743-1066(94)90034-5 · Cited by 420
“For instance, the following equality clauses define the semantics of the function append for concatenating lists (we use the Prolog notation for lists [122]):”
Constraint Logic Programming Using ECLiPSe
Apt, K. R., & Wallace, M. G. (2006) · Cambridge University Press eBooks · doi:10.1017/cbo9780511607400 · Cited by 316
An algebra for composing access control policies
Bonatti, P. A., di Vimercati, S. D. C., & Samarati, P. (2002) · ACM Transactions on Information and System Security · doi:10.1145/504909.504910 · Cited by 294
Map Generalization: Making Rules for Knowledge Representation
Buttenfield, B. P., McMaster, R., & Master, R. B. M. (1991) · Cited by 265
TRIO: A logic language for executable specifications of real-time systems
Ghezzi, C., Mandrioli, D., & Morzenti, A. C. (1990) · Journal of Systems and Software · doi:10.1016/0164-1212(90)90074-v · Cited by 242
SETHEO: A high-performance theorem prover
Letz, R., Schümann, J., Bayerl, S., et al. (1992) · Journal of Automated Reasoning · doi:10.1007/bf00244282 · Cited by 241
Notable design patterns for domain-specific languages
Spinellis, D. D. (2001) · Journal of Systems and Software · doi:10.1016/s0164-1212(00)00089-3 · Cited by 239
De Raedt, L., & Dehaspe, L. (1997) · Machine Learning · doi:10.1023/a:1007361123060 · Cited by 235
Parameter Learning of Logic Programs for Symbolic-Statistical Modeling
Sato, T., & Kameya, Y. (2001) · Journal of Artificial Intelligence Research · doi:10.1613/jair.912 · Cited by 233
A logical analysis of modules in logic programming
Miller, D. (1989) · The Journal of Logic Programming · doi:10.1016/0743-1066(89)90031-9 · Cited by 233
Type inference with polymorphic recursion
Henglein, F. (1993) · ACM Transactions on Programming Languages and Systems · doi:10.1145/169701.169692 · Cited by 221
Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp
Norvig, P. (1992) · Cited by 219
Representing and reasoning about semantic conflicts in heterogeneous information systems
Goh, C. H., & Madnick, S. (1997) · Cited by 209
Artificial Intelligence, Logic and Formalizing Common Sense
McCarthy, J. (1989) · Springer eBooks · doi:10.1007/978-94-009-2448-2_6 · Cited by 208
“If it is to be able to plan a trip with intermediate stops it has to have the general information that the departure gate from an intermediate stop is not to be discovered when the trip is (cid:12)rst planned but will be available on arrival at the intermediate stop.”
Warren, D. S. (1992) · Communications of the ACM · doi:10.1145/131295.131299 · Cited by 202
Transformation of logic programs: Foundations and techniques
Pettorossi, A., & Proietti, M. (1994) · The Journal of Logic Programming · doi:10.1016/0743-1066(94)90028-0 · Cited by 201
Concurrent Prolog: A Progress Report
Shapiro (1986) · Computer · doi:10.1109/mc.1986.1663307 · Cited by 196
An approach to declarative programming based on a rewriting logic
Moreno, J. C. G., Hortalá-González, M. T., López-Fraguas, F. J., et al. (1999) · The Journal of Logic Programming · doi:10.1016/s0743-1066(98)10029-8 · Cited by 185
Harary, F., & Gupta, G. (1997) · Mathematical and Computer Modelling · doi:10.1016/s0895-7177(97)00050-2 · Cited by 183
Specifications are (preferably) executable
Fuchs, N. E. (1992) · Software Engineering Journal · doi:10.1049/sej.1992.0033 · Cited by 171
Expressive Pointcuts for Increased Modularity
Ostermann, K., Mezini, M., & Bockisch, C. M. (2005) · Lecture notes in computer science · doi:10.1007/11531142_10 · Cited by 170
Logic, Optimization, and Constraint Programming
Hooker, J. (2002) · INFORMS journal on computing · doi:10.1287/ijoc.14.4.295.2828 · Cited by 166
Multi-state programming : its theory and applications
Taha, W. (1999) · OHSU Digital Commons · doi:10.6083/m4td9vjb · Cited by 161
Mixed logical-linear programming
Hooker, J., & Osorio, M. A. (1999) · Discrete Applied Mathematics · doi:10.1016/s0166-218x(99)00100-6 · Cited by 159
Parallel execution of prolog programs
Gupta, G., Pontelli, E., Ali, K. A. M., Carlsson, M., & Hermenegildo, M. V. (2001) · ACM Transactions on Programming Languages and Systems · doi:10.1145/504083.504085 · Cited by 155
“In the rest of this survey we assume the reader to be familiar with the basic terminology of logic programming and Prolog [Lloyd 1987; Sterling and Shapiro 1994].”
Reasoning about Termination of Pure Prolog Programs
Apt, K. R., & Pedreschi, D. (1993) · Information and Computation · doi:10.1006/inco.1993.1051 · Cited by 142
Saint‐Dizier, P. (1988) · Computational Linguistics · Cited by 139
Chambers, C. (1992) · Cited by 136
Covington, M. A., Nute, D. E., & Vellino, A. (1988) · Cited by 130
Eliminating duplication with the hyper-linking strategy
Lee, S.-J., & Plaisted, D. (1992) · Journal of Automated Reasoning · doi:10.1007/bf00247825 · Cited by 129
TouringMachines: an architecture for dynamic, rational, mobile agents
Ferguson, I. A. (2021) · doi:10.48456/tr-273 · Cited by 123
Experimental evaluation of a generic abstract interpretation algorithm for PROLOG
Charlier, B. L., & Hentenryck, P. V. (1994) · ACM Transactions on Programming Languages and Systems · doi:10.1145/174625.174627 · Cited by 123
Discovery of Relational Association Rules
Dehaspe, L., & Toivonen, H. T. T. (2001) · Springer eBooks · doi:10.1007/978-3-662-04599-2_8 · Cited by 120
Logic programming, abduction and probability
Poole, D. (1993) · New Generation Computing · doi:10.1007/bf03037184 · Cited by 120
Flexible access control policy specification with constraint logic programming
Barker, S., & Stuckey, P. J. (2003) · ACM Transactions on Information and System Security · doi:10.1145/950191.950194 · Cited by 117
“Applications written in a high-level declarative language, like pure PROLOG [ Sterling and Shapiro 1994 ], have the attractions of being easily understandable and easy to modify and reason about.”
BackgroundA survey of visual language specification and recognition
Marriott, K., Meyer, B., & Wittenburg, K. (1998) · Springer eBooks · doi:10.1007/978-1-4612-1676-6_2 · Cited by 148
High-performance logic programming with the Aquarius Prolog compiler
Roy, P. V., & Despain, A. M. (1992) · Computer · doi:10.1109/2.108055 · Cited by 115
Relaxation as a platform for cooperative answering
Gaasterland, T., Godfrey, P., & Minker, J. (1992) · Journal of Intelligent Information Systems · doi:10.1007/bf00962922 · Cited by 113
Hierarchical constraint logic programming
Wilson, M., & Borning, A. H. (1993) · The Journal of Logic Programming · doi:10.1016/0743-1066(93)90046-j · Cited by 112
Jan Treur, A. (2018) · Lecture notes in computer science · doi:10.1007/978-3-030-04070-3_27 · Cited by 111
Rothenberg, J. (1989) · Cited by 111
A predicate-transition net model for parallel interpretation of logic programs
Murata, T., & Zhang, D. (1988) · IEEE Transactions on Software Engineering · doi:10.1109/32.4671 · Cited by 110
Explanations, belief revision and defeasible reasoning
Falappa, M. A., Kern-Isberner, G., & Simari, G. R. (2002) · Artificial Intelligence · doi:10.1016/s0004-3702(02)00258-8 · Cited by 107
Sets and constraint logic programming
Agostino Dovier, A., Piazza, C., Pontelli, E., et al. (2000) · ACM Transactions on Programming Languages and Systems · doi:10.1145/365151.365169 · Cited by 106
Reflection in logic, functional and object-oriented programming: a Short Comparative Study
Malenfant, J. (1995) · Cited by 102
Automatic detection of design problems in object-oriented reengineering
Ciupke, O. (2003) · doi:10.1109/tools.1999.787532 · Cited by 101
Costa, V. S., Warren, D. H. D., & Yang, R. (1991) · ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming · doi:10.1145/109625.109635 · Cited by 101
Can Logic Programming Execute as Fast as Imperative Programming
Roy, P. L. V. (1990) · UC Berkeley · Cited by 101
Multilevel Network Reification: Representing Higher Order Adaptivity in a Network
Jan Treur, A. (2018) · Studies in computational intelligence · doi:10.1007/978-3-030-05411-3_51 · Cited by 100
Query evaluation in recursive databases: bottom-up and top-down reconciled
Bry, F. (1990) · Data & Knowledge Engineering · doi:10.1016/0169-023x(90)90017-8 · Cited by 95
“In this section, we introduce the 'bottom-up meta-interpretation' technique with a quite obvious and simple example similar to the so-called 'Prolog in Prolog' or 'vanilla' Prolog meta-interpreter [28].”
MethodFox, E. A. (1987) · Information Processing & Management · doi:10.1016/0306-4573(87)90022-7 · Cited by 95
Fitting, M. (1988) · Journal of Automated Reasoning · doi:10.1007/bf00244394 · Cited by 92
A modular approach to composing access control policies
Bonatti, P. A., di Vimercati, S. D. C., & Samarati, P. (2000) · Proceedings of the ACM Conference on Computer and Communications Security · doi:10.1145/352600.352623 · Cited by 86
Cohen, W. W. (1994) · Artificial Intelligence · doi:10.1016/0004-3702(94)90070-1 · Cited by 84
Design and implementation of a semantic query optimizer
Shenoy, S. T., & Ozsoyoglu, Z. M. (1989) · IEEE Transactions on Knowledge and Data Engineering · doi:10.1109/69.87980 · Cited by 85
Computer-Assisted Proofs in Analysis and Programming in Logic: A case Study
Koch, H., Schenkel, A., & Wittwer, P. (1996) · SIAM Review · doi:10.1137/s0036144595284180 · Cited by 83
Molecular implementation of simple logic programs
Ran, T., Kaplan, S., & Shapiro, E. Y. (2009) · Nature Nanotechnology · doi:10.1038/nnano.2009.203 · Cited by 81
Self-citationAutomatic Generation and Analysis of NIDS Attacks
Rubin, S., Jha, S. K., & Miller, B. P. (2005) · Annual Computer Security Applications Conference · doi:10.1109/csac.2004.9 · Cited by 81
Resourceful systems for fault tolerance, reliability, and safety
Abbott, R. (1990) · ACM Computing Surveys · doi:10.1145/78949.78951 · Cited by 81
Unify and Merge in Fluid Construction Grammar
Steels, L., & Beule, J. D. (2006) · Lecture notes in computer science · doi:10.1007/11880172_16 · Cited by 80
Event Correlation using Rule and Object Based Techniques
Nygate, Y. (1995) · Springer eBooks · doi:10.1007/978-0-387-34890-2_25 · Cited by 80
A simple declarative language for describing narratives with actions
Kakas, A. C., & Miller, R. (1997) · The Journal of Logic Programming · doi:10.1016/s0743-1066(96)00138-0 · Cited by 79
Chapter 4 Constraint Programming
(2008) · Foundations of artificial intelligence · doi:10.1016/s1574-6526(07)03004-0 · Cited by 78
Antonio Brogi, A., Mancarella, P. M., Pedreschi, D., et al. (1994) · ACM Transactions on Programming Languages and Systems · doi:10.1145/183432.183528 · Cited by 78
Automatic Composition of SemanticWeb Services
Kona, S., Bansal, A., & Gupta, G. K. (2007) · IEEE International Conference on Web Services (ICWS) · doi:10.1109/icws.2007.52 · Cited by 77
Reeves, S., & Clarke, M. (1990) · Cited by 76
Finite State Transducers with Predicates and Identities
van Noord, G., & Gerdemann, D. (2001) · Grammars · doi:10.1023/a:1012291501330 · Cited by 75
1983–1993: The wonder years of sequential Prolog implementation
Roy, P. V. (1994) · The Journal of Logic Programming · doi:10.1016/0743-1066(94)90031-0 · Cited by 74
Bioinformatics integration and agent technology
Karasavvas, K., Baldock, R., & Burger, A. (2004) · Journal of Biomedical Informatics · doi:10.1016/j.jbi.2004.04.003 · Cited by 69
Nadathur, G., & Miller, D. (1990) · Journal of the ACM · doi:10.1145/96559.96570 · Cited by 73
Cheney, J., & Urban, C. (2008) · ACM Transactions on Programming Languages and Systems · doi:10.1145/1387673.1387675 · Cited by 72
Towards unified modelling of product life-cycles
Thimm, G., Lee, S. G., & Ma, Y. (2005) · Computers in Industry · doi:10.1016/j.compind.2005.09.003 · Cited by 71
A measure of tortuosity based on chain coding
Bribiesca, E. (2012) · Pattern Recognition · doi:10.1016/j.patcog.2012.09.017 · Cited by 70
Reasoning about nonlinear system identification
Bradley, E., Easley, M. G., & Stolle, R. (2001) · Artificial Intelligence · doi:10.1016/s0004-3702(01)00143-6 · Cited by 84
Chapter 5 Dynamically Typed Languages
Tratt, L. (2009) · Advances in computers · doi:10.1016/s0065-2458(09)01205-4 · Cited by 69
A General Framework for Automatic Termination Analysis of Logic Programs
Dershowitz, N., Lindenstrauss, N., Sagiv, Y., et al. (2001) · Applicable Algebra in Engineering Communication and Computing · doi:10.1007/s002000100065 · Cited by 69
Is intractability of nonmonotonic reasoning a real drawback?
Cadoli, M., Donini, F. M., & Schaerf, M. (1996) · Artificial Intelligence · doi:10.1016/s0004-3702(96)00009-4 · Cited by 69
Termination analysis of logic programs through combination of type-based norms
Bruynooghe, M., Codish, M., Gallagher, J. P., Genaim, S., & Vanhoof, W. (2007) · ACM Transactions on Programming Languages and Systems · doi:10.1145/1216374.1216378 · Cited by 68
Constraint Logic Programming approach to protein structure prediction
Palù, A. D., Agostino Dovier, A., & Fogolari, F. (2004) · BMC Bioinformatics · doi:10.1186/1471-2105-5-186 · Cited by 69
Metainterpreters for expert system construction
STERLING, L. S., & Beer, R. D. (1989) · The Journal of Logic Programming · doi:10.1016/0743-1066(89)90034-4 · Cited by 67
Self-citationA Prolog technology theorem prover: a new exposition and implementation in Prolog
Stickel, M. E. (1992) · Theoretical Computer Science · doi:10.1016/0304-3975(92)90168-f · Cited by 67
“Although it is easy to write a Prolog predicate un i f y that performs sound unification with the occurs check [11,14], the trick is to invoke this unification algorithm instead of Prolog's whenever necessary during the unification of a goal and the head of a clause.”
Datalog and Recursive Query Processing
Green, T. J., Huang, S., Loo, B. T., & Zhou, W. (2013) · Foundations and Trends in Databases · doi:10.1561/1900000017 · Cited by 65
Information integration using contextual knowledge and ontology merging
Firat, A., & Madnick, S. (2003) · Cited by 65
From English to Formal Specifications
Vadera, S. (1994) · The Computer Journal · doi:10.1093/comjnl/37.9.753 · Cited by 65
Distributed programming with Logic Tuple Spaces
Ciancarini, P. (1994) · New Generation Computing · doi:10.1007/bf03037345 · Cited by 65
Developing Production Rule Models to Aid in Acquiring Requirements from Legal Texts
Maxwell, J. C., & Antón, A. I. (2009) · IEEE International Requirements Engineering Conference (RE) · doi:10.1109/re.2009.21 · Cited by 64
Deville, Y., & Lau, K.-K. (1994) · The Journal of Logic Programming · doi:10.1016/0743-1066(94)90029-9 · Cited by 64
Aspect-Oriented Logic Meta Programming
Volder, K. D., & D’Hondt, T. (1999) · Lecture notes in computer science · doi:10.1007/3-540-48443-4_22 · Cited by 64
Information Filtering: Selection Mechanisms in Learning Systems
Markovitch, S., & Scott, P. D. (1993) · Machine Learning · doi:10.1023/a:1022614725002 · Cited by 72
Ontology-Based Geospatial Data Query and Integration
Zhao, T. Q., Zhang, C., Wei, M., et al. (2008) · Lecture notes in computer science · doi:10.1007/978-3-540-87473-7_24 · Cited by 63
Metadata
- Authors
- Sterling, L., Shapiro, E., & Garrett, R.
- Affiliations
- SAIC 5400 Jeffery Ave. West Palm Beach, FL 33047
- Venue
- IEEE Expert
- Published
- 1987-06
- Volume
- 2
- Issue
- 2
- Pages
- 106-107
- ISSN
- 0885-9000 (ISSN-L)
- 2374-9407
- OpenAlex
- W2023578426
- Semantic Scholar
- 85e31fa56b166fe4960f8fc27a55a2f242052f72
- Cited by
- 1,101
- References
- 0
- Citations by year
- 2024: 2 · 2022: 1 · 2021: 8 · 2020: 7 · 2019: 8 · 2018: 7 · 2017: 3 · 2016: 9 · 2015: 10 · 2014: 13 · 2013: 10 · 2012: 17
- Type
- book review
- Language
- en
- Open access
- closed
- Licence
- Locations
- IEEE Expert (publishedVersion)
- Topics
- Physical Sciences › Computer Science › Artificial Intelligence › Logic, Reasoning, and Knowledge
- Physical Sciences › Computer Science › Software › Logic, programming, and type systems
- Physical Sciences › Computer Science › Artificial Intelligence › AI-based Problem Solving and Planning
- Keywords
- Prolog, logic programming, programming languages, declarative programming
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review