1369:. If the negated query can be refuted, it follows that the query, with the appropriate variable bindings in place, is a logical consequence of the program. In that case, all generated variable bindings are reported to the user, and the query is said to have succeeded. Operationally, Prolog's execution strategy can be thought of as a generalization of function calls in other languages, one difference being that multiple clause heads can match a given call. In that case, the system creates a choice-point,
373:
4498:
9862:
7533:
7505:
4556:, and there implemented an alternative front-end, which came to define the "Edinburgh Prolog" syntax used by most modern implementations. Warren also implemented the first compiler for Prolog, creating the influential DEC-10 Prolog in collaboration with Fernando Pereira. Warren later generalised the ideas behind DEC-10 Prolog, to create the
4671:
over natural language parse trees. The developers have stated: "We required a language in which we could conveniently express pattern matching rules over the parse trees and other annotations (such as named entity recognition results), and a technology that could execute these rules very efficiently.
3731:
to derive type and mode information of predicates at compile time, or compile to real machine code for high performance. Devising efficient implementation methods for Prolog code is a field of active research in the logic programming community, and various other execution methods are employed in some
3881:, there were attempts to implement Prolog in hardware with the aim of achieving faster execution with dedicated architectures. Furthermore, Prolog has a number of properties that may allow speed-up through parallel execution. A more recent approach has been to compile restricted Prolog programs to a
4036:
The syntax of Prolog does not specify which arguments of a predicate are inputs and which are outputs. However, this information is significant and it is recommended that it be included in the comments. Modes provide valuable information when reasoning about Prolog programs and can also be used to
1373:
the goal with the clause head of the first alternative, and continues with the goals of that first alternative. If any goal fails in the course of executing the program, all variable bindings that were made since the most recent choice-point was created are undone, and execution continues with the
4480:
is a lightweight Prolog system for distributed applications and infrastructures, intentionally designed around a minimal core, to be either statically or dynamically configured by loading/unloading libraries of predicates. tuProlog natively supports multi-paradigm programming, providing a clean,
4463:
is a Prolog interpreter written in (managed) C#. Can easily be integrated in C# programs. Characteristics: reliable and fairly fast interpreter, command line interface, Windows-interface, builtin DCG, XML-predicates, SQL-predicates, extendible. The complete source code is available, including a
3706:
consists of two parts. ISO/IEC 13211-1, published in 1995, aims to standardize the existing practices of the many implementations of the core elements of Prolog. It has clarified aspects of the language that were previously ambiguous and leads to portable programs. There are three corrigenda:
3916:
is considered to be complex because not all Prolog compilers support modules, and there are compatibility problems between the module systems of the major Prolog compilers. Portability of Prolog code across implementations has also been a problem, but developments since 2007 have meant: "the
2118:
A higher-order predicate is a predicate that takes one or more other predicates as arguments. Although support for higher-order programming takes Prolog outside the domain of first-order logic, which does not allow quantification over predicates, ISO Prolog now has some built-in higher-order
3920:
Software developed in Prolog has been criticised for having a high performance penalty compared to conventional programming languages. In particular, Prolog's non-deterministic evaluation strategy can be problematic when programming deterministic computations, or when even using "don't care
2557:, a facility analogous to macros in other languages) according to a few straightforward rewriting rules, resulting in ordinary Prolog clauses. Most notably, the rewriting equips the predicate with two additional arguments, which can be used to implicitly thread state around, analogous to
504:
of the negated query. If the negated query can be refuted, i.e., an instantiation for all free variables is found that makes the union of clauses and the singleton set consisting of the negated query false, it follows that the original query, with the found instantiation applied, is a
3921:
non-determinism" (where a single choice is made instead of backtracking over all possibilities). Cuts and other language constructs may have to be used to achieve desirable performance, destroying one of Prolog's main attractions, the ability to run programs "backwards and forwards".
619:
is composed of an atom called a "functor" and a number of "arguments", which are again terms. Compound terms are ordinarily written as a functor followed by a comma-separated list of argument terms, which is contained in parentheses. The number of arguments is called the term's
3911:
Although Prolog is widely used in research and education, Prolog and other logic programming languages have not had a significant impact on the computer industry in general. Most applications are small by industrial standards, with few exceeding 100,000 lines of code.
2158:
To convert solutions from temporal representation (answer substitutions on backtracking) to spatial representation (terms), Prolog has various all-solutions predicates that collect all answer substitutions of a given query in a list. This can be used for
4540:. It was motivated in part by the desire to reconcile the use of logic as a declarative knowledge representation language with the procedural representation of knowledge that was popular in North America in the late 1960s and early 1970s. According to
7210:
David H D Warren, Luis M. Pereira and
Fernando Pereira, Prolog - the language and its implementation compared with Lisp. ACM SIGART Bulletin archive, Issue 64. Proceedings of the 1977 symposium on Artificial intelligence and programming languages, pp
2721:), it is possible to write customized interpreters that augment Prolog with domain-specific features. For example, Sterling and Shapiro present a meta-interpreter that performs reasoning with uncertainty, reproduced here with slight modifications:
3860:
Subgoals encountered in a query evaluation are maintained in a table, along with answers to these subgoals. If a subgoal is re-encountered, the evaluation reuses information from the table rather than re-performing resolution against program
4817:
is an extension of core Prolog that features polymorphic typing, modular programming, and higher-order programming, including direct support for terms with variable-binding operators through so-called λ-tree syntax and higher-order pattern
5461:
Philipp Körner; Michael
Leuschel; João Barbosa; Vítor Santos Costa; Verónica Dahl; Manuel V. Hermenegildo; Jose F. Morales; Jan Wielemaker; Daniel Diaz; Salvador Abreu; Giovanni Ciatto (November 2022), "Fifty Years of Prolog and Beyond",
3756:
or, more generally, tail calls: A clause's stack frame is discarded before performing a call in a tail position. Therefore, deterministic tail-recursive predicates are executed with constant stack space, like loops in other languages.
3928:, a procedural reading of a Prolog program is needed to understand it. The order of clauses in a Prolog program is significant, as the execution strategy of the language depends on it. Other logic programming languages, such as
611:
are denoted by a string consisting of letters, numbers and underscore characters, and beginning with an upper-case letter or underscore. Variables closely resemble variables in logic in that they are placeholders for arbitrary
4487:
is a bi-directional interface between Prolog and Python using portable low-level primitives. It was initially developed for XSB by
Anderson and Swift, but has been adopted as a joint initiative by the XSB, Ciao and SWI-Prolog
4754:
dialect of Prolog, which is very different from standard Prolog. As Turbo Prolog, it was marketed by
Borland, but is now developed and marketed by the Danish firm Prolog Development Center (PDC) that originally produced
1223:, using graphics and otherwise communicating with the operating system. These predicates are not given a relational meaning and are only useful for the side-effects they exhibit on the system. For example, the predicate
1437:. Again, this can be proved by the corresponding fact. Since all goals could be proved, the query succeeds. Since the query contained no variables, no bindings are reported to the user. A query with variables, like:
4426:
provides native syntax integration with Java, agent messaging and reaction rules. Prova positions itself as a rule-based scripting (RBS) system for middleware. The language breaks new ground in combining
659:: A sequence of characters surrounded by quotes is equivalent to either a list of (numeric) character codes, a list of characters (atoms of length 1), or an atom depending on the value of the Prolog flag
4393:
is a bi-directional Java Prolog bridge which ships with SWI-Prolog by default, allowing Java and Prolog to call each other (recursively). It is known to have good concurrency support and is under active
6746:. Vangelis Vassiliadis, Jan Wielemaker and Chris Mungall. Proceedings of the 5th International Workshop on OWL: Experiences and Directions (OWLED 2009), Chantilly, VA, United States, October 23–24, 2009
6172:
Logic programming for the real world. Zoltan
Somogyi, Fergus Henderson, Thomas Conway, Richard O'Keefe. Proceedings of the ILPS'95 Postconference Workshop on Visions for the Future of Logic Programming.
4123:
and first released in 1989 for MS-DOS PCs. Support for other platforms was added, and a second version was released in 1995. A book about Prolog++ by Chris Moss was published by
Addison-Wesley in 1994.
2476:, which is in the ISO Standard. However, while most Prolog systems support structuring the code into modules, virtually no implementation adheres to the modules part of the ISO standard. Instead, most
9188:
4101:
is an object-oriented logic programming language that can use most Prolog implementations as a back-end compiler. As a multi-paradigm language, it includes support for both prototypes and classes.
444:
Prolog was one of the first logic programming languages and remains the most popular such language today, with several free and commercial implementations available. The language has been used for
3783:
lookups. Indexing only affects program performance, it does not affect semantics. Most
Prologs only use indexing on the first term, as indexing on all terms is expensive, but techniques based on
5333:
D. Barker-Plummer. Cliche programming in Prolog. In M. Bruynooghe, editor, Proc. Second
Workshop on Meta-Programming in Logic, pages 247--256. Dept. of Comp. Sci., Katholieke Univ. Leuven, 1990.
3869:
or linear tabling. In a multi-threaded Prolog system tabling results could be kept private to a thread or shared among all threads. And in incremental tabling, tabling might react to changes.
4481:
seamless integration model between Prolog and mainstream object-oriented languages, namely Java, for tuProlog Java version, and any .NET-based language (C#, F#..), for tuProlog .NET version.
1349:
It expresses that X is an ancestor of Y if X is parent of Y or X is parent of an ancestor of Y. It is recursive because it is defined in terms of itself (there is a call to predicate
2469:
3648:
This machine performs incrementation by one of a number in unary encoding: It loops over any number of "1" cells and appends an additional "1" at the end. Example query and result:
3679:
This illustrates how any computation can be expressed declaratively as a sequence of state transitions, implemented in Prolog as a relation between successive states of interest.
5154:
4408:
and Prolog, implementing bi-directional predicate/method calling between both languages. Java objects can be mapped into Prolog terms and vice versa. Allows the development of
3806:
and SWI-Prolog, now implement hashing to help handle large datasets more efficiently. This tends to yield very large performance gains when working with large corpora such as
2500:
4255:
is a free and basic Prolog interpreter. From version 4 and above Cedar has a FCA (Flash Cedar App) support. This provides a new platform to programming in Prolog through
2492:
module system. However, further convenience predicates concerning modules are provided by some implementations only and often have subtle differences in their semantics.
5504:
1710:
This comparison shows the prompt ("?-" vs "| ?-") and resolution status ("true." vs "yes", "false." vs "no") can differ from one Prolog implementation to another.
5412:"With regard to Prolog variables, variables only in the head are implicitly universally quantified, and those only in the body are implicitly existentially quantified"
3976:
Prolog is an untyped language. Attempts to introduce and extend Prolog with types began in the 1980s, and continue as of 2008. Type information is useful not only for
6810:
Andersen, C. and Swift, T., 2023. The Janus System: a bridge to new prolog applications. In Prolog: The Next 50 Years (pp. 93-104). Cham: Springer Nature
Switzerland.
7071:
1413:
is the first one, so proving the query is equivalent to proving the body of that clause with the appropriate variable bindings in place, i.e., the conjunction
6067:
3917:
portability within the family of
Edinburgh/Quintus derived Prolog implementations is good enough to allow for maintaining portable real-world applications."
3733:
4771:
is an offshoot of Prolog geared toward software engineering in the large with a static, polymorphic type system, as well as a mode and determinism system.
9906:
8700:
3707:
Cor.1:2007, Cor.2:2012, and Cor.3:2017. ISO/IEC 13211-2, published in 2000, adds support for modules to the standard. The standard is maintained by the
5199:
4761:
is a subset of Prolog. It is limited to relationships that may be stratified and does not allow compound terms. In contrast to Prolog, Datalog is not
4567:, reportedly causing many nationalistic debates on the merits of the languages. Much of the modern development of Prolog came from the impetus of the
4544:, the first Prolog system was developed in 1972 by Colmerauer and Phillipe Roussel. The first implementation of Prolog was an interpreter written in
9886:
8695:
1361:
Execution of a Prolog program is initiated by the user's posting of a single goal, called the query. Logically, the Prolog engine tries to find a
9896:
8917:
7237:
1557:(i.e. contains no variables). Soundness is lost if the argument contains variables and the proof procedure is complete. In particular, the query
8705:
2511:
standard used by other Prolog systems, is amenable to precise static analysis, supports term hiding, and facilitates programming in the large.
9901:
8200:
7578:
7114:
5436:
5185:
3699:
529:
when the logical paradigm is inconvenient. It has a purely logical subset, called "pure Prolog", as well as a number of extralogical features.
2561:
in other languages. DCGs are often used to write parsers or list generators, as they also provide a convenient interface to difference lists.
1581:. If a solution exists then it is printed. If there are multiple solutions to the query, then these can be requested by entering a semi-colon
6722:
Wielemaker, Jan; Hildebrand, Michiel; van Ossenbruggen, Jacco (2007), Heymans, S.; Polleres, A.; Ruckhaus, E.; Pearse, D.; Gupta, G. (eds.),
4470:
A Prolog compiler and interpreter in PHP 5.3. A library that can be used standalone or within Symfony2.1 framework which was translated from
644:
is an ordered collection of terms. It is denoted by square brackets with the terms separated by commas, or in the case of the empty list, by
2143:. Furthermore, since arbitrary Prolog goals can be constructed and evaluated at run-time, it is easy to write higher-order predicates like
471:
Prolog is a Turing-complete, general-purpose programming language, which is well-suited for intelligent knowledge-processing applications.
5106:
Inductive Synthesis of Functional Programs: Universal Planning, Folding of Finite Programs, and Schema Abstraction by Analogical Reasoning
9911:
8422:
4284:
5063:
Felty, Amy. "A logic programming approach to implementing higher-order term rewriting." Extensions of Logic Programming (1992): 135-161.
7521:
6207:
5158:
9392:
4064:. Most Prolog systems ship with at least one constraint solver for finite domains, and often also with solvers for other domains like
9916:
9497:
9417:
9208:
9203:
9049:
5999:. Third International Conference on Logic Programming. Lecture Notes in Computer Science. Vol. 225. Springer. pp. 172–179.
4568:
3878:
9215:
6931:
5231:
3932:, are truly declarative but restrict the language. As a result, many practical Prolog programs are written to conform to Prolog's
2532:
7569:
7526:
6267:
Dantsin, Evgeny; Eiter, Thomas; Gottlob, Georg; Voronkov, Andrei (2001). "Complexity and Expressive Power of Logic Programming".
4734:
4104:
286:
4281:
extends Prolog with a logical theory of state-changing update operators. It has both a model-theoretic and procedural semantics.
3944:
Various implementations have been developed from Prolog to extend logic programming abilities in many directions. These include
9748:
7938:
5672:
5654:
5636:
5516:
947:
is a set of predicates. For example, the following Prolog program, which defines some family relations, has four predicates:
8110:
7516:
7098:
7065:
7047:
7029:
6997:
6609:
6532:
6470:
6393:
6352:
6012:
5971:
5790:
5620:
5595:
5367:
5318:
5209:
5114:
5084:
5048:
4959:
4931:
4906:
4881:
6874:
3891:
implemented Prolog for use with the Sega AI Computer, released for the Japanese market in 1986. Prolog was used for reading
9891:
9817:
9618:
9141:
8524:
8115:
8085:
6731:
Proceedings of the 2nd Workshop on Applications of Logic Programming and to the Web, Semantic Web and Semantic Web Services
5954:
Abe, S.; Bandoh, T.; Yamaguchi, S.; Kurosawa, K.; Kiriyama, K. (1987). "High performance integrated Prolog processor IPP".
4700:
4655:(Unstructured Information Management Architecture) framework. The system was written in various languages, including Java,
3688:
2477:
7033:
5074:
699:
and is read as "Head is true if Body is true". A rule's body consists of calls to predicates, which are called the rule's
525:, such as printing a value to the screen. Because of this, the programmer is permitted to use some amount of conventional
9462:
8792:
8589:
7257:
7230:
4673:
1172:
Due to the relational nature of many built-in predicates, they can typically be used in several directions. For example,
204:
2495:
Some systems chose to implement module concepts as source-to-source compilation into base ISO Prolog, as is the case of
7913:
4248:
2096:. Some design patterns in Prolog are skeletons, techniques, cliches, program schemata, logic description schemata, and
8989:
8013:
7262:
7204:
7167:
7149:
7083:
6316:
6245:
5704:
4851:; an atom of Prolog (depending on the context) is a constant, function symbol or predicate symbol of logic.
4717:
4484:
2089:
1722:
with three optimization passes could be implemented as a relation between an initial program and its optimized form:
1421:. Two clause heads match this goal. The system creates a choice-point and tries the first alternative, whose body is
4107:
is a small, portable, object-oriented extension to Prolog by Margaret McDougall of EdCAAD, University of Edinburgh.
9553:
8725:
8569:
7267:
7017:
4774:
GraphTalk is a proprietary implementation of Warren's Abstract Machine, with additional object-oriented properties.
3723:
For efficiency, Prolog code is typically compiled to abstract machine code, often influenced by the register-based
2558:
1219:
As a general purpose language, Prolog also provides various built-in predicates to perform routine activities like
6819:
Colmerauer, A. and Roussel, P., 1996. The birth of Prolog. In History of programming languages---II (pp. 331-367).
5896:
Proceedings of the 5th ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming
3885:. However, rapid progress in general-purpose hardware has consistently overtaken more specialised architectures.
1585:. There are guidelines on good programming practice to improve code efficiency, readability and maintainability.
6723:
4730:
9648:
9643:
9402:
9350:
7536:
7468:
7341:
7223:
5276:
Kirschenbaum, M.; Sterling, L.S. (1993). "Applying Techniques to Skeletons - Patterns for Prolog Programming".
4990:
4778:
4768:
4319:
4218:
1378:. For example, given the family relation program defined above, the following query will be evaluated to true:
1370:
522:
514:
350:
306:
9442:
8772:
8285:
7933:
7511:
7489:
7443:
7416:
7391:
7351:
6373:
4798:
4782:
4343:
3882:
358:
330:
6987:
6146:
5746:
Van Roy, P.; Despain, A. M. (1992). "High-performance logic programming with the Aquarius Prolog compiler".
4988:
Stickel, M. E. (1988). "A prolog technology theorem prover: Implementation by an extended prolog compiler".
509:
of the program. This makes Prolog (and other logic programming languages) particularly useful for database,
7483:
7386:
7356:
6378:
Logic programming: 24th international conference, ICLP 2008, Udine, Italy, December 9-13, 2008: proceedings
4660:
4636:
4151:
4120:
4045:
3949:
3803:
231:
6183:"FAQ: Prolog Resource Guide 1/2 [Monthly posting]Section - [1-8] The Prolog 1000 Database"
9787:
9265:
7562:
7458:
7453:
7396:
7376:
4751:
4564:
4450:
4368:
4323:
4195:
3953:
3841:
2504:
2438:
485:
In Prolog, program logic is expressed in terms of relations, and a computation is initiated by running a
480:
465:
219:
93:
17:
4060:
problems and is thus useful for applications in industrial settings, such as automated time-tabling and
9447:
9355:
9305:
9064:
8397:
8392:
7791:
7401:
7297:
7280:
4705:
4339:
4057:
1216:). For this reason, a comparatively small set of library predicates suffices for many Prolog programs.
680:. Two types of Horn clauses are used to define Prolog programs: rules and facts. A rule is of the form
6182:
5386:
Naish, Lee (1996). Higher-order logic programming in Prolog (Report). Department of Computer Science,
4801:
began life with a Prolog-based implementation and maintains much of Prolog's unification-based syntax.
9713:
9658:
9437:
9422:
8680:
8100:
7596:
7411:
7366:
6838:
6128:
4175:
1718:
Any computation can be expressed declaratively as a sequence of state transitions. As an example, an
598:
445:
403:
399:
354:
318:
35:
6909:
6283:
1472:
also succeeds. One would insert additional goals to describe the relevant restrictions, if desired.
9761:
9668:
9457:
9432:
8644:
8639:
7448:
7331:
6780:
5396:
5286:
5004:
4409:
4358:
4309:
4272:
3913:
3819:
2113:
2097:
571:
is a symbol name starting with a lower case letter or guarded by quotes. Examples of atoms include
6430:
547:
9315:
8857:
8847:
8842:
8417:
8402:
8342:
7776:
7771:
7731:
6228:
5387:
4557:
4553:
4432:
4049:
3925:
3853:
3728:
3724:
2578:
2542:
2536:
1805:
1242:
predicate defined in the family relation program above. The following Prolog program defines the
489:
over these relations. Relations and queries are constructed using Prolog's single data type, the
422:
395:
6516:
6509:"Improving the execution speed of compiled Prolog with modes, clause selection, and determinism"
6508:
4412:(GUIs) and other functions in Java while leaving logic processing in the Prolog layer. Supports
9865:
9633:
9623:
8752:
8170:
7751:
7555:
7317:
6775:
6425:
6278:
5391:
5281:
4999:
4711:
4428:
4372:
4327:
4130:
is a multi-paradigm language with interfaces, classes, implementations and object expressions.
2714:
2574:
2442:
711:
526:
6830:
6200:
3771:
Finding clauses that are unifiable with a term in a query is linear in the number of clauses.
676:
Prolog programs describe relations, defined by means of clauses. Pure Prolog is restricted to
9054:
8564:
7786:
7756:
7649:
7639:
7600:
7592:
6667:
6269:
6118:
4975:
4222:
4171:
4061:
6204:
5536:
Abreu; Nogueira (2005), "Using a Logic Programming Language with Persistence and Contexts",
5460:
3749:
9812:
9718:
9452:
9427:
9270:
9111:
8862:
8549:
8352:
8225:
8008:
7246:
5888:
4687:
is implemented in Prolog. TerminusDB is designed for collaboratively building and curating
4092:
3865:
Tabling can be extended in various directions. It can support recursive predicates through
939:) is a collection of clauses whose heads have the same name and arity. We use the notation
510:
418:
47:
6486:
Covington, Michael; Bagnara, Roberto; et al. (2010). "Coding guidelines for Prolog".
6104:
5956:
Proceedings of the 14th annual international symposium on Computer architecture - ISCA '87
1433:
is generated, and the next goal to be proved is the second part of the above conjunction:
8:
9653:
7322:
6882:
6743:
4621:
4401:
4113:
was a frame-based language combining objects and Prolog II from CNRS, Marseille, France.
3040:
2473:
1719:
1489:
1485:
727:
719:
506:
6733:, CEUR Workshop Proceedings, vol. 287, Porto, Portugal: CEUR-WS.org, pp. 84–98
6681:
5909:
Swift, T.; Warren, D. S. (2011). "XSB: Extending Prolog with Tabled Logic Programming".
5280:. Lecture Notes in Computer Science / Lecture Notes in Artificial Intelligence: 27–140.
730:. Conjunctions and disjunctions can only appear in the body, not in the head of a rule.
9598:
9533:
7873:
7155:
6855:
6793:
6765:
6704:
6487:
6443:
6296:
6086:
5977:
5936:
5918:
5869:
5763:
5258:
5240:
5226:
5037:
5017:
4792:
4585:
4549:
3961:
3933:
3703:
3043:. Turing completeness of Prolog can be shown by using it to simulate a Turing machine:
2160:
2109:
1374:
next alternative of that choice-point. This execution strategy is called chronological
1362:
498:
461:
143:
7130:
4804:
4509:
was chosen by Philippe Roussel, at the suggestion of his wife, as an abbreviation for
4383:, and any language or environment which can call a .dll or .so. It is implemented for
239:
8427:
7302:
7200:
7163:
7145:
7094:
7079:
7061:
7043:
7025:
6993:
6605:
6562:
6549:
6528:
6466:
6389:
6369:
6348:
6329:
6008:
5967:
5838:
5825:
Colomb, Robert M. (1991). "Enhancing unification in PROLOG through clause indexing".
5786:
5733:
5616:
5591:
5363:
5314:
5205:
5172:
5110:
5080:
5044:
4955:
4927:
4902:
4877:
4836:
4672:
We found that Prolog was the ideal choice for the language due to its simplicity and
4648:
4376:
4331:
4278:
4088:
3896:
3789:
3715:/WG17 working group. ANSI X3J17 is the US Technical Advisory Group for the standard.
1554:
430:
410:
391:
52:
7052:(This edition is updated for ISO Prolog. Prior editions described Edinburgh Prolog.)
6859:
6797:
6447:
5981:
5873:
5767:
5021:
3856:; execution time can be reduced by using more memory to store intermediate results:
2312:
This can be used to enumerate perfect numbers, and to check if a number is perfect.
1409:
This is obtained as follows: Initially, the only matching clause-head for the query
9161:
8902:
8230:
7547:
7182:
7125:
6891:
6847:
6785:
6708:
6696:
6597:
6557:
6520:
6435:
6381:
6325:
6288:
6090:
6076:
6041:
6000:
5959:
5940:
5928:
5861:
5834:
5755:
5481:
5471:
5306:
5250:
5130:
5009:
4668:
4578:
4529:
4139:
3892:
2577:(reflection). Its implicit execution strategy makes it possible to write a concise
704:
64:
7120:
Feliks Kluźniak and Stanisław Szpakowicz (with a contribution by Janusz S. Bień).
6300:
6061:
Gupta, G.; Pontelli, E.; Ali, K. A. M.; Carlsson, M.; Hermenegildo, M. V. (2001).
5262:
4628:) are shown by trying and failing to solve the corresponding positive conditions B
4441:
An embeddable Prolog engine for Java. It includes a small IDE and a few libraries.
4346:, and others. It exploits the dedicated string data type which LPA Prolog provides
9771:
9492:
9397:
9151:
9079:
9074:
9069:
8554:
8517:
8512:
8507:
8502:
8497:
8492:
8487:
6936:
6385:
6211:
5411:
5104:
4762:
4688:
4541:
4533:
4518:
4252:
4202:
4065:
4052:. A constraint logic program allows constraints in the body of clauses, such as:
3032:
2164:
2093:
59:
5569:
Sagonas; Swift; Warren (1994), "XSB as an efficient deductive database engine",
5347:. Procs Twelfth International Conference on Logic Programming. pp. 467–481.
3852:, which frees the user from manually storing intermediate results. Tabling is a
2507:
designed a strict module system that, while being basically compatible with the
1365:
refutation of the negated query. The resolution method used by Prolog is called
9059:
8807:
8619:
8482:
8472:
8467:
8462:
8457:
8452:
8447:
8442:
8437:
7806:
7796:
5134:
4848:
4844:
4738:
4681:
3965:
3780:
3776:
3753:
3737:
2485:
1366:
453:
243:
6789:
6700:
6233:. Proc. 31st meeting of the Japan Society for Software Science and Technology.
5932:
5865:
5476:
5254:
4444:
1541:) fails. If no proof can be found, the original goal succeeds. Therefore, the
30:
This article is about the programming language. For the narrative device, see
9880:
9847:
9822:
9807:
9743:
9738:
9733:
9728:
9723:
9568:
9513:
9482:
9472:
9335:
9325:
9295:
9290:
9240:
9220:
9198:
9183:
9136:
9101:
9044:
9039:
9029:
8907:
8852:
8827:
8822:
8802:
8675:
8215:
7654:
7624:
7421:
7188:
7177:: 'POPLOG's two-level virtual machine support for interactive languages', in
6601:
6123:
6004:
5310:
4744:
4664:
4460:
4405:
4245:
4187:
4147:
4127:
4079:
is an object-oriented knowledge representation and reasoning system based on
3772:
3766:
605:. Most of the major Prolog systems support arbitrary length integer numbers.
449:
372:
362:
6625:
6368:
Schrijvers, Tom; Santos Costa, Vitor; Wielemaker, Jan; Demoen, Bart (2008).
6314:
Mycroft, A.; O'Keefe, R. A. (1984). "A polymorphic type system for prolog".
4287:
has been created in order to answer Prolog's lack of graphics and interface.
1573:. Prolog can be used interactively by entering queries at the Prolog prompt
1417:. The next goal to be proved is the leftmost one of this conjunction, i.e.,
376:
9708:
9678:
9538:
8882:
8877:
8740:
8735:
8730:
8649:
8594:
8544:
8477:
8432:
8407:
8337:
8332:
8327:
8322:
8317:
8275:
8240:
8150:
8145:
7973:
7781:
7473:
7312:
7192:
7174:
6959:
6147:"Computer science - Programming Languages, Syntax, Algorithms | Britannica"
6132:
5808:
Indexing Prolog Clauses via Superimposed Code Words and Field Encoded Words
5729:
4840:
4467:
4256:
4214:
3957:
3837:
3748:
Prolog systems typically implement a well-known optimization method called
2151:, which filters elements that satisfy a given predicate, also allowing for
2147:, which applies an arbitrary predicate to each member of a given list, and
1375:
1220:
414:
278:
7179:
Research Directions in Cognitive Science Volume 5: Artificial Intelligence
6895:
6744:
Processing OWL2 Ontologies using Thea: An Application of Logic Programming
6292:
6081:
5708:
1235:
Iterative algorithms can be implemented by means of recursive predicates.
185:
168:
9683:
9380:
9375:
9370:
8954:
8871:
7843:
6414:"Reasoning about Prolog programs: From modes through types to assertions"
4606:
The application of the theorem-prover treats such clauses as procedures:
4589:
4537:
4226:
4199:
3977:
3945:
3845:
3036:
2503:, in which unit (module) loading and unloading can be made dynamically.
677:
518:
457:
434:
426:
133:
7215:
6851:
6046:
6029:
5963:
5435:
ISO/IEC 13211: Information technology – Programming languages – Prolog.
5229:; Wielemaker, Jan; Price, Simon (2011). "Coding guidelines for Prolog".
5184:
ISO/IEC 13211-1:1995 Prolog, 6.3.7 Terms - double quoted list notation.
4497:
4464:
parser generator that can be used for adding special purpose extensions.
2965:
This interpreter uses a table of built-in Prolog predicates of the form
9673:
9578:
9285:
9260:
9024:
8979:
8715:
8372:
8185:
8078:
8073:
8068:
8028:
8003:
7878:
7634:
7381:
6596:. Lecture Notes in Computer Science. Vol. 2407. pp. 512–556.
6524:
6439:
6380:. Lecture Notes in Computer Science. Vol. 5366. pp. 693–697.
5486:
5129:
5100:
5013:
4788:
4684:
4417:
4387:
but the API specification can be made available for any implementation.
4234:
4191:
4167:
4143:
4116:
3833:
2570:
1607:
1602:
1545:
prefix operator is called the "not provable" operator, since the query
501:
259:
227:
7111:
ISO/IEC 13211: Information technology – Programming languages – Prolog
6724:"Using {Prolog} as the fundament for applications on the semantic web"
6367:
4814:
4296:
Frameworks exist which can bridge between Prolog and other languages:
2457:
9842:
9837:
9832:
9827:
9802:
9792:
9753:
9703:
9698:
9693:
9688:
9593:
9588:
9583:
9573:
9563:
9548:
9528:
9523:
9518:
9467:
9412:
9407:
9387:
9365:
9345:
9300:
9280:
9235:
9230:
9225:
9193:
9156:
9146:
9131:
9126:
9121:
9106:
9091:
9086:
9014:
9009:
9004:
8984:
8974:
8969:
8964:
8949:
8944:
8892:
8887:
8867:
8837:
8812:
8797:
8767:
8720:
8710:
8690:
8685:
8670:
8665:
8579:
8300:
8295:
8190:
7836:
7831:
7826:
7821:
7816:
7724:
7719:
7714:
7709:
7478:
6485:
5759:
5224:
4748:
3900:
2717:) that are easily read and inspected using built-in mechanisms (like
2499:. GNU Prolog initially diverted from ISO modules, opting instead for
1845:
1550:
538:
6756:
Loke, S. W.; Davison, A. (2001). "Secure Prolog-based mobile code".
6721:
9477:
9255:
8959:
8787:
8624:
8614:
8599:
8574:
8559:
8534:
8529:
8412:
8387:
8382:
8367:
8362:
8357:
8347:
8312:
8307:
8290:
8270:
8265:
8260:
8255:
8250:
8245:
8235:
8220:
8210:
8205:
8195:
8180:
8175:
8165:
8160:
8155:
8140:
8135:
8130:
8125:
8120:
8105:
8090:
8063:
8058:
8053:
8048:
8043:
8038:
8033:
8023:
8018:
7998:
7993:
7983:
7978:
7968:
7963:
7953:
7948:
7943:
7918:
7908:
7801:
7704:
7699:
7694:
7689:
7684:
7679:
7674:
7669:
7664:
6770:
6643:
4808:
4438:
4230:
4155:
3825:
2519:
module system. The latter two Prolog systems allow controlling the
2152:
1188:), and to generate both list skeletons and their lengths together (
215:
31:
6492:
5923:
5245:
5155:"Natural Language Processing With Prolog in the IBM Watson System"
4178:. Also there are various concurrent Prolog programming languages.
2092:
is a general reusable solution to a commonly occurring problem in
1537:. If a proof for that goal can be found, the original goal (i.e.,
513:, and language parsing applications. Because Prolog allows impure
9766:
9558:
9543:
9340:
9330:
9320:
9096:
8912:
8757:
8745:
7903:
7898:
7893:
7888:
7883:
7868:
7863:
7858:
7853:
7848:
7811:
7766:
7761:
7746:
7741:
7736:
7371:
7361:
7003:
4758:
4677:
4545:
4447:
is an implementation of ISO Prolog as a Java library (gnu.prolog)
4268:
4098:
4080:
4076:
3929:
3924:
Prolog is not purely declarative: because of constructs like the
3807:
2496:
2489:
1596:
Example of a basic query in a couple of popular Prolog dialects:
602:
346:
326:
322:
223:
7058:
Clause and Effect. Prolog Programming for the Working Programmer
6402:
4811:, that has the semantics of Prolog, but uses the syntax of Lisp.
4708:. A method for building knowledge-based system that uses Prolog.
4635:
Subsequent extensions of Prolog by the original team introduced
4305:
4301:
2709:
Since Prolog programs are themselves sequences of Prolog terms (
271:
9628:
9613:
9608:
9603:
9275:
9250:
9178:
9034:
9019:
8999:
8994:
8939:
8817:
8782:
8629:
8280:
8095:
7659:
7406:
7290:
6413:
4847:
of logic. An atom in a standard logic terminology means an
4667:
framework to provide distributed computing. Prolog is used for
4563:
European AI researchers favored Prolog while Americans favored
4471:
4110:
235:
7185:
and N. Bernsen, Lawrence Erlbaum Associates, pp 203–231, 1992.
7124:. Academic Press Inc. (London), 1985, 1987 (available under a
6407:
6405:
5690:
5585:
5201:
SICStus Prolog User's Manual 4.3: Core reference documentation
334:
9663:
9638:
9360:
9245:
9116:
8897:
8762:
8634:
8609:
8604:
8584:
7958:
7928:
7923:
7644:
7629:
7619:
7614:
7346:
7336:
7307:
7285:
6986:
Blackburn, Patrick; Bos, Johan; Striegnitz, Kristina (2006).
6577:
Colmerauer, Alain (1987). "Opening the Prolog III Universe".
6515:. Lecture Notes in Computer Science. Vol. 250. pp.
6030:"Performance and architectural evaluation of the PSI machine"
4676:." Prolog is being used in the Low-Code Development Platform
4524:
4423:
4363:
4314:
4084:
2453:
625:
621:
5997:
A Prolog processor based on a pattern matching memory device
4384:
4350:
267:
211:
9310:
9173:
9166:
8832:
8777:
8377:
7988:
7428:
6679:
6266:
5852:
Swift, T. (1999). "Tabling for non-monotonic programming".
4901:(4th ed.). Harlow, England; New York: Addison Wesley.
4781:. The ideas in Planner were later further developed in the
4652:
4477:
4380:
4335:
4206:
3888:
3712:
3708:
3569:
A simple example Turing machine is specified by the facts:
2533:
Prolog syntax and semantics § Definite clause grammars
1561:
now cannot be used to enumerate all things that are legal.
1549:
succeeds if Goal is not provable. This kind of negation is
251:
6062:
6027:
5953:
4397:
2452:
Higher-order programming style in Prolog was pioneered in
1848:
sorting algorithm, relating a list to its sorted version:
9797:
9487:
8539:
7463:
7433:
6028:
Taki, K.; Nakajima, K.; Nakashima, H.; Ikeda, M. (1987).
4791:
is a variant of Prolog for programming agent behavior in
4573:
4413:
4354:
4210:
3936:
order, rather than as purely declarative logic programs.
3829:
2512:
1165:
has three clauses, all of which are facts, and predicate
342:
338:
274:
263:
247:
6175:
6060:
5610:
6460:
6201:
Portability of Prolog programs: theory and case-studies
4839:. A term of Prolog is (depending on the context) a
4357:) allows both the extension and embedding of Prolog in
521:
of certain special predicates may have some deliberate
6985:
4872:
Clocksin, William F.; Mellish, Christopher S. (2003).
4584:
Pure Prolog was originally restricted to the use of a
3794:
provide fast indexing across the full query and head.
1184:), and to generate a list skeleton of a given length (
497:. Given a query, the Prolog engine attempts to find a
255:
6068:
ACM Transactions on Programming Languages and Systems
5611:
Ed-Dbali, A.; Deransart, Pierre; Cervoni, L. (1996).
1588:
Here follow some example programs written in Prolog.
1468:
Notice that with the code as stated above, the query
7577:
6680:
Wielemaker, J.; Huang, Z.; Van Der Meij, L. (2008).
6665:
The family of concurrent logic programming languages
6592:
Wallace, M. (2002). "Constraint Logic Programming".
5498:
5496:
5275:
5152:
4714:. A fully declarative approach to logic programming.
4390:
3023:
and obtain a measure of certainty about the result.
5558:, Lecture Notes in Computer Science, vol. 1861
5157:. Association for Logic Programming. Archived from
4747:, formerly named PDC Prolog and Turbo Prolog, is a
4651:. Watson uses IBM's DeepQA software and the Apache
4620:Pure Prolog was soon extended, however, to include
3727:(WAM) instruction set. Some implementations employ
2564:
2323:to all corresponding positions in a pair of lists:
7197:The Art of Prolog: Advanced Programming Techniques
7091:Natural Language Processing for Prolog Programmers
6313:
5889:"Efficient Fixpoint Computation in Linear Tabling"
5588:The Art of Prolog: Advanced Programming Techniques
5568:
5553:
5036:
4924:Natural language processing for Prolog programmers
4571:(FGCS), which developed a variant of Prolog named
3964:programming abilities, plus interoperability with
1533:is evaluated as follows: Prolog attempts to prove
624:. An atom can be regarded as a compound term with
6872:
6594:Computational Logic: Logic Programming and Beyond
6063:"Parallel execution of prolog programs: a survey"
5854:Annals of Mathematics and Artificial Intelligence
5493:
5360:Logic programming: systematic program development
5336:
5303:Computational Logic: Logic Programming and Beyond
5278:Constructing Logic Programs, (Ed. J.M.J. Jacquet)
5178:
2702:unifies with clauses in the database of the form
464:, as well as its original intended field of use,
9878:
6506:
6226:
4624:, in which negative conditions of the form not(B
4291:
3031:Pure Prolog is based on a subset of first-order
27:Programming language that uses first order logic
6342:
5034:
4871:
4733:language is a strongly typed implementation of
1176:can be used to determine the length of a list (
7115:International Organization for Standardization
7022:Prolog Programming for Artificial Intelligence
6923:
5806:Wise, Michael J.; Powers, David M. W. (1986).
5745:
5437:International Organization for Standardization
5186:International Organization for Standardization
4899:Prolog programming for artificial intelligence
4229:language. In addition, Visual Prolog supports
3980:but also for reasoning about Prolog programs.
3752:(TCO) for deterministic predicates exhibiting
3700:International Organization for Standardization
1465:enumerates all valid answers on backtracking.
1415:(parent_child(Z,sally), parent_child(Z,erica))
99:Part 1: General core-Edition 1 (June 1995
7563:
7231:
7040:Programming in Prolog: Using the ISO Standard
7038:William F. Clocksin, Christopher S. Mellish:
6222:
6220:
5535:
5345:Representing Logic Program Schemata in Prolog
5342:
4835:The Prolog terminology differs from that of
3872:
6507:Roy, P.; Demoen, B.; Willems, Y. D. (1987).
6411:
6227:Kiselyov, Oleg; Kameyama, Yukiyoshi (2014).
6168:
6166:
5812:International Symposium on Logic Programming
5431:
5429:
5427:
5381:
5379:
4949:
4915:
4511:
2083:
425:language: the program is a set of facts and
6755:
5908:
5351:
5072:
4865:
4308:in other programming languages, including:
4225:(OWL). Prolog has also been suggested as a
2103:
9907:Programming languages with an ISO standard
7570:
7556:
7504:
7238:
7224:
6576:
6217:
5805:
5799:
5099:
5093:
4807:is a declarative language built on top of
4680:, which is focused around AI. Open source
2573:language and provides many facilities for
1569:In Prolog, loading code is referred to as
926:
7245:
6779:
6769:
6626:"XPCE: the SWI-Prolog native GUI library"
6561:
6491:
6429:
6282:
6163:
6131:. March 26, 1987. p. 34 – via
6080:
6045:
5922:
5586:Shapiro, Ehud Y.; Sterling, Leon (1994).
5485:
5475:
5424:
5395:
5376:
5285:
5244:
5225:Covington, Michael A.; Bagnara, Roberto;
5109:. Springer Science & Business Media.
5003:
4945:
4943:
4926:. Englewood Cliffs, N.J.: Prentice Hall.
4921:
4890:
4569:Fifth Generation Computer Systems project
3879:Fifth Generation Computer Systems project
2515:takes a different approach and offers an
1577:. If there is no solution, Prolog writes
1425:. This goal can be proved using the fact
1208:), and to split a given list into parts (
112:Part 2: Modules-Edition 1 (June 2000
6929:
6828:
6822:
6758:Theory and Practice of Logic Programming
6689:Theory and Practice of Logic Programming
6550:"Constraint logic programming: a survey"
5994:
5911:Theory and Practice of Logic Programming
5886:
5581:
5579:
5464:Theory and Practice of Logic Programming
5300:
5232:Theory and Practice of Logic Programming
5197:
5153:Adam Lally; Paul Fodor (31 March 2011).
5148:
5146:
4501:Timeline of early developments in Prolog
4496:
4048:extends Prolog to include concepts from
2167:equal the sum of their proper divisors:
1713:
1564:
138:Untyped (its single data type is "term")
9887:Dynamically typed programming languages
6591:
6465:. Cambridge, Massachusetts: MIT Press.
6347:. Cambridge, Massachusetts: MIT Press.
6243:
6199:Jan Wielemaker and Vıtor Santos Costa:
5590:. Cambridge, Massachusetts: MIT Press.
5538:Lecture Notes in Artificia Intelligence
5456:
5454:
5357:
4987:
4735:concurrent constraint logic programming
4271:extends Prolog with frames/objects for
4213:. There are also extensions to support
3956:logic programming (OOLP), concurrency,
628:zero. An example of a compound term is
474:
14:
9897:Pattern matching programming languages
9879:
6831:"The early years of logic programming"
6547:
5824:
5818:
5613:Prolog: the standard: reference manual
5362:. Wokingham, England: Addison-Wesley.
5066:
4940:
4896:
3026:
1353:in the body of the second clause).
1230:
1196:can be used both to append two lists (
9902:Programming languages created in 1972
7551:
7219:
6454:
6119:"Software that takes games seriously"
5887:Zhou, Neng-Fa; Sato, Taisuke (2003).
5851:
5697:
5665:
5647:
5629:
5576:
5502:
5385:
5143:
4876:. Berlin; New York: Springer-Verlag.
4186:Some Prolog implementations, notably
4071:
2698:represents an empty conjunction, and
733:Clauses with empty bodies are called
6873:Colmerauer, A.; Roussel, P. (1993).
5780:
5730:"An abstract Prolog instruction set"
5683:
5451:
5136:Prolog and Natural Language Analysis
5076:Foundations of Programming Languages
4723:
4701:Comparison of Prolog implementations
4639:abilities into the implementations.
4548:by Gerard Battani and Henri Meloni.
3689:Comparison of Prolog implementations
421:, Prolog is intended primarily as a
4777:In some ways Prolog is a subset of
4353:Application Programming Interface (
3015:. Given those, it can be called as
2541:There is a special notation called
2523:in addition to that of predicates.
791:Given the above fact, one can ask:
24:
9912:Prolog programming language family
6978:
6412:Apt, K. R.; Marchiori, E. (1994).
5305:. Vol. 2407. pp. 17–26.
4642:
4181:
2315:As another example, the predicate
671:
25:
9928:
5673:"ISO/IEC 13211-1:1995/Cor 3:2017"
5655:"ISO/IEC 13211-1:1995/Cor 2:2012"
5637:"ISO/IEC 13211-1:1995/Cor 1:2007"
5039:Building expert systems in Prolog
4718:Association for Logic Programming
4528:). It was created around 1972 by
4468:A Warren Abstract Machine for PHP
4457:, Java, and relational databases.
3743:
3682:
2553:is expanded by the preprocessor (
1169:has two clauses, both are rules.
756:which is equivalent to the rule:
636:Special cases of compound terms:
394:language that has its origins in
9917:Homoiconic programming languages
9861:
9860:
7532:
7531:
7503:
7034:Book supplements and source code
6554:The Journal of Logic Programming
6250:Association of Logic Programming
5827:The Journal of Logic Programming
5509:Association of Logic Programming
4976:Logic programming § History
4952:Foundations of logic programming
4536:'s procedural interpretation of
4532:with Philippe Roussel, based on
4474:work in Java which can be found
4205:with support for web protocols,
3760:
3013:clause_cf(Head, Body, Certainty)
2565:Meta-interpreters and reflection
371:
6952:
6930:Pountain, Dick (October 1984).
6902:
6866:
6813:
6804:
6749:
6737:
6715:
6673:
6657:
6636:
6618:
6585:
6570:
6541:
6500:
6479:
6361:
6336:
6307:
6260:
6237:
6193:
6139:
6111:
6097:
6054:
6021:
5988:
5947:
5902:
5880:
5845:
5774:
5739:
5736:, Menlo Park, CA, October 1983.
5722:
5705:"X3J17 and the Prolog Standard"
5604:
5562:
5547:
5529:
5442:
5404:
5327:
5294:
5269:
5218:
5191:
5123:
5073:Kent D. Lee (19 January 2015).
4829:
3732:implementations. These include
1227:displays a term on the screen.
854:Clauses with bodies are called
293:
7074:, Donald Nute, Andre Vellino,
6105:"Statically Allocated Systems"
5556:A new module system for Prolog
5198:Carlsson, Mats (27 May 2014).
5057:
5028:
4991:Journal of Automated Reasoning
4981:
4968:
4922:Covington, Michael A. (1994).
4659:, and Prolog, and runs on the
4240:
4219:Resource Description Framework
4161:
4138:Prolog systems that provide a
4040:
3718:
2437:is equivalent to applying the
1591:
1480:The built-in Prolog predicate
13:
1:
5554:Cabeza; Hermenegildo (2000),
5343:Gegg-harrison, T. S. (1995).
4858:
4783:Scientific Community Metaphor
4609:to show/solve H, show/solve B
4552:took this interpreter to the
4292:Interfaces to other languages
4166:Prolog-MPI is an open-source
3939:
3883:field programmable gate array
3802:Some Prolog systems, such as
3693:
532:
7105:Prolog for Computer Sciences
6563:10.1016/0743-1066(94)90033-7
6461:O'Keefe, Richard A. (1990).
6386:10.1007/978-3-540-89982-2_59
6330:10.1016/0004-3702(84)90017-1
5839:10.1016/0743-1066(91)90004-9
5503:Moura, Paulo (August 2004),
5133:; Stuart M. Shieber (2005).
4661:SUSE Linux Enterprise Server
4637:constraint logic programming
4121:Logic Programming Associates
4056:It is suited to large-scale
4046:Constraint logic programming
3950:constraint logic programming
3738:stack-based virtual machines
2501:Contextual Logic Programming
2433:with a single unique value,
2421:is a predicate that for all
1839:
1356:
892:If we add that rule and ask
7:
9892:Logic programming languages
7173:Robert Smith, John Gibson,
7076:Prolog Programming in Depth
7042:. Springer, 5th ed., 2003,
6418:Formal Aspects of Computing
6246:"Declarative vs procedural"
5079:. Springer. pp. 298–.
5043:. Berlin: Springer-Verlag.
4954:. Berlin: Springer-Verlag.
4694:
4385:Amzi! Prolog + Logic Server
4133:
3987:
3011:and clauses represented as
2545:(DCGs). A rule defined via
2480:have decided to support as
1475:
858:. An example of a rule is:
737:. An example of a fact is:
493:. Relations are defined by
481:Prolog syntax and semantics
466:natural language processing
114:; 24 years ago
101:; 29 years ago
76:; 52 years ago
10:
9933:
6376:; Enrico Pontelli (eds.).
6345:Types in logic programming
6205:CICLOPS-WLPE Workshop 2010
4706:Logico-linguistic modeling
4663:11 operating system using
4492:
4453:provides interfaces to C,
4058:combinatorial optimisation
3873:Implementation in hardware
3817:
3813:
3797:
3764:
3686:
2530:
2526:
2463:
2107:
943:to refer to predicates. A
478:
437:is initiated by running a
29:
9856:
9780:
9506:
8658:
7607:
7589:
7499:
7276:
7253:
7103:M. S. Dawe and C.M.Dawe,
6910:"Prolog: a brief history"
6839:Communications of the ACM
6790:10.1017/S1471068401001211
6701:10.1017/S1471068407003237
6129:Reed Business Information
5933:10.1017/S1471068411000500
5477:10.1017/S1471068422000102
5448:ISO/IEC 13211-2: Modules.
5255:10.1017/S1471068411000391
5214:– via Google Books.
5204:. BoD – Books on Demand.
4410:graphical user interfaces
4176:Message Passing Interface
3906:
2084:Design patterns of Prolog
1470:?- sibling(sally, sally).
404:computational linguistics
400:automated theorem proving
368:
317:
312:
305:
300:
292:
285:
210:
202:
162:
142:
132:
128:
92:
88:
70:
58:
46:
36:Prologue (disambiguation)
6992:. College Publications.
6964:, TerminusDB, 2020-12-13
6829:Kowalski, R. A. (1988).
6682:"SWI-Prolog and the web"
6602:10.1007/3-540-45628-7_19
6374:María García de la Banda
6343:Pfenning, Frank (1992).
6244:Franzen, Torkel (1994),
6005:10.1007/3-540-16492-8_73
5691:"ISO/IEC JTC1 SC22 WG17"
5311:10.1007/3-540-45628-7_15
5035:Merritt, Dennis (1989).
4822:
4647:Prolog has been used in
4513:programmation en logique
4273:knowledge representation
4262:
4054:A(X,Y) :- X+Y>0.
3983:
3971:
3914:Programming in the large
3820:Tabled logic programming
3650:
3571:
3045:
2967:
2723:
2587:
2585:) for pure Prolog code:
2543:definite clause grammars
2470:programming in the large
2325:
2169:
2114:Higher-order programming
2104:Higher-order programming
2098:higher-order programming
1850:
1810:
1724:
1659:
1614:
1498:
1439:
1435:parent_child(tom, erica)
1427:father_child(tom, sally)
1380:
1248:
949:
897:
894:what things are mortals?
860:
825:
798:
758:
739:
682:
417:, and unlike many other
409:Prolog has its roots in
7107:, Springer Verlag 1992.
6317:Artificial Intelligence
5866:10.1023/A:1018990308362
5388:University of Melbourne
5301:Sterling, Leon (2002).
4558:Warren Abstract Machine
4554:University of Edinburgh
4433:declarative programming
4302:LPA Intelligence Server
4050:constraint satisfaction
3729:abstract interpretation
3725:Warren Abstract Machine
2579:meta-circular evaluator
2537:Definite clause grammar
1198:append(ListA, ListB, X)
927:Predicates and programs
822:what things are humans?
784:The built-in predicate
423:declarative programming
396:artificial intelligence
7122:Prolog for Programmers
7089:Michael A. Covington,
6370:"Towards Typed Prolog"
5995:Robinson, Ian (1986).
5732:. Technical Note 309,
5358:Deville, Yves (1990).
5131:Fernando C. N. Pereira
4712:Answer set programming
4512:
4502:
4306:LPA Prolog for Windows
4037:accelerate execution.
3960:(LLP), functional and
3863:
3824:Some Prolog systems, (
3750:tail call optimization
3017:solve(Goal, Certainty)
2575:reflective programming
2447:Ys = map(Function, Xs)
2443:functional programming
1804:or equivalently using
1674:'Hello World!'
1626:'Hello World!'
1423:father_child(Z, sally)
1419:parent_child(Z, sally)
630:person_friends(zelda,)
527:imperative programming
34:. For other uses, see
7247:Programming languages
7139:/prologforprogrammers
7056:William F. Clocksin:
6961:terminusdb/terminusdb
6896:10.1145/155360.155362
6875:"The birth of Prolog"
6668:ACM Computing Surveys
6293:10.1145/502807.502810
6270:ACM Computing Surveys
6082:10.1145/504083.504085
4950:Lloyd, J. W. (1984).
4897:Bratko, Ivan (2012).
4874:Programming in Prolog
4500:
4223:Web Ontology Language
4172:distributed computing
4062:production scheduling
3858:
3687:Further information:
1714:Compiler optimization
1565:Programming in Prolog
1411:sibling(sally, erica)
665:"to be, or not to be"
419:programming languages
7072:Michael A. Covington
5781:Graf, Peter (1995).
5728:David H. D. Warren.
5615:. Berlin: Springer.
4588:theorem prover with
4093:defeasible reasoning
2484:module standard the
2472:, Prolog provides a
2319:applies a predicate
1492:reasoning. The goal
937:procedure definition
795:is socrates a human?
710:(meaning an arity 2
511:symbolic mathematics
475:Syntax and semantics
7160:The Craft of Prolog
6883:ACM SIGPLAN Notices
6852:10.1145/35043.35046
6548:Jaffar, J. (1994).
6463:The craft of Prolog
6047:10.1145/36205.36195
6034:ACM SIGPLAN Notices
5964:10.1145/30350.30362
5814:. pp. 203–210.
5515:(3), archived from
5227:O'Keefe, Richard A.
5161:on 3 September 2014
4793:multi-agent systems
4622:negation as failure
4472:Stephan Buettcher's
4445:GNU Prolog for Java
3854:space–time tradeoff
3785:field-encoded words
3734:clause binarization
3027:Turing completeness
2521:visibility of terms
2119:predicates such as
1831:optimization_pass_3
1825:optimization_pass_2
1819:optimization_pass_1
1784:optimization_pass_3
1766:optimization_pass_2
1748:optimization_pass_1
1720:optimizing compiler
1553:if its argument is
1488:, which allows for
1486:negation as failure
1231:Loops and recursion
545:. Terms are either
507:logical consequence
144:Filename extensions
71:First appeared
43:
7583:by standard number
7060:. Springer, 2003,
6556:. 19–20: 503–581.
6525:10.1007/BFb0014976
6440:10.1007/BF01213601
6230:Re-thinking Prolog
6210:2010-07-16 at the
6151:www.britannica.com
5103:(21 August 2003).
5014:10.1007/BF00297245
4550:David H. D. Warren
4503:
4251:2010-10-19 at the
4072:Object-orientation
3962:higher-order logic
3934:depth-first search
3704:technical standard
2700:clause(Head, Body)
2435:maplist(P, Xs, Ys)
2161:list comprehension
2110:Higher-order logic
1210:append(X, Y, List)
462:automated planning
441:over the program.
296:, Edinburgh Prolog
41:
9874:
9873:
7597:ISO romanizations
7545:
7544:
7527:Non-English-based
7099:978-0-13-629213-5
7066:978-3-540-62971-9
7048:978-3-540-00678-7
7030:978-0-321-41746-6
7024:, 4th ed., 2012,
6999:978-1-904987-17-8
6989:Learn Prolog Now!
6670:. September 1989.
6611:978-3-540-45628-5
6534:978-3-540-17611-4
6472:978-0-262-15039-2
6395:978-3-540-89982-2
6354:978-0-262-16131-2
6014:978-3-540-16492-0
5973:978-0-8186-0776-9
5792:978-3-540-61040-3
5734:SRI International
5622:978-3-540-59304-1
5597:978-0-262-19338-2
5369:978-0-201-17576-9
5320:978-3-540-43959-2
5211:978-3-7357-3744-1
5173:Watson (computer)
5116:978-3-540-40174-2
5086:978-3-319-13314-0
5050:978-0-387-97016-5
4961:978-3-540-13299-8
4933:978-0-13-629213-5
4908:978-0-321-41746-6
4883:978-3-540-00678-7
4737:. It is built on
4724:Related languages
4304:allows embedding
4279:Transaction logic
4119:was developed by
4089:Transaction logic
4083:and incorporates
4034:
4033:
3897:Japanese language
2704:Head :- Body
1813:program_optimized
1727:program_optimized
1708:
1707:
1429:, so the binding
411:first-order logic
392:logic programming
385:
384:
134:Typing discipline
16:(Redirected from
9924:
9864:
9863:
7584:
7572:
7565:
7558:
7549:
7548:
7535:
7534:
7507:
7506:
7240:
7233:
7226:
7217:
7216:
7143:
7140:
7138:
7136:
7134:
7132:
7126:Creative Commons
7014:
7012:
7011:
7002:. Archived from
6972:
6971:
6970:
6969:
6956:
6950:
6949:
6947:
6945:
6927:
6921:
6920:
6918:
6916:
6906:
6900:
6899:
6879:
6870:
6864:
6863:
6835:
6826:
6820:
6817:
6811:
6808:
6802:
6801:
6783:
6773:
6753:
6747:
6741:
6735:
6734:
6728:
6719:
6713:
6712:
6686:
6677:
6671:
6661:
6655:
6654:
6652:
6651:
6640:
6634:
6633:
6622:
6616:
6615:
6589:
6583:
6582:
6574:
6568:
6567:
6565:
6545:
6539:
6538:
6504:
6498:
6497:
6495:
6483:
6477:
6476:
6458:
6452:
6451:
6433:
6409:
6400:
6399:
6365:
6359:
6358:
6340:
6334:
6333:
6311:
6305:
6304:
6286:
6264:
6258:
6257:
6241:
6235:
6234:
6224:
6215:
6197:
6191:
6190:
6179:
6173:
6170:
6161:
6160:
6158:
6157:
6143:
6137:
6136:
6115:
6109:
6108:
6101:
6095:
6094:
6084:
6058:
6052:
6051:
6049:
6025:
6019:
6018:
5992:
5986:
5985:
5951:
5945:
5944:
5926:
5917:(1–2): 157–187.
5906:
5900:
5899:
5893:
5884:
5878:
5877:
5860:(3/4): 201–240.
5849:
5843:
5842:
5822:
5816:
5815:
5803:
5797:
5796:
5778:
5772:
5771:
5760:10.1109/2.108055
5743:
5737:
5726:
5720:
5719:
5717:
5716:
5707:. Archived from
5701:
5695:
5694:
5687:
5681:
5680:
5669:
5663:
5662:
5651:
5645:
5644:
5633:
5627:
5626:
5608:
5602:
5601:
5583:
5574:
5573:
5566:
5560:
5559:
5551:
5545:
5544:
5533:
5527:
5526:
5525:
5524:
5500:
5491:
5490:
5489:
5479:
5458:
5449:
5446:
5440:
5433:
5422:
5421:
5419:
5418:
5408:
5402:
5401:
5399:
5383:
5374:
5373:
5355:
5349:
5348:
5340:
5334:
5331:
5325:
5324:
5298:
5292:
5291:
5289:
5273:
5267:
5266:
5248:
5222:
5216:
5215:
5195:
5189:
5182:
5176:
5170:
5168:
5166:
5150:
5141:
5140:
5127:
5121:
5120:
5097:
5091:
5090:
5070:
5064:
5061:
5055:
5054:
5042:
5032:
5026:
5025:
5007:
4985:
4979:
4972:
4966:
4965:
4947:
4938:
4937:
4919:
4913:
4912:
4894:
4888:
4887:
4869:
4852:
4833:
4689:knowledge graphs
4669:pattern matching
4658:
4579:operating system
4530:Alain Colmerauer
4515:
4456:
4400:, a programming
4366:
4317:
4217:formats such as
4140:graphics library
4066:rational numbers
4055:
4027:
4019:
4014:
4006:
4001:
3988:
3893:natural language
3675:
3672:
3669:
3666:
3663:
3660:
3657:
3654:
3644:
3641:
3638:
3635:
3632:
3629:
3626:
3623:
3620:
3617:
3614:
3611:
3608:
3605:
3602:
3599:
3596:
3593:
3590:
3587:
3584:
3581:
3578:
3575:
3565:
3562:
3559:
3556:
3553:
3550:
3547:
3544:
3541:
3538:
3535:
3532:
3529:
3526:
3523:
3520:
3517:
3514:
3511:
3508:
3505:
3502:
3499:
3496:
3493:
3490:
3487:
3484:
3481:
3478:
3475:
3472:
3469:
3466:
3463:
3460:
3457:
3454:
3451:
3448:
3445:
3442:
3439:
3436:
3433:
3430:
3427:
3424:
3421:
3418:
3415:
3412:
3409:
3406:
3403:
3400:
3397:
3394:
3391:
3388:
3385:
3382:
3379:
3376:
3373:
3370:
3367:
3364:
3361:
3358:
3355:
3352:
3349:
3346:
3343:
3340:
3337:
3334:
3331:
3328:
3325:
3322:
3319:
3316:
3313:
3310:
3307:
3304:
3301:
3298:
3295:
3292:
3289:
3286:
3283:
3280:
3277:
3274:
3271:
3268:
3265:
3262:
3259:
3256:
3253:
3250:
3247:
3244:
3241:
3238:
3235:
3232:
3229:
3226:
3223:
3220:
3217:
3214:
3211:
3208:
3205:
3202:
3199:
3196:
3193:
3190:
3187:
3184:
3181:
3178:
3175:
3172:
3169:
3166:
3163:
3160:
3157:
3154:
3151:
3148:
3145:
3142:
3139:
3136:
3133:
3130:
3127:
3124:
3121:
3118:
3115:
3112:
3109:
3106:
3103:
3100:
3097:
3094:
3091:
3088:
3085:
3082:
3079:
3076:
3073:
3070:
3067:
3064:
3061:
3058:
3055:
3052:
3049:
3022:
3018:
3014:
3007:
3004:
3001:
2998:
2995:
2992:
2989:
2986:
2983:
2980:
2977:
2974:
2971:
2961:
2958:
2955:
2952:
2949:
2946:
2943:
2940:
2937:
2934:
2931:
2928:
2925:
2922:
2919:
2916:
2913:
2910:
2907:
2904:
2901:
2898:
2895:
2892:
2889:
2886:
2883:
2880:
2877:
2874:
2871:
2868:
2865:
2862:
2859:
2856:
2853:
2850:
2847:
2844:
2841:
2838:
2835:
2832:
2829:
2826:
2823:
2820:
2817:
2814:
2811:
2808:
2805:
2802:
2799:
2796:
2793:
2790:
2787:
2784:
2781:
2778:
2775:
2772:
2769:
2766:
2763:
2760:
2757:
2754:
2751:
2748:
2745:
2742:
2739:
2736:
2733:
2730:
2727:
2720:
2712:
2705:
2701:
2697:
2690:
2687:
2684:
2681:
2678:
2675:
2672:
2669:
2666:
2663:
2660:
2657:
2654:
2651:
2648:
2645:
2642:
2639:
2636:
2633:
2630:
2627:
2624:
2621:
2618:
2615:
2612:
2609:
2606:
2603:
2600:
2597:
2594:
2591:
2583:meta-interpreter
2556:
2552:
2548:
2448:
2436:
2432:
2428:
2424:
2420:
2413:
2410:
2407:
2404:
2401:
2398:
2395:
2392:
2389:
2386:
2383:
2380:
2377:
2374:
2371:
2368:
2365:
2362:
2359:
2356:
2353:
2350:
2347:
2344:
2341:
2338:
2335:
2332:
2329:
2322:
2318:
2308:
2305:
2302:
2299:
2296:
2293:
2290:
2287:
2284:
2281:
2278:
2275:
2272:
2269:
2266:
2263:
2260:
2257:
2254:
2251:
2248:
2245:
2242:
2239:
2236:
2233:
2230:
2227:
2224:
2221:
2218:
2215:
2212:
2209:
2206:
2203:
2200:
2197:
2194:
2191:
2188:
2185:
2182:
2179:
2176:
2173:
2150:
2146:
2142:
2138:
2134:
2130:
2126:
2122:
2079:
2076:
2073:
2070:
2067:
2064:
2061:
2058:
2055:
2052:
2049:
2046:
2043:
2040:
2037:
2034:
2031:
2028:
2025:
2022:
2019:
2016:
2013:
2010:
2007:
2004:
2001:
1998:
1995:
1992:
1989:
1986:
1983:
1980:
1977:
1974:
1971:
1968:
1965:
1962:
1959:
1956:
1953:
1950:
1947:
1944:
1941:
1938:
1935:
1932:
1929:
1926:
1923:
1920:
1917:
1914:
1911:
1908:
1905:
1902:
1899:
1896:
1893:
1890:
1887:
1884:
1881:
1878:
1875:
1872:
1869:
1866:
1863:
1860:
1857:
1854:
1835:
1832:
1829:
1826:
1823:
1820:
1817:
1814:
1800:
1797:
1794:
1791:
1788:
1785:
1782:
1779:
1776:
1773:
1770:
1767:
1764:
1761:
1758:
1755:
1752:
1749:
1746:
1743:
1740:
1737:
1734:
1731:
1728:
1702:
1699:
1696:
1693:
1690:
1687:
1684:
1681:
1678:
1675:
1672:
1669:
1666:
1663:
1654:
1651:
1648:
1645:
1642:
1639:
1636:
1633:
1630:
1627:
1624:
1621:
1618:
1599:
1598:
1584:
1580:
1576:
1560:
1548:
1544:
1540:
1536:
1529:
1526:
1523:
1520:
1517:
1514:
1511:
1508:
1505:
1502:
1495:
1483:
1471:
1461:
1458:
1455:
1452:
1449:
1446:
1443:
1436:
1432:
1428:
1424:
1420:
1416:
1412:
1405:
1402:
1399:
1396:
1393:
1390:
1387:
1384:
1352:
1345:
1342:
1339:
1336:
1333:
1330:
1327:
1324:
1321:
1318:
1315:
1312:
1309:
1306:
1303:
1300:
1297:
1294:
1291:
1288:
1285:
1282:
1279:
1276:
1273:
1270:
1267:
1264:
1261:
1258:
1255:
1252:
1241:
1226:
1215:
1211:
1207:
1203:
1199:
1195:
1191:
1187:
1183:
1179:
1175:
1168:
1164:
1157:
1154:
1151:
1148:
1145:
1142:
1139:
1136:
1133:
1130:
1127:
1124:
1121:
1118:
1115:
1112:
1109:
1106:
1103:
1100:
1097:
1094:
1091:
1088:
1085:
1082:
1079:
1076:
1073:
1070:
1067:
1064:
1061:
1058:
1055:
1052:
1049:
1046:
1043:
1040:
1037:
1034:
1031:
1028:
1025:
1022:
1019:
1016:
1013:
1010:
1007:
1004:
1001:
998:
995:
992:
989:
986:
983:
980:
977:
974:
971:
968:
965:
962:
959:
956:
953:
922:
919:
916:
913:
910:
907:
904:
901:
888:
885:
882:
879:
876:
873:
870:
867:
864:
850:
847:
844:
841:
838:
835:
832:
829:
817:
814:
811:
808:
805:
802:
788:is always true.
787:
780:
777:
774:
771:
768:
765:
762:
752:
749:
746:
743:
725:
717:
709:
705:logical operator
695:
692:
689:
686:
666:
662:
652:
649:
646:
631:
590:
586:
582:
578:
574:
537:Prolog's single
375:
198:
195:
193:
191:
189:
187:
181:
178:
176:
174:
172:
170:
158:
154:
150:
122:
120:
115:
109:
107:
102:
84:
82:
77:
65:Alain Colmerauer
60:Designed by
44:
40:
21:
9932:
9931:
9927:
9926:
9925:
9923:
9922:
9921:
9877:
9876:
9875:
9870:
9852:
9776:
9502:
8654:
7603:
7585:
7582:
7576:
7546:
7541:
7495:
7272:
7249:
7244:
7214:
7156:Richard O'Keefe
7129:
7009:
7007:
7000:
6981:
6979:Further reading
6976:
6975:
6967:
6965:
6958:
6957:
6953:
6943:
6941:
6928:
6924:
6914:
6912:
6908:
6907:
6903:
6877:
6871:
6867:
6833:
6827:
6823:
6818:
6814:
6809:
6805:
6754:
6750:
6742:
6738:
6726:
6720:
6716:
6684:
6678:
6674:
6662:
6658:
6649:
6647:
6646:. Apps.lumii.lv
6642:
6641:
6637:
6624:
6623:
6619:
6612:
6590:
6586:
6575:
6571:
6546:
6542:
6535:
6505:
6501:
6484:
6480:
6473:
6459:
6455:
6410:
6403:
6396:
6366:
6362:
6355:
6341:
6337:
6312:
6308:
6284:10.1.1.616.6372
6265:
6261:
6242:
6238:
6225:
6218:
6212:Wayback Machine
6198:
6194:
6181:
6180:
6176:
6171:
6164:
6155:
6153:
6145:
6144:
6140:
6117:
6116:
6112:
6103:
6102:
6098:
6059:
6055:
6026:
6022:
6015:
5993:
5989:
5974:
5958:. p. 100.
5952:
5948:
5907:
5903:
5891:
5885:
5881:
5850:
5846:
5823:
5819:
5804:
5800:
5793:
5779:
5775:
5744:
5740:
5727:
5723:
5714:
5712:
5703:
5702:
5698:
5689:
5688:
5684:
5671:
5670:
5666:
5653:
5652:
5648:
5635:
5634:
5630:
5623:
5609:
5605:
5598:
5584:
5577:
5567:
5563:
5552:
5548:
5534:
5530:
5522:
5520:
5501:
5494:
5459:
5452:
5447:
5443:
5434:
5425:
5416:
5414:
5410:
5409:
5405:
5384:
5377:
5370:
5356:
5352:
5341:
5337:
5332:
5328:
5321:
5299:
5295:
5274:
5270:
5223:
5219:
5212:
5196:
5192:
5183:
5179:
5164:
5162:
5151:
5144:
5128:
5124:
5117:
5098:
5094:
5087:
5071:
5067:
5062:
5058:
5051:
5033:
5029:
4986:
4982:
4973:
4969:
4962:
4948:
4941:
4934:
4920:
4916:
4909:
4895:
4891:
4884:
4870:
4866:
4861:
4856:
4855:
4834:
4830:
4825:
4763:Turing-complete
4752:object-oriented
4726:
4697:
4656:
4645:
4643:Use in industry
4631:
4627:
4618:
4616:
4612:
4604:
4602:
4598:
4574:Kernel Language
4542:Robert Kowalski
4534:Robert Kowalski
4523:programming in
4495:
4454:
4404:bridge between
4362:
4313:
4294:
4265:
4253:Wayback Machine
4243:
4203:web programming
4184:
4182:Web programming
4164:
4136:
4074:
4053:
4043:
4025:
4017:
4012:
4004:
3999:
3994:Interpretation
3991:Mode specifier
3986:
3974:
3966:knowledge bases
3954:object-oriented
3942:
3909:
3895:inputs, in the
3875:
3844:), implement a
3822:
3816:
3800:
3781:sub-linear-time
3769:
3763:
3746:
3721:
3696:
3691:
3685:
3677:
3676:
3673:
3670:
3667:
3664:
3661:
3658:
3655:
3652:
3646:
3645:
3642:
3639:
3636:
3633:
3630:
3627:
3624:
3621:
3618:
3615:
3612:
3609:
3606:
3603:
3600:
3597:
3594:
3591:
3588:
3585:
3582:
3579:
3576:
3573:
3567:
3566:
3563:
3560:
3557:
3554:
3551:
3548:
3545:
3542:
3539:
3536:
3533:
3530:
3527:
3524:
3521:
3518:
3515:
3512:
3509:
3506:
3503:
3500:
3497:
3494:
3491:
3488:
3485:
3482:
3479:
3476:
3473:
3470:
3467:
3464:
3461:
3458:
3455:
3452:
3449:
3446:
3443:
3440:
3437:
3434:
3431:
3428:
3425:
3422:
3419:
3416:
3413:
3410:
3407:
3404:
3401:
3398:
3395:
3392:
3389:
3386:
3383:
3380:
3377:
3374:
3371:
3368:
3365:
3362:
3359:
3356:
3353:
3350:
3347:
3344:
3341:
3338:
3335:
3332:
3329:
3326:
3323:
3320:
3317:
3314:
3311:
3308:
3305:
3302:
3299:
3296:
3293:
3290:
3287:
3284:
3281:
3278:
3275:
3272:
3269:
3266:
3263:
3260:
3257:
3254:
3251:
3248:
3245:
3242:
3239:
3236:
3233:
3230:
3227:
3224:
3221:
3218:
3215:
3212:
3209:
3206:
3203:
3200:
3197:
3194:
3191:
3188:
3185:
3182:
3179:
3176:
3173:
3170:
3167:
3164:
3161:
3158:
3155:
3152:
3149:
3146:
3143:
3140:
3137:
3134:
3131:
3128:
3125:
3122:
3119:
3116:
3113:
3110:
3107:
3104:
3101:
3098:
3095:
3092:
3089:
3086:
3083:
3080:
3077:
3074:
3071:
3068:
3065:
3062:
3059:
3056:
3053:
3050:
3047:
3041:Turing-complete
3033:predicate logic
3029:
3020:
3016:
3012:
3009:
3008:
3005:
3002:
2999:
2996:
2993:
2990:
2987:
2984:
2981:
2978:
2975:
2972:
2969:
2963:
2962:
2959:
2956:
2953:
2950:
2947:
2944:
2941:
2938:
2935:
2932:
2929:
2926:
2923:
2920:
2917:
2914:
2911:
2908:
2905:
2902:
2899:
2896:
2893:
2890:
2887:
2884:
2881:
2878:
2875:
2872:
2869:
2866:
2863:
2860:
2857:
2854:
2851:
2848:
2845:
2842:
2839:
2836:
2833:
2830:
2827:
2824:
2821:
2818:
2815:
2812:
2809:
2806:
2803:
2800:
2797:
2794:
2791:
2788:
2785:
2782:
2779:
2776:
2773:
2770:
2767:
2764:
2761:
2758:
2755:
2752:
2749:
2746:
2743:
2740:
2737:
2734:
2731:
2728:
2725:
2718:
2710:
2703:
2699:
2695:
2692:
2691:
2688:
2685:
2682:
2679:
2676:
2673:
2670:
2667:
2664:
2661:
2658:
2655:
2652:
2649:
2646:
2643:
2640:
2637:
2634:
2631:
2628:
2625:
2622:
2619:
2616:
2613:
2610:
2607:
2604:
2601:
2598:
2595:
2592:
2589:
2567:
2554:
2550:
2546:
2539:
2531:Main articles:
2529:
2466:
2446:
2434:
2430:
2426:
2422:
2418:
2415:
2414:
2411:
2408:
2405:
2402:
2399:
2396:
2393:
2390:
2387:
2384:
2381:
2378:
2375:
2372:
2369:
2366:
2363:
2360:
2357:
2354:
2351:
2348:
2345:
2342:
2339:
2336:
2333:
2330:
2327:
2320:
2316:
2310:
2309:
2306:
2303:
2300:
2297:
2294:
2291:
2288:
2285:
2282:
2279:
2276:
2273:
2270:
2267:
2264:
2261:
2258:
2255:
2252:
2249:
2246:
2243:
2240:
2237:
2234:
2231:
2228:
2225:
2222:
2219:
2216:
2213:
2210:
2207:
2204:
2201:
2198:
2195:
2192:
2189:
2186:
2183:
2180:
2177:
2174:
2171:
2165:perfect numbers
2163:. For example,
2148:
2144:
2140:
2136:
2132:
2128:
2124:
2120:
2116:
2108:Main articles:
2106:
2094:software design
2086:
2081:
2080:
2077:
2074:
2071:
2068:
2065:
2062:
2059:
2056:
2053:
2050:
2047:
2044:
2041:
2038:
2035:
2032:
2029:
2026:
2023:
2020:
2017:
2014:
2011:
2008:
2005:
2002:
1999:
1996:
1993:
1990:
1987:
1984:
1981:
1978:
1975:
1972:
1969:
1966:
1963:
1960:
1957:
1954:
1951:
1948:
1945:
1942:
1939:
1936:
1933:
1930:
1927:
1924:
1921:
1918:
1915:
1912:
1909:
1906:
1903:
1900:
1897:
1894:
1891:
1888:
1885:
1882:
1879:
1876:
1873:
1870:
1867:
1864:
1861:
1858:
1855:
1852:
1842:
1837:
1836:
1833:
1830:
1827:
1824:
1821:
1818:
1815:
1812:
1802:
1801:
1798:
1795:
1792:
1789:
1786:
1783:
1780:
1777:
1774:
1771:
1768:
1765:
1762:
1759:
1756:
1753:
1750:
1747:
1744:
1741:
1738:
1735:
1732:
1729:
1726:
1716:
1704:
1703:
1700:
1697:
1694:
1691:
1688:
1685:
1682:
1679:
1676:
1673:
1670:
1667:
1664:
1661:
1656:
1655:
1652:
1649:
1646:
1643:
1640:
1637:
1634:
1631:
1628:
1625:
1622:
1619:
1616:
1594:
1582:
1578:
1574:
1567:
1558:
1546:
1542:
1538:
1534:
1531:
1530:
1527:
1524:
1521:
1518:
1515:
1512:
1509:
1506:
1503:
1500:
1493:
1481:
1478:
1469:
1463:
1462:
1459:
1456:
1453:
1450:
1447:
1444:
1441:
1434:
1430:
1426:
1422:
1418:
1414:
1410:
1407:
1406:
1403:
1400:
1397:
1394:
1391:
1388:
1385:
1382:
1359:
1350:
1347:
1346:
1343:
1340:
1337:
1334:
1331:
1328:
1325:
1322:
1319:
1316:
1313:
1310:
1307:
1304:
1301:
1298:
1295:
1292:
1289:
1286:
1283:
1280:
1277:
1274:
1271:
1268:
1265:
1262:
1259:
1256:
1253:
1250:
1239:
1233:
1224:
1213:
1212:, given a list
1209:
1205:
1201:
1197:
1193:
1189:
1185:
1181:
1180:, given a list
1178:length(List, L)
1177:
1173:
1166:
1162:
1159:
1158:
1155:
1152:
1149:
1146:
1143:
1140:
1137:
1134:
1131:
1128:
1125:
1122:
1119:
1116:
1113:
1110:
1107:
1104:
1101:
1098:
1095:
1092:
1089:
1086:
1083:
1080:
1077:
1074:
1071:
1068:
1065:
1062:
1059:
1056:
1053:
1050:
1047:
1044:
1041:
1038:
1035:
1032:
1029:
1026:
1023:
1020:
1017:
1014:
1011:
1008:
1005:
1002:
999:
996:
993:
990:
987:
984:
981:
978:
975:
972:
969:
966:
963:
960:
957:
954:
951:
929:
924:
923:
920:
917:
914:
911:
908:
905:
902:
899:
890:
889:
886:
883:
880:
877:
874:
871:
868:
865:
862:
852:
851:
848:
845:
842:
839:
836:
833:
830:
827:
819:
818:
815:
812:
809:
806:
803:
800:
785:
782:
781:
778:
775:
772:
769:
766:
763:
760:
754:
753:
750:
747:
744:
741:
723:
715:
707:
703:. The built-in
697:
696:
693:
690:
687:
684:
674:
672:Rules and facts
664:
663:. For example,
660:
651:
648:
647:. For example,
645:
629:
588:
584:
580:
576:
572:
535:
517:, checking the
483:
477:
446:theorem proving
429:, which define
205:implementations
184:
182:
167:
156:
152:
148:
124:
118:
116:
113:
111:
105:
103:
100:
80:
78:
75:
39:
28:
23:
22:
15:
12:
11:
5:
9930:
9920:
9919:
9914:
9909:
9904:
9899:
9894:
9889:
9872:
9871:
9869:
9868:
9857:
9854:
9853:
9851:
9850:
9845:
9840:
9835:
9830:
9825:
9820:
9815:
9810:
9805:
9800:
9795:
9790:
9784:
9782:
9778:
9777:
9775:
9774:
9769:
9764:
9759:
9756:
9751:
9746:
9741:
9736:
9731:
9726:
9721:
9716:
9711:
9706:
9701:
9696:
9691:
9686:
9681:
9676:
9671:
9666:
9661:
9656:
9651:
9646:
9641:
9636:
9631:
9626:
9621:
9616:
9611:
9606:
9601:
9596:
9591:
9586:
9581:
9576:
9571:
9566:
9561:
9556:
9551:
9546:
9541:
9536:
9531:
9526:
9521:
9516:
9510:
9508:
9504:
9503:
9501:
9500:
9495:
9490:
9485:
9480:
9475:
9470:
9465:
9460:
9455:
9450:
9445:
9440:
9435:
9430:
9425:
9420:
9415:
9410:
9405:
9400:
9395:
9390:
9385:
9384:
9383:
9378:
9368:
9363:
9358:
9353:
9348:
9343:
9338:
9333:
9328:
9323:
9318:
9313:
9308:
9303:
9298:
9293:
9288:
9283:
9278:
9273:
9268:
9263:
9258:
9253:
9248:
9243:
9238:
9233:
9228:
9223:
9218:
9213:
9212:
9211:
9201:
9196:
9191:
9186:
9181:
9176:
9171:
9170:
9169:
9164:
9154:
9149:
9144:
9139:
9134:
9129:
9124:
9119:
9114:
9109:
9104:
9099:
9094:
9089:
9084:
9083:
9082:
9077:
9072:
9067:
9062:
9057:
9052:
9047:
9042:
9032:
9027:
9022:
9017:
9012:
9007:
9002:
8997:
8992:
8987:
8982:
8977:
8972:
8967:
8962:
8957:
8952:
8947:
8942:
8937:
8936:
8935:
8930:
8920:
8915:
8910:
8905:
8900:
8895:
8890:
8885:
8880:
8875:
8865:
8860:
8855:
8850:
8845:
8840:
8835:
8830:
8825:
8820:
8815:
8810:
8805:
8800:
8795:
8790:
8785:
8780:
8775:
8770:
8765:
8760:
8755:
8750:
8749:
8748:
8743:
8738:
8733:
8728:
8718:
8713:
8708:
8703:
8698:
8693:
8688:
8683:
8678:
8673:
8668:
8662:
8660:
8656:
8655:
8653:
8652:
8647:
8642:
8637:
8632:
8627:
8622:
8617:
8612:
8607:
8602:
8597:
8592:
8587:
8582:
8577:
8572:
8567:
8562:
8557:
8552:
8547:
8542:
8537:
8532:
8527:
8522:
8521:
8520:
8515:
8510:
8505:
8500:
8495:
8490:
8485:
8480:
8475:
8470:
8465:
8460:
8455:
8450:
8445:
8440:
8430:
8425:
8420:
8415:
8410:
8405:
8400:
8395:
8390:
8385:
8380:
8375:
8370:
8365:
8360:
8355:
8350:
8345:
8340:
8335:
8330:
8325:
8320:
8315:
8310:
8305:
8304:
8303:
8293:
8288:
8283:
8278:
8273:
8268:
8263:
8258:
8253:
8248:
8243:
8238:
8233:
8228:
8223:
8218:
8213:
8208:
8203:
8198:
8193:
8188:
8183:
8178:
8173:
8168:
8163:
8158:
8153:
8148:
8143:
8138:
8133:
8128:
8123:
8118:
8113:
8108:
8103:
8098:
8093:
8088:
8083:
8082:
8081:
8076:
8071:
8061:
8056:
8051:
8046:
8041:
8036:
8031:
8026:
8021:
8016:
8011:
8006:
8001:
7996:
7991:
7986:
7981:
7976:
7971:
7966:
7961:
7956:
7951:
7946:
7941:
7936:
7931:
7926:
7921:
7916:
7911:
7906:
7901:
7896:
7891:
7886:
7881:
7876:
7871:
7866:
7861:
7856:
7851:
7846:
7841:
7840:
7839:
7834:
7829:
7824:
7819:
7809:
7804:
7799:
7794:
7789:
7784:
7779:
7774:
7769:
7764:
7759:
7754:
7749:
7744:
7739:
7734:
7729:
7728:
7727:
7722:
7717:
7712:
7707:
7702:
7697:
7692:
7687:
7682:
7677:
7672:
7667:
7657:
7652:
7647:
7642:
7637:
7632:
7627:
7622:
7617:
7611:
7609:
7605:
7604:
7590:
7587:
7586:
7575:
7574:
7567:
7560:
7552:
7543:
7542:
7540:
7539:
7529:
7524:
7519:
7514:
7500:
7497:
7496:
7494:
7493:
7486:
7481:
7476:
7471:
7466:
7461:
7456:
7451:
7446:
7441:
7436:
7431:
7426:
7425:
7424:
7414:
7409:
7404:
7399:
7394:
7389:
7384:
7379:
7374:
7369:
7364:
7359:
7354:
7349:
7344:
7339:
7334:
7329:
7328:
7327:
7326:
7325:
7320:
7305:
7300:
7295:
7294:
7293:
7283:
7277:
7274:
7273:
7271:
7270:
7265:
7260:
7254:
7251:
7250:
7243:
7242:
7235:
7228:
7220:
7213:
7212:
7208:
7186:
7171:
7153:
7118:
7108:
7101:
7087:
7069:
7054:
7036:
7015:
6998:
6982:
6980:
6977:
6974:
6973:
6951:
6932:"POP and SNAP"
6922:
6901:
6865:
6821:
6812:
6803:
6781:10.1.1.58.6610
6748:
6736:
6714:
6672:
6663:Ehud Shapiro.
6656:
6635:
6630:swi-prolog.org
6617:
6610:
6584:
6569:
6540:
6533:
6499:
6478:
6471:
6453:
6401:
6394:
6360:
6353:
6335:
6306:
6277:(3): 374–425.
6259:
6236:
6216:
6192:
6174:
6162:
6138:
6110:
6096:
6053:
6020:
6013:
5987:
5972:
5946:
5901:
5879:
5844:
5817:
5798:
5791:
5773:
5738:
5721:
5696:
5682:
5664:
5646:
5628:
5621:
5603:
5596:
5575:
5561:
5546:
5528:
5492:
5470:(6): 776–858,
5450:
5441:
5423:
5403:
5397:10.1.1.35.4505
5375:
5368:
5350:
5335:
5326:
5319:
5293:
5287:10.1.1.56.7278
5268:
5239:(6): 889–927.
5217:
5210:
5190:
5177:
5142:
5122:
5115:
5092:
5085:
5065:
5056:
5049:
5027:
5005:10.1.1.47.3057
4998:(4): 353–380.
4980:
4967:
4960:
4939:
4932:
4914:
4907:
4889:
4882:
4863:
4862:
4860:
4857:
4854:
4853:
4849:atomic formula
4845:atomic formula
4827:
4826:
4824:
4821:
4820:
4819:
4812:
4802:
4796:
4786:
4775:
4772:
4766:
4756:
4749:strongly typed
4742:
4739:SICStus Prolog
4725:
4722:
4721:
4720:
4715:
4709:
4703:
4696:
4693:
4682:graph database
4674:expressiveness
4644:
4641:
4629:
4625:
4614:
4610:
4608:
4600:
4596:
4594:
4577:for its first
4494:
4491:
4490:
4489:
4482:
4475:
4465:
4458:
4448:
4442:
4436:
4421:
4395:
4388:
4347:
4293:
4290:
4289:
4288:
4282:
4276:
4264:
4261:
4242:
4239:
4183:
4180:
4170:extension for
4163:
4160:
4135:
4132:
4073:
4070:
4042:
4039:
4032:
4031:
4030:Not specified
4028:
4022:
4021:
4015:
4009:
4008:
4002:
3996:
3995:
3992:
3985:
3982:
3973:
3970:
3941:
3938:
3908:
3905:
3874:
3871:
3867:SLG resolution
3848:method called
3818:Main article:
3815:
3812:
3799:
3796:
3777:data structure
3765:Main article:
3762:
3759:
3754:tail recursion
3745:
3744:Tail recursion
3742:
3720:
3717:
3695:
3692:
3684:
3683:Implementation
3681:
3651:
3572:
3046:
3028:
3025:
2968:
2724:
2588:
2566:
2563:
2528:
2525:
2478:Prolog systems
2465:
2462:
2326:
2170:
2105:
2102:
2090:design pattern
2085:
2082:
1851:
1841:
1838:
1811:
1725:
1715:
1712:
1706:
1705:
1660:
1657:
1615:
1611:
1610:
1605:
1593:
1590:
1566:
1563:
1499:
1477:
1474:
1440:
1381:
1367:SLD resolution
1358:
1355:
1249:
1240:parent_child/2
1232:
1229:
1192:). Similarly,
1167:parent_child/2
1163:father_child/2
950:
928:
925:
898:
861:
826:
799:
759:
740:
722:of goals, and
683:
673:
670:
669:
668:
654:
634:
633:
613:
606:
592:
561:compound terms
534:
531:
479:Main article:
476:
473:
454:term rewriting
450:expert systems
383:
382:
381:
380:
366:
365:
315:
314:
310:
309:
303:
302:
298:
297:
290:
289:
283:
282:
244:Quintus Prolog
208:
207:
200:
199:
164:
160:
159:
146:
140:
139:
136:
130:
129:
126:
125:
98:
96:
94:Stable release
90:
89:
86:
85:
72:
68:
67:
62:
56:
55:
50:
26:
9:
6:
4:
3:
2:
9929:
9918:
9915:
9913:
9910:
9908:
9905:
9903:
9900:
9898:
9895:
9893:
9890:
9888:
9885:
9884:
9882:
9867:
9859:
9858:
9855:
9849:
9846:
9844:
9841:
9839:
9836:
9834:
9831:
9829:
9826:
9824:
9821:
9819:
9816:
9814:
9811:
9809:
9806:
9804:
9801:
9799:
9796:
9794:
9791:
9789:
9786:
9785:
9783:
9779:
9773:
9770:
9768:
9765:
9763:
9760:
9757:
9755:
9752:
9750:
9747:
9745:
9742:
9740:
9737:
9735:
9732:
9730:
9727:
9725:
9722:
9720:
9717:
9715:
9712:
9710:
9707:
9705:
9702:
9700:
9697:
9695:
9692:
9690:
9687:
9685:
9682:
9680:
9677:
9675:
9672:
9670:
9667:
9665:
9662:
9660:
9657:
9655:
9652:
9650:
9647:
9645:
9642:
9640:
9637:
9635:
9632:
9630:
9627:
9625:
9622:
9620:
9617:
9615:
9612:
9610:
9607:
9605:
9602:
9600:
9597:
9595:
9592:
9590:
9587:
9585:
9582:
9580:
9577:
9575:
9572:
9570:
9567:
9565:
9562:
9560:
9557:
9555:
9552:
9550:
9547:
9545:
9542:
9540:
9537:
9535:
9532:
9530:
9527:
9525:
9522:
9520:
9517:
9515:
9512:
9511:
9509:
9505:
9499:
9496:
9494:
9491:
9489:
9486:
9484:
9481:
9479:
9476:
9474:
9471:
9469:
9466:
9464:
9461:
9459:
9456:
9454:
9451:
9449:
9446:
9444:
9441:
9439:
9436:
9434:
9431:
9429:
9426:
9424:
9421:
9419:
9416:
9414:
9411:
9409:
9406:
9404:
9401:
9399:
9396:
9394:
9391:
9389:
9386:
9382:
9379:
9377:
9374:
9373:
9372:
9369:
9367:
9364:
9362:
9359:
9357:
9354:
9352:
9349:
9347:
9344:
9342:
9339:
9337:
9334:
9332:
9329:
9327:
9324:
9322:
9319:
9317:
9314:
9312:
9309:
9307:
9304:
9302:
9299:
9297:
9294:
9292:
9289:
9287:
9284:
9282:
9279:
9277:
9274:
9272:
9269:
9267:
9264:
9262:
9259:
9257:
9254:
9252:
9249:
9247:
9244:
9242:
9239:
9237:
9234:
9232:
9229:
9227:
9224:
9222:
9219:
9217:
9214:
9210:
9207:
9206:
9205:
9202:
9200:
9197:
9195:
9192:
9190:
9187:
9185:
9182:
9180:
9177:
9175:
9172:
9168:
9165:
9163:
9160:
9159:
9158:
9155:
9153:
9150:
9148:
9145:
9143:
9140:
9138:
9135:
9133:
9130:
9128:
9125:
9123:
9120:
9118:
9115:
9113:
9110:
9108:
9105:
9103:
9100:
9098:
9095:
9093:
9090:
9088:
9085:
9081:
9078:
9076:
9073:
9071:
9068:
9066:
9063:
9061:
9058:
9056:
9053:
9051:
9048:
9046:
9043:
9041:
9038:
9037:
9036:
9033:
9031:
9028:
9026:
9023:
9021:
9018:
9016:
9013:
9011:
9008:
9006:
9003:
9001:
8998:
8996:
8993:
8991:
8988:
8986:
8983:
8981:
8978:
8976:
8973:
8971:
8968:
8966:
8963:
8961:
8958:
8956:
8953:
8951:
8948:
8946:
8943:
8941:
8938:
8934:
8931:
8929:
8926:
8925:
8924:
8921:
8919:
8916:
8914:
8911:
8909:
8906:
8904:
8901:
8899:
8896:
8894:
8891:
8889:
8886:
8884:
8881:
8879:
8876:
8873:
8869:
8866:
8864:
8861:
8859:
8856:
8854:
8851:
8849:
8846:
8844:
8841:
8839:
8836:
8834:
8831:
8829:
8826:
8824:
8821:
8819:
8816:
8814:
8811:
8809:
8806:
8804:
8801:
8799:
8796:
8794:
8791:
8789:
8786:
8784:
8781:
8779:
8776:
8774:
8771:
8769:
8766:
8764:
8761:
8759:
8756:
8754:
8751:
8747:
8744:
8742:
8739:
8737:
8734:
8732:
8729:
8727:
8724:
8723:
8722:
8719:
8717:
8714:
8712:
8709:
8707:
8704:
8702:
8699:
8697:
8694:
8692:
8689:
8687:
8684:
8682:
8679:
8677:
8674:
8672:
8669:
8667:
8664:
8663:
8661:
8657:
8651:
8648:
8646:
8643:
8641:
8638:
8636:
8633:
8631:
8628:
8626:
8623:
8621:
8618:
8616:
8613:
8611:
8608:
8606:
8603:
8601:
8598:
8596:
8593:
8591:
8588:
8586:
8583:
8581:
8578:
8576:
8573:
8571:
8568:
8566:
8563:
8561:
8558:
8556:
8553:
8551:
8548:
8546:
8543:
8541:
8538:
8536:
8533:
8531:
8528:
8526:
8523:
8519:
8516:
8514:
8511:
8509:
8506:
8504:
8501:
8499:
8496:
8494:
8491:
8489:
8486:
8484:
8481:
8479:
8476:
8474:
8471:
8469:
8466:
8464:
8461:
8459:
8456:
8454:
8451:
8449:
8446:
8444:
8441:
8439:
8436:
8435:
8434:
8431:
8429:
8426:
8424:
8421:
8419:
8416:
8414:
8411:
8409:
8406:
8404:
8401:
8399:
8396:
8394:
8391:
8389:
8386:
8384:
8381:
8379:
8376:
8374:
8371:
8369:
8366:
8364:
8361:
8359:
8356:
8354:
8351:
8349:
8346:
8344:
8341:
8339:
8336:
8334:
8331:
8329:
8326:
8324:
8321:
8319:
8316:
8314:
8311:
8309:
8306:
8302:
8299:
8298:
8297:
8294:
8292:
8289:
8287:
8284:
8282:
8279:
8277:
8274:
8272:
8269:
8267:
8264:
8262:
8259:
8257:
8254:
8252:
8249:
8247:
8244:
8242:
8239:
8237:
8234:
8232:
8229:
8227:
8224:
8222:
8219:
8217:
8214:
8212:
8209:
8207:
8204:
8202:
8199:
8197:
8194:
8192:
8189:
8187:
8184:
8182:
8179:
8177:
8174:
8172:
8169:
8167:
8164:
8162:
8159:
8157:
8154:
8152:
8149:
8147:
8144:
8142:
8139:
8137:
8134:
8132:
8129:
8127:
8124:
8122:
8119:
8117:
8114:
8112:
8109:
8107:
8104:
8102:
8099:
8097:
8094:
8092:
8089:
8087:
8084:
8080:
8077:
8075:
8072:
8070:
8067:
8066:
8065:
8062:
8060:
8057:
8055:
8052:
8050:
8047:
8045:
8042:
8040:
8037:
8035:
8032:
8030:
8027:
8025:
8022:
8020:
8017:
8015:
8012:
8010:
8007:
8005:
8002:
8000:
7997:
7995:
7992:
7990:
7987:
7985:
7982:
7980:
7977:
7975:
7972:
7970:
7967:
7965:
7962:
7960:
7957:
7955:
7952:
7950:
7947:
7945:
7942:
7940:
7937:
7935:
7932:
7930:
7927:
7925:
7922:
7920:
7917:
7915:
7912:
7910:
7907:
7905:
7902:
7900:
7897:
7895:
7892:
7890:
7887:
7885:
7882:
7880:
7877:
7875:
7872:
7870:
7867:
7865:
7862:
7860:
7857:
7855:
7852:
7850:
7847:
7845:
7842:
7838:
7835:
7833:
7830:
7828:
7825:
7823:
7820:
7818:
7815:
7814:
7813:
7810:
7808:
7805:
7803:
7800:
7798:
7795:
7793:
7790:
7788:
7785:
7783:
7780:
7778:
7775:
7773:
7770:
7768:
7765:
7763:
7760:
7758:
7755:
7753:
7750:
7748:
7745:
7743:
7740:
7738:
7735:
7733:
7730:
7726:
7723:
7721:
7718:
7716:
7713:
7711:
7708:
7706:
7703:
7701:
7698:
7696:
7693:
7691:
7688:
7686:
7683:
7681:
7678:
7676:
7673:
7671:
7668:
7666:
7663:
7662:
7661:
7658:
7656:
7653:
7651:
7648:
7646:
7643:
7641:
7638:
7636:
7633:
7631:
7628:
7626:
7623:
7621:
7618:
7616:
7613:
7612:
7610:
7606:
7602:
7601:IEC standards
7598:
7594:
7593:ISO standards
7588:
7580:
7573:
7568:
7566:
7561:
7559:
7554:
7553:
7550:
7538:
7530:
7528:
7525:
7523:
7520:
7518:
7515:
7513:
7510:
7502:
7501:
7498:
7492:
7491:
7487:
7485:
7482:
7480:
7477:
7475:
7472:
7470:
7467:
7465:
7462:
7460:
7457:
7455:
7452:
7450:
7447:
7445:
7442:
7440:
7437:
7435:
7432:
7430:
7427:
7423:
7422:Object Pascal
7420:
7419:
7418:
7415:
7413:
7410:
7408:
7405:
7403:
7400:
7398:
7395:
7393:
7390:
7388:
7385:
7383:
7380:
7378:
7375:
7373:
7370:
7368:
7365:
7363:
7360:
7358:
7355:
7353:
7350:
7348:
7345:
7343:
7340:
7338:
7335:
7333:
7330:
7324:
7321:
7319:
7316:
7315:
7314:
7311:
7310:
7309:
7306:
7304:
7301:
7299:
7296:
7292:
7289:
7288:
7287:
7284:
7282:
7279:
7278:
7275:
7269:
7266:
7264:
7261:
7259:
7256:
7255:
7252:
7248:
7241:
7236:
7234:
7229:
7227:
7222:
7221:
7218:
7209:
7206:
7205:0-262-19338-8
7202:
7198:
7194:
7190:
7189:Leon Sterling
7187:
7184:
7180:
7176:
7172:
7169:
7168:0-262-15039-5
7165:
7161:
7157:
7154:
7151:
7150:0-12-416521-4
7147:
7142:
7127:
7123:
7119:
7116:
7112:
7109:
7106:
7102:
7100:
7096:
7092:
7088:
7085:
7084:0-13-138645-X
7081:
7077:
7073:
7070:
7067:
7063:
7059:
7055:
7053:
7049:
7045:
7041:
7037:
7035:
7031:
7027:
7023:
7019:
7016:
7006:on 2007-08-26
7005:
7001:
6995:
6991:
6990:
6984:
6983:
6963:
6962:
6955:
6940:. p. 381
6939:
6938:
6933:
6926:
6911:
6905:
6897:
6893:
6889:
6885:
6884:
6876:
6869:
6861:
6857:
6853:
6849:
6845:
6841:
6840:
6832:
6825:
6816:
6807:
6799:
6795:
6791:
6787:
6782:
6777:
6772:
6767:
6763:
6759:
6752:
6745:
6740:
6732:
6725:
6718:
6710:
6706:
6702:
6698:
6694:
6690:
6683:
6676:
6669:
6666:
6660:
6645:
6639:
6631:
6627:
6621:
6613:
6607:
6603:
6599:
6595:
6588:
6580:
6573:
6564:
6559:
6555:
6551:
6544:
6536:
6530:
6526:
6522:
6518:
6514:
6510:
6503:
6494:
6489:
6482:
6474:
6468:
6464:
6457:
6449:
6445:
6441:
6437:
6432:
6431:10.1.1.57.395
6427:
6423:
6419:
6415:
6408:
6406:
6397:
6391:
6387:
6383:
6379:
6375:
6371:
6364:
6356:
6350:
6346:
6339:
6331:
6327:
6323:
6319:
6318:
6310:
6302:
6298:
6294:
6290:
6285:
6280:
6276:
6272:
6271:
6263:
6255:
6251:
6247:
6240:
6232:
6231:
6223:
6221:
6213:
6209:
6206:
6202:
6196:
6188:
6184:
6178:
6169:
6167:
6152:
6148:
6142:
6134:
6130:
6126:
6125:
6124:New Scientist
6120:
6114:
6106:
6100:
6092:
6088:
6083:
6078:
6074:
6070:
6069:
6064:
6057:
6048:
6043:
6039:
6035:
6031:
6024:
6016:
6010:
6006:
6002:
5998:
5991:
5983:
5979:
5975:
5969:
5965:
5961:
5957:
5950:
5942:
5938:
5934:
5930:
5925:
5920:
5916:
5912:
5905:
5897:
5890:
5883:
5875:
5871:
5867:
5863:
5859:
5855:
5848:
5840:
5836:
5832:
5828:
5821:
5813:
5809:
5802:
5794:
5788:
5784:
5783:Term indexing
5777:
5769:
5765:
5761:
5757:
5753:
5749:
5742:
5735:
5731:
5725:
5711:on 2009-08-23
5710:
5706:
5700:
5692:
5686:
5678:
5674:
5668:
5660:
5656:
5650:
5642:
5638:
5632:
5624:
5618:
5614:
5607:
5599:
5593:
5589:
5582:
5580:
5572:
5565:
5557:
5550:
5543:
5539:
5532:
5519:on 2010-04-12
5518:
5514:
5510:
5506:
5499:
5497:
5488:
5483:
5478:
5473:
5469:
5465:
5457:
5455:
5445:
5438:
5432:
5430:
5428:
5413:
5407:
5398:
5393:
5389:
5382:
5380:
5371:
5365:
5361:
5354:
5346:
5339:
5330:
5322:
5316:
5312:
5308:
5304:
5297:
5288:
5283:
5279:
5272:
5264:
5260:
5256:
5252:
5247:
5242:
5238:
5234:
5233:
5228:
5221:
5213:
5207:
5203:
5202:
5194:
5187:
5181:
5174:
5160:
5156:
5149:
5147:
5138:
5137:
5132:
5126:
5118:
5112:
5108:
5107:
5102:
5096:
5088:
5082:
5078:
5077:
5069:
5060:
5052:
5046:
5041:
5040:
5031:
5023:
5019:
5015:
5011:
5006:
5001:
4997:
4993:
4992:
4984:
4977:
4971:
4963:
4957:
4953:
4946:
4944:
4935:
4929:
4925:
4918:
4910:
4904:
4900:
4893:
4885:
4879:
4875:
4868:
4864:
4850:
4846:
4842:
4838:
4832:
4828:
4816:
4813:
4810:
4806:
4803:
4800:
4797:
4794:
4790:
4787:
4784:
4780:
4776:
4773:
4770:
4767:
4764:
4760:
4757:
4753:
4750:
4746:
4745:Visual Prolog
4743:
4740:
4736:
4732:
4728:
4727:
4719:
4716:
4713:
4710:
4707:
4704:
4702:
4699:
4698:
4692:
4690:
4686:
4683:
4679:
4675:
4670:
4666:
4665:Apache Hadoop
4662:
4654:
4650:
4640:
4638:
4633:
4623:
4613:and ... and B
4607:
4593:
4592:of the form:
4591:
4587:
4582:
4580:
4576:
4575:
4570:
4566:
4561:
4559:
4555:
4551:
4547:
4543:
4539:
4535:
4531:
4527:
4526:
4520:
4516:
4514:
4508:
4499:
4486:
4483:
4479:
4476:
4473:
4469:
4466:
4462:
4459:
4452:
4449:
4446:
4443:
4440:
4437:
4434:
4430:
4425:
4422:
4419:
4415:
4411:
4407:
4403:
4399:
4396:
4392:
4389:
4386:
4382:
4378:
4374:
4370:
4365:
4360:
4356:
4352:
4348:
4345:
4341:
4337:
4333:
4329:
4325:
4321:
4316:
4311:
4307:
4303:
4299:
4298:
4297:
4286:
4283:
4280:
4277:
4274:
4270:
4267:
4266:
4260:
4258:
4254:
4250:
4247:
4238:
4236:
4232:
4228:
4224:
4220:
4216:
4212:
4208:
4204:
4201:
4197:
4193:
4189:
4188:Visual Prolog
4179:
4177:
4173:
4169:
4159:
4157:
4153:
4149:
4148:Visual Prolog
4145:
4141:
4131:
4129:
4128:Visual Prolog
4125:
4122:
4118:
4114:
4112:
4108:
4106:
4102:
4100:
4096:
4094:
4090:
4086:
4082:
4078:
4069:
4067:
4063:
4059:
4051:
4047:
4038:
4029:
4024:
4023:
4016:
4011:
4010:
4003:
3998:
3997:
3993:
3990:
3989:
3981:
3979:
3969:
3967:
3963:
3959:
3955:
3951:
3947:
3937:
3935:
3931:
3927:
3922:
3918:
3915:
3904:
3902:
3898:
3894:
3890:
3886:
3884:
3880:
3870:
3868:
3862:
3857:
3855:
3851:
3847:
3843:
3839:
3835:
3831:
3827:
3821:
3811:
3809:
3805:
3795:
3793:
3791:
3786:
3782:
3779:that enables
3778:
3774:
3773:Term indexing
3768:
3767:Term indexing
3761:Term indexing
3758:
3755:
3751:
3741:
3739:
3735:
3730:
3726:
3716:
3714:
3710:
3705:
3702:(ISO) Prolog
3701:
3690:
3680:
3649:
3570:
3044:
3042:
3038:
3034:
3024:
2966:
2722:
2716:
2707:
2586:
2584:
2581:(also called
2580:
2576:
2572:
2562:
2560:
2555:expand_term/2
2544:
2538:
2534:
2524:
2522:
2518:
2514:
2510:
2506:
2502:
2498:
2493:
2491:
2487:
2483:
2479:
2475:
2474:module system
2471:
2461:
2459:
2455:
2450:
2444:
2440:
2324:
2313:
2168:
2166:
2162:
2156:
2154:
2115:
2111:
2101:
2099:
2095:
2091:
1849:
1847:
1809:
1807:
1723:
1721:
1711:
1658:
1613:
1612:
1609:
1606:
1604:
1601:
1600:
1597:
1589:
1586:
1572:
1562:
1556:
1552:
1539:\+ illegal(X)
1497:
1494:\+ illegal(X)
1491:
1490:non-monotonic
1487:
1473:
1466:
1438:
1379:
1377:
1372:
1368:
1364:
1354:
1247:
1245:
1238:Consider the
1236:
1228:
1222:
1217:
1170:
948:
946:
945:logic program
942:
938:
934:
896:
895:
859:
857:
824:
823:
797:
796:
792:
789:
757:
738:
736:
731:
729:
721:
713:
706:
702:
681:
679:
661:double_quotes
658:
655:
643:
639:
638:
637:
627:
623:
618:
617:compound term
614:
610:
607:
604:
600:
596:
593:
570:
566:
565:
564:
562:
558:
554:
550:
549:
544:
540:
530:
528:
524:
520:
516:
512:
508:
503:
500:
496:
492:
488:
482:
472:
469:
467:
463:
459:
455:
451:
447:
442:
440:
436:
432:
428:
424:
420:
416:
412:
407:
405:
401:
397:
393:
389:
378:
374:
370:
369:
367:
364:
363:Visual Prolog
360:
356:
352:
348:
344:
340:
336:
332:
328:
324:
320:
316:
311:
308:
304:
301:Influenced by
299:
295:
291:
288:
284:
280:
276:
273:
269:
265:
261:
257:
253:
249:
248:Scryer Prolog
245:
241:
237:
233:
229:
225:
221:
217:
213:
209:
206:
201:
197:
180:
165:
161:
147:
145:
141:
137:
135:
131:
127:
97:
95:
91:
87:
73:
69:
66:
63:
61:
57:
54:
51:
49:
45:
37:
33:
19:
9719:27000 series
8932:
8927:
8922:
7522:Generational
7512:Alphabetical
7508:
7488:
7438:
7313:Visual Basic
7196:
7193:Ehud Shapiro
7178:
7175:Aaron Sloman
7159:
7121:
7110:
7104:
7090:
7075:
7057:
7051:
7039:
7021:
7008:. Retrieved
7004:the original
6988:
6966:, retrieved
6960:
6954:
6942:. Retrieved
6935:
6925:
6913:. Retrieved
6904:
6887:
6881:
6868:
6843:
6837:
6824:
6815:
6806:
6761:
6757:
6751:
6739:
6730:
6717:
6692:
6688:
6675:
6664:
6659:
6648:. Retrieved
6644:"prolog-mpi"
6638:
6629:
6620:
6593:
6587:
6578:
6572:
6553:
6543:
6512:
6502:
6481:
6462:
6456:
6421:
6417:
6377:
6363:
6344:
6338:
6321:
6315:
6309:
6274:
6268:
6262:
6253:
6249:
6239:
6229:
6195:
6186:
6177:
6154:. Retrieved
6150:
6141:
6133:Google Books
6122:
6113:
6099:
6072:
6066:
6056:
6037:
6033:
6023:
5996:
5990:
5955:
5949:
5914:
5910:
5904:
5895:
5882:
5857:
5853:
5847:
5830:
5826:
5820:
5811:
5807:
5801:
5785:. Springer.
5782:
5776:
5751:
5747:
5741:
5724:
5713:. Retrieved
5709:the original
5699:
5685:
5676:
5667:
5658:
5649:
5640:
5631:
5612:
5606:
5587:
5570:
5564:
5555:
5549:
5541:
5537:
5531:
5521:, retrieved
5517:the original
5512:
5508:
5467:
5463:
5444:
5415:. Retrieved
5406:
5359:
5353:
5344:
5338:
5329:
5302:
5296:
5277:
5271:
5236:
5230:
5220:
5200:
5193:
5180:
5163:. Retrieved
5159:the original
5139:. Microtome.
5135:
5125:
5105:
5095:
5075:
5068:
5059:
5038:
5030:
4995:
4989:
4983:
4970:
4951:
4923:
4917:
4898:
4892:
4873:
4867:
4831:
4818:unification.
4646:
4634:
4619:
4605:
4590:Horn clauses
4583:
4572:
4562:
4538:Horn clauses
4522:
4510:
4506:
4504:
4394:development.
4373:Visual Basic
4351:Logic Server
4328:Visual Basic
4295:
4257:ActionScript
4244:
4215:semantic web
4185:
4165:
4137:
4126:
4115:
4109:
4103:
4097:
4075:
4044:
4035:
3975:
3958:linear logic
3943:
3926:cut operator
3923:
3919:
3910:
3887:
3876:
3866:
3864:
3859:
3849:
3823:
3801:
3790:superimposed
3788:
3784:
3770:
3747:
3722:
3709:ISO/IEC JTC1
3697:
3678:
3647:
3568:
3037:Horn clauses
3030:
3010:
2964:
2713:is an infix
2708:
2693:
2582:
2569:Prolog is a
2568:
2540:
2520:
2516:
2508:
2494:
2481:
2467:
2451:
2441:function in
2416:
2314:
2311:
2157:
2117:
2087:
1843:
1803:
1717:
1709:
1595:
1587:
1570:
1568:
1559:?- legal(X).
1532:
1496:in the rule
1479:
1467:
1464:
1445:father_child
1408:
1376:backtracking
1360:
1348:
1311:parent_child
1272:parent_child
1243:
1237:
1234:
1221:input/output
1218:
1200:given lists
1190:length(X, L)
1186:length(X, 5)
1171:
1160:
1141:mother_child
1120:parent_child
1102:father_child
1081:parent_child
1063:parent_child
1045:parent_child
1006:father_child
988:father_child
970:father_child
952:mother_child
944:
940:
936:
932:
930:
893:
891:
855:
853:
821:
820:
794:
793:
790:
783:
755:
734:
732:
700:
698:
678:Horn clauses
675:
656:
641:
635:
616:
608:
594:
568:
560:
556:
552:
546:
542:
536:
494:
490:
486:
484:
470:
458:type systems
443:
438:
415:formal logic
408:
387:
386:
379:at Wikibooks
212:Amzi! Prolog
9507:20000–29999
8659:10000–19999
7517:Categorical
7128:license at
7018:Ivan Bratko
6915:21 November
6513:Tapsoft '87
6424:(S1): 743.
6040:(10): 128.
5487:10174/33387
4595:H :- B
4398:InterProlog
4241:Adobe Flash
4227:client-side
4200:server-side
4162:Concurrency
4041:Constraints
3978:type safety
3877:During the
3846:memoization
3719:Compilation
3039:, which is
3019:to execute
2549:instead of
1592:Hello World
1547:?- \+ Goal.
728:disjunction
720:conjunction
585:'some atom'
523:side effect
519:truth value
435:computation
18:Prolog atom
9881:Categories
9286:16949 (TS)
8883:11941 (TR)
7581:standards
7382:JavaScript
7258:Comparison
7183:D. Sleeman
7010:2008-12-02
6968:2020-12-15
6944:23 October
6771:cs/0406012
6764:(3): 321.
6695:(3): 363.
6650:2010-09-16
6324:(3): 295.
6156:2023-07-12
6075:(4): 472.
5898:: 275–283.
5715:2009-10-02
5523:2010-02-16
5417:2013-05-04
5101:Ute Schmid
4859:References
4789:AgentSpeak
4685:TerminusDB
4586:resolution
4429:imperative
4418:SWI-Prolog
4235:Websockets
4221:(RDF) and
4198:, support
4192:SWI-Prolog
4168:SWI-Prolog
4152:WIN-PROLOG
4144:SWI-Prolog
3940:Extensions
3834:SWI-Prolog
3804:WIN-PROLOG
3694:ISO Prolog
2957:Certainty2
2951:Certainty1
2939:Certainty2
2921:Certainty1
2834:Certainty2
2828:Certainty1
2810:Certainty2
2792:Certainty1
2571:homoiconic
2517:atom-based
1808:notation:
1608:GNU Prolog
1603:SWI-Prolog
1571:consulting
1535:illegal(X)
1363:resolution
1351:ancestor/2
1161:Predicate
941:name/arity
718:) denotes
714:with name
533:Data types
515:predicates
502:refutation
499:resolution
313:Influenced
294:ISO Prolog
272:WIN-PROLOG
264:Tau Prolog
260:SWI-Prolog
256:Strawberry
232:LPA Prolog
228:GNU Prolog
9241:15926 WIP
8605:9592/9593
8530:9000/9001
8418:8805/8806
7479:Smalltalk
7117:, Geneva.
6890:(3): 37.
6776:CiteSeerX
6581:. August.
6493:0911.2899
6426:CiteSeerX
6279:CiteSeerX
5924:1012.5123
5833:: 23–44.
5754:: 54–68.
5505:"Logtalk"
5439:, Geneva.
5392:CiteSeerX
5282:CiteSeerX
5246:0911.2899
5188:, Geneva.
5171:See also
5000:CiteSeerX
4505:The name
4461:C#-Prolog
4285:OW Prolog
4174:over the
4020:on entry
4007:on entry
3948:, modes,
3901:touch pad
3792:codewords
2945:Certainty
2903:clause_cf
2894:Certainty
2816:Certainty
2768:Certainty
2149:sublist/3
2145:maplist/2
2133:findall/3
2069:quicksort
2054:quicksort
2021:partition
2009:quicksort
1997:quicksort
1964:partition
1922:partition
1871:partition
1853:partition
1846:quicksort
1840:Quicksort
1484:provides
1357:Execution
1246:relation:
933:predicate
609:Variables
557:variables
539:data type
431:relations
192:/standard
175:/standard
9866:Category
7591:List of
7537:Category
7303:Assembly
7263:Timeline
7211:109–115.
7199:, 1994,
7093:, 1994,
7078:, 1996,
6860:12259230
6798:11754347
6448:12235465
6208:Archived
6187:Faqs.org
5982:10283148
5874:16695800
5768:16447071
5748:Computer
5022:14621218
4809:PicoLisp
4695:See also
4599:, ..., B
4478:tuProlog
4249:Archived
4231:JSON-RPC
4156:B-Prolog
4134:Graphics
4117:Prolog++
3899:, via a
3861:clauses.
3826:B-Prolog
2804:Subgoal2
2786:Subgoal1
2762:Subgoal2
2756:Subgoal1
2715:operator
2641:Subgoal2
2629:Subgoal1
2614:Subgoal2
2608:Subgoal1
2547:-->/2
2509:de-facto
2482:de-facto
2429:unifies
2153:currying
1555:"ground"
1476:Negation
1329:ancestor
1290:ancestor
1251:ancestor
1244:ancestor
1194:append/3
1174:length/2
921:socrates
849:socrates
810:socrates
767:socrates
748:socrates
726:denotes
712:operator
603:integers
287:Dialects
268:tuProlog
216:B-Prolog
183:Part 2:
166:Part 1:
48:Paradigm
32:Prologue
9767:29199-2
9639:23094-2
9634:23094-1
9624:23090-3
9493:19794-5
9488:19775-1
9276:16612-2
9266:16355-1
8955:13406-2
8913:12234-2
8681:10118-3
7490:more...
7469:Scratch
7372:Haskell
7362:Fortran
7318:classic
7268:History
7133:.google
6709:5404048
6091:2978041
5941:6153112
5165:13 June
4815:λProlog
4779:Planner
4769:Mercury
4759:Datalog
4678:GeneXus
4546:Fortran
4493:History
4402:library
4269:F-logic
4099:Logtalk
4081:F-logic
4077:Flora-2
3952:(CLP),
3930:Datalog
3850:tabling
3814:Tabling
3808:WordNet
3798:Hashing
3775:uses a
3324:perform
3186:perform
3144:perform
3102:reverse
3069:perform
2988:builtin
2970:builtin
2861:builtin
2527:Parsing
2497:Logtalk
2490:SICStus
2486:Quintus
2464:Modules
2458:λProlog
2391:maplist
2346:maplist
2328:maplist
2317:maplist
2292:sumlist
2244:between
2229:findall
2187:between
2172:perfect
2141:bagof/3
2137:setof/3
2060:Smaller
2039:Smaller
1519:illegal
1431:Z = tom
1386:sibling
1371:unifies
1225:write/1
1024:sibling
657:Strings
597:can be
595:Numbers
553:numbers
541:is the
495:clauses
351:Mercury
347:Logtalk
327:Datalog
323:Clojure
307:Planner
252:SICStus
224:ECLiPSe
163:Website
119:2000-06
117: (
106:1995-06
104: (
79: (
9781:30000+
8620:9797-1
8428:8820-5
8373:8501-1
7929:1073-2
7924:1073-1
7608:1–9999
7509:Lists:
7444:Python
7439:Prolog
7417:Pascal
7407:MATLAB
7392:Kotlin
7352:Erlang
7291:Simula
7203:
7181:, Eds
7166:
7148:
7097:
7082:
7064:
7046:
7028:
6996:
6858:
6846:: 38.
6796:
6778:
6707:
6608:
6531:
6469:
6446:
6428:
6392:
6351:
6301:518049
6299:
6281:
6089:
6011:
5980:
5970:
5939:
5872:
5789:
5766:
5619:
5594:
5571:SIGMOD
5394:
5366:
5317:
5284:
5263:438363
5261:
5208:
5113:
5083:
5047:
5020:
5002:
4958:
4930:
4905:
4880:
4843:or an
4799:Erlang
4649:Watson
4519:French
4507:Prolog
4488:teams.
4377:Delphi
4375:(VB),
4344:Python
4332:Delphi
4330:(VB),
4154:, and
4111:Objlog
4091:, and
4005:nonvar
3907:Limits
3840:, and
3656:turing
3498:action
3462:action
3393:action
3375:symbol
3360:symbol
3297:Action
3291:action
3285:Action
3279:NewSym
3243:RsRest
3225:symbol
3120:append
3048:turing
3006:% etc.
2719:read/1
2694:where
2662:clause
2559:monads
2535:, and
2427:P(X,Y)
2139:, and
2129:call/3
2125:call/2
2121:call/1
2075:Bigger
2045:Bigger
2015:-->
2003:-->
1982:Smalls
1913:Smalls
1883:Smalls
1816:-->
1451:Father
903:mortal
863:mortal
786:true/0
612:terms.
599:floats
589:'p(a)'
587:, and
581:'Taco'
460:, and
388:Prolog
377:Prolog
359:Strand
335:Epilog
331:Erlang
236:Poplog
203:Major
194:/20775
177:/21413
42:Prolog
9848:80000
9843:56000
9838:55000
9833:50001
9828:45001
9823:42010
9818:40500
9813:39075
9808:38500
9803:37001
9798:32000
9793:31000
9788:30170
9772:29500
9762:29148
9758:29110
9754:28000
9749:27729
9744:27006
9739:27005
9734:27002
9729:27001
9724:27000
9714:26324
9709:26300
9704:26262
9699:26000
9694:25964
9689:25178
9684:24728
9679:24707
9674:24617
9669:24613
9664:24517
9659:23941
9654:23360
9649:23271
9644:23270
9629:23092
9619:23009
9614:23008
9609:23003
9604:23000
9599:22537
9594:22395
9589:22301
9584:22300
9579:22275
9574:22000
9569:21827
9564:21500
9559:21122
9554:21047
9549:21001
9544:21000
9539:20830
9534:20802
9529:20400
9524:20121
9519:20022
9514:20000
9498:19831
9483:19770
9478:19757
9473:19752
9468:19600
9463:19510
9458:19509
9453:19508
9448:19507
9443:19506
9438:19505
9433:19503
9428:19502
9423:19501
9418:19500
9413:19439
9408:19407
9403:19136
9398:19125
9393:19115
9388:19114
9371:19092
9366:19011
9361:19005
9356:18916
9351:18629
9346:18245
9341:18181
9336:18014
9331:18004
9326:17799
9321:17506
9316:17442
9311:17369
9306:17203
9301:17100
9296:17025
9291:17024
9281:16750
9271:16485
9261:16262
9256:16023
9251:15938
9246:15930
9236:15926
9231:15924
9226:15919
9221:15897
9216:15707
9204:15706
9199:15693
9194:15686
9189:15511
9184:15504
9179:15438
9174:15445
9157:15444
9152:15408
9147:15398
9142:15291
9137:15288
9132:15189
9127:15022
9122:14971
9117:14882
9112:14764
9107:14698
9102:14651
9097:14649
9092:14644
9087:14617
9035:14496
9030:14443
9025:14396
9020:14289
9015:14224
9010:14031
9005:14000
9000:13818
8995:13816
8990:13616
8985:13584
8980:13568
8975:13567
8970:13490
8965:13485
8960:13450
8950:13399
8945:13250
8940:13216
8923:13211
8918:12620
8908:12207
8903:12182
8898:12052
8893:12006
8888:11992
8878:11941
8868:11940
8863:11898
8858:11889
8853:11801
8848:11785
8843:11784
8838:11783
8833:11544
8828:11404
8823:11179
8818:11172
8813:11170
8808:11073
8803:10967
8798:10962
8793:10957
8788:10861
8783:10746
8778:10664
8773:10646
8768:10628
8763:10589
8758:10585
8753:10383
8721:10303
8716:10279
8711:10218
8706:10206
8701:10179
8696:10165
8691:10161
8686:10160
8676:10116
8671:10007
8666:10006
7484:Swift
7474:Shell
7387:Julia
7357:Forth
7347:COBOL
7308:BASIC
7286:ALGOL
7137:/site
7131:sites
6878:(PDF)
6856:S2CID
6834:(PDF)
6794:S2CID
6766:arXiv
6727:(PDF)
6705:S2CID
6685:(PDF)
6488:arXiv
6444:S2CID
6372:. In
6297:S2CID
6087:S2CID
5978:S2CID
5937:S2CID
5919:arXiv
5892:(PDF)
5870:S2CID
5764:S2CID
5259:S2CID
5241:arXiv
5018:S2CID
4837:logic
4823:Notes
4805:Pilog
4731:Gödel
4525:logic
4485:Janus
4424:Prova
4263:Other
4246:Cedar
4105:Oblog
4085:HiLog
3984:Modes
3972:Types
3946:types
3604:right
3504:right
3090:Tape0
3054:Tape0
2927:solve
2882:solve
2840:solve
2798:solve
2780:solve
2750:solve
2726:solve
2680:solve
2647:solve
2635:solve
2623:solve
2602:solve
2590:solve
2454:HiLog
2417:When
1976:Pivot
1934:Pivot
1910:->
1907:Pivot
1904:@<
1877:Pivot
1790:Prog2
1778:Prog2
1772:Prog1
1760:Prog1
1754:Prog0
1733:Prog0
1689:World
1686:Hello
1668:write
1641:World
1638:Hello
1620:write
1551:sound
1501:legal
1457:Child
1398:erica
1392:sally
1206:ListB
1202:ListA
1000:erica
982:sally
964:sally
958:trude
878:human
856:rules
831:human
804:human
761:human
742:human
735:facts
701:goals
626:arity
622:arity
548:atoms
487:query
439:query
433:. A
427:rules
390:is a
196:.html
179:.html
123:)
53:Logic
8746:-238
8650:9995
8645:9985
8640:9984
8635:9945
8630:9899
8625:9897
8615:9660
8610:9594
8600:9564
8595:9529
8590:9506
8585:9496
8580:9407
8575:9362
8570:9314
8565:9293
8560:9241
8555:9227
8550:9141
8545:9126
8540:9075
8535:9036
8525:8879
8478:-8-I
8433:8859
8423:8807
8413:8691
8408:8652
8403:8651
8398:8632
8393:8613
8388:8601
8383:8583
8378:8571
8368:8373
8363:8217
8358:8178
8353:8093
8348:8000
8343:7942
8338:7816
8333:7813
8328:7812
8323:7811
8318:7810
8313:7736
8308:7637
8296:7498
8291:7200
8286:7185
8281:7098
8276:7064
8271:7027
8266:7010
8261:7002
8256:7001
8251:6943
8246:6709
8241:6523
8236:6438
8231:6429
8226:6425
8221:6385
8216:6373
8211:6346
8206:6344
8201:6166
8196:5964
8191:5807
8186:5800
8181:5776
8176:5775
8171:5725
8166:5428
8161:5427
8156:5426
8151:5218
8146:4909
8141:4217
8136:4165
8131:4157
8126:4031
8121:3977
8116:3950
8111:3901
8106:3864
8101:3602
8096:3601
8091:3307
8086:3297
8064:3166
8059:3103
8054:3029
8049:2921
8044:2852
8039:2848
8034:2788
8029:2720
8024:2711
8019:2709
8014:2533
8009:2281
8004:2240
7999:2146
7994:2145
7989:2108
7984:2047
7979:2033
7974:2022
7969:2015
7964:2014
7959:1989
7954:1745
7949:1629
7944:1538
7939:1413
7934:1155
7919:1007
7914:1004
7909:1000
7732:68-1
7459:Rust
7454:Ruby
7429:Perl
7397:Lisp
7377:Java
7323:.NET
7201:ISBN
7191:and
7164:ISBN
7146:ISBN
7135:.com
7095:ISBN
7080:ISBN
7062:ISBN
7044:ISBN
7026:ISBN
6994:ISBN
6946:2013
6937:Byte
6917:2021
6606:ISBN
6579:Byte
6529:ISBN
6467:ISBN
6390:ISBN
6349:ISBN
6009:ISBN
5968:ISBN
5787:ISBN
5617:ISBN
5592:ISBN
5542:4369
5364:ISBN
5315:ISBN
5206:ISBN
5167:2014
5111:ISBN
5081:ISBN
5045:ISBN
4974:See
4956:ISBN
4928:ISBN
4903:ISBN
4878:ISBN
4841:term
4729:The
4653:UIMA
4565:Lisp
4521:for
4451:Ciao
4439:PROL
4431:and
4416:and
4406:Java
4381:.NET
4369:Java
4349:The
4336:.NET
4324:Java
4300:The
4233:and
4209:and
4207:HTML
4196:Ciao
4194:and
4142:are
3889:Sega
3842:Ciao
3736:and
3713:SC22
3698:The
3640:stay
3610:rule
3574:rule
3546:left
3528:left
3468:stay
3432:left
3399:left
3255:rule
3249:once
3138:Tape
3060:Tape
3021:Goal
2994:read
2933:Body
2915:Body
2909:Head
2888:Head
2876:Goal
2867:Goal
2846:Goal
2732:true
2711::-/2
2696:true
2686:Body
2674:Body
2668:Head
2653:Head
2596:true
2551::-/2
2505:Ciao
2468:For
2456:and
2367:call
2112:and
1988:Rest
1955:Bigs
1946:Bigs
1940:Rest
1889:Bigs
1844:The
1796:Prog
1739:Prog
1647:true
1543:\+/1
1482:\+/1
1214:List
1204:and
1182:List
1012:mike
935:(or
776:true
691:Body
685:Head
642:List
569:atom
543:term
491:term
413:, a
402:and
220:Ciao
190:.org
188:.iso
173:.org
171:.iso
153:.pro
81:1972
74:1972
9080:-20
9075:-17
9070:-14
9065:-12
9060:-11
9055:-10
8741:-28
8736:-22
8731:-21
8726:-11
8518:-16
8513:-15
8508:-14
8503:-13
8498:-12
8493:-11
8488:-10
7904:999
7899:965
7894:898
7889:860
7884:843
7879:838
7874:764
7869:732
7864:704
7859:690
7854:668
7849:657
7844:646
7812:639
7807:519
7802:518
7797:500
7792:361
7787:306
7782:302
7777:262
7772:261
7767:259
7762:233
7757:228
7752:226
7747:217
7742:216
7737:128
7725:-13
7720:-12
7715:-11
7710:-10
7579:ISO
7464:SQL
7434:PHP
7402:Lua
7337:C++
7298:APL
7281:Ada
7144:).
6892:doi
6848:doi
6786:doi
6697:doi
6598:doi
6558:doi
6521:doi
6517:111
6436:doi
6382:doi
6326:doi
6289:doi
6256:(3)
6077:doi
6042:doi
6001:doi
5960:doi
5929:doi
5862:doi
5835:doi
5756:doi
5677:ISO
5659:ISO
5641:ISO
5482:hdl
5472:doi
5307:doi
5251:doi
5010:doi
4755:it.
4657:C++
4455:C++
4414:XSB
4391:JPL
4364:C++
4355:API
4340:Lua
4315:C++
4211:XML
4018:var
3838:YAP
3830:XSB
3787:or
3537:Rs0
3510:Ls0
3450:Rs0
3438:Ls0
3417:Rs0
3405:Ls0
3381:Sym
3348:Rs1
3336:Ls1
3318:Rs1
3309:Ls1
3303:Ls0
3288:)),
3267:Sym
3237:Sym
3231:Rs0
3210:Rs0
3198:Ls0
3126:Ls1
3114:Ls1
3003:)).
2822:min
2513:XSB
2445:as
2439:map
2277:=:=
2271:mod
2199:inf
1806:DCG
1695:yes
1404:Yes
1018:tom
994:tom
976:tom
816:Yes
724:;/2
708:,/2
650:or
601:or
577:red
567:An
559:or
343:KL1
339:KL0
319:CHR
279:YAP
275:XSB
262:,
230:,
186:www
169:www
149:.pl
9883::
9381:-2
9376:-1
9209:-2
9167:-9
9162:-3
9050:-6
9045:-3
9040:-2
8933:-2
8928:-1
8872:-2
8483:-9
8473:-8
8468:-7
8463:-6
8458:-5
8453:-4
8448:-3
8443:-2
8438:-1
8301:-1
8079:-3
8074:-2
8069:-1
7837:-6
7832:-5
7827:-3
7822:-2
7817:-1
7705:-9
7700:-8
7695:-7
7690:-6
7685:-5
7680:-4
7675:-3
7670:-1
7665:-0
7660:31
7655:17
7650:16
7599:–
7595:–
7412:ML
7367:Go
7342:C#
7195:,
7162:,
7158:,
7113:.
7050:.
7032:.
7020:,
6934:.
6888:28
6886:.
6880:.
6854:.
6844:31
6842:.
6836:.
6792:.
6784:.
6774:.
6760:.
6729:,
6703:.
6691:.
6687:.
6628:.
6604:.
6552:.
6527:.
6519:.
6511:.
6442:.
6434:.
6420:.
6416:.
6404:^
6388:.
6322:23
6320:.
6295:.
6287:.
6275:33
6273:.
6252:,
6248:,
6219:^
6203:.
6185:.
6165:^
6149:.
6127:.
6121:.
6085:.
6073:23
6071:.
6065:.
6038:22
6036:.
6032:.
6007:.
5976:.
5966:.
5935:.
5927:.
5915:12
5913:.
5894:.
5868:.
5858:25
5856:.
5831:10
5829:.
5810:.
5762:.
5752:25
5750:.
5675:.
5657:.
5639:.
5578:^
5540:,
5513:17
5511:,
5507:,
5495:^
5480:,
5468:22
5466:,
5453:^
5426:^
5390:.
5378:^
5313:.
5257:.
5249:.
5237:12
5235:.
5145:^
5016:.
5008:.
4994:.
4942:^
4691:.
4632:.
4617:.
4603:.
4581:.
4560:.
4379:,
4371:,
4367:,
4361:,
4342:,
4338:,
4334:,
4326:,
4322:,
4320:C#
4318:,
4312:,
4259:.
4237:.
4190:,
4158:.
4150:,
4146:,
4095:.
4087:,
4068:.
3968::
3903:.
3836:,
3832:,
3828:,
3810:.
3740:.
3668:Ts
3665:).
3662:Ts
3659:(,
3653:?-
3643:).
3628:qf
3616:q0
3607:).
3592:q0
3580:q0
3564:).
3558:Rs
3552:Ls
3549:(,
3543:).
3531:(,
3525:).
3522:Rs
3495:).
3492:Rs
3486:Rs
3480:Ls
3474:Ls
3459:).
3456:Rs
3444:Ls
3429::-
3423:Rs
3411:Ls
3390:).
3387:Rs
3378:(,
3372:).
3363:(,
3357:).
3354:Rs
3342:Ls
3330:Q1
3321:),
3273:Q1
3261:Q0
3246:),
3222::-
3216:Rs
3204:Ls
3192:Q0
3183:!.
3180::-
3174:Rs
3168:Rs
3162:Ls
3156:Ls
3150:qf
3141:).
3132:Rs
3117:),
3108:Ls
3099:),
3096:Rs
3084:Ls
3075:q0
3066::-
3035:,
2985:).
2979:is
2948:is
2942:),
2924:),
2900::-
2873:!,
2870:),
2858::-
2837:).
2819:is
2813:),
2795:),
2777:!,
2774::-
2765:),
2753:((
2747:!.
2744::-
2706:.
2689:).
2677:),
2659::-
2644:).
2632:),
2620::-
2617:))
2605:((
2599:).
2460:.
2449:.
2425:,
2412:).
2409:Ys
2403:Xs
2388:),
2364::-
2343:).
2307:).
2298:Ds
2289:),
2286:Ds
2283:),
2265:),
2220://
2214:is
2208:),
2184::-
2155:.
2135:,
2131:,
2127:,
2123:,
2100:.
2088:A
2078:).
2063:),
2051:},
2027:Xs
2012:()
2000:()
1994:).
1970:Xs
1928:Xs
1895::-
1874:(,
1868:).
1856:(,
1799:).
1781:),
1763:),
1745::-
1701:?-
1680:nl
1677:),
1665:?-
1653:?-
1632:nl
1629:),
1617:?-
1579:no
1575:?-
1528:).
1516:\+
1513::-
1460:).
1442:?-
1401:).
1383:?-
1344:).
1326:),
1308::-
1287:).
1269::-
1156:).
1138::-
1117:).
1099::-
1078:).
1060:),
1042::-
1021:).
1003:).
985:).
967:).
931:A
912:).
900:?-
887:).
875::-
840:).
828:?-
813:).
801:?-
773::-
751:).
688::-
640:A
615:A
583:,
579:,
575:,
563:.
555:,
551:,
468:.
456:,
452:,
448:,
406:.
398:,
361:,
357:,
355:Oz
353:,
349:,
345:,
341:,
337:,
333:,
329:,
325:,
321:,
277:,
270:,
266:,
258:,
254:,
250:,
246:,
242:,
240:P#
238:,
234:,
226:,
222:,
218:,
214:,
157:.P
155:,
151:,
8874:)
8870:(
7645:9
7640:7
7635:6
7630:4
7625:3
7620:2
7615:1
7571:e
7564:t
7557:v
7449:R
7332:C
7239:e
7232:t
7225:v
7207:.
7170:.
7152:.
7141:/
7086:.
7068:.
7013:.
6948:.
6919:.
6898:.
6894::
6862:.
6850::
6800:.
6788::
6768::
6762:1
6711:.
6699::
6693:8
6653:.
6632:.
6614:.
6600::
6566:.
6560::
6537:.
6523::
6496:.
6490::
6475:.
6450:.
6438::
6422:6
6398:.
6384::
6357:.
6332:.
6328::
6303:.
6291::
6254:7
6214:.
6189:.
6159:.
6135:.
6107:.
6093:.
6079::
6050:.
6044::
6017:.
6003::
5984:.
5962::
5943:.
5931::
5921::
5876:.
5864::
5841:.
5837::
5795:.
5770:.
5758::
5718:.
5693:.
5679:.
5661:.
5643:.
5625:.
5600:.
5484::
5474::
5420:.
5400:.
5372:.
5323:.
5309::
5290:.
5265:.
5253::
5243::
5175:.
5169:.
5119:.
5089:.
5053:.
5024:.
5012::
4996:4
4978:.
4964:.
4936:.
4911:.
4886:.
4795:.
4785:.
4765:.
4741:.
4630:i
4626:i
4615:n
4611:1
4601:n
4597:1
4517:(
4435:.
4420:.
4359:C
4310:C
4275:.
4026:?
4013:-
4000:+
3711:/
3674:;
3671:=
3637:,
3634:1
3631:,
3625:,
3622:b
3619:,
3613:(
3601:,
3598:1
3595:,
3589:,
3586:1
3583:,
3577:(
3561:,
3555:,
3540:,
3534:,
3519:,
3516:,
3513:,
3507:,
3501:(
3489:,
3483:,
3477:,
3471:,
3465:(
3453:,
3447:,
3441:,
3435:(
3426:)
3420:,
3414:,
3408:,
3402:,
3396:(
3384:,
3369:,
3366:b
3351:,
3345:,
3339:,
3333:,
3327:(
3315:,
3312:,
3306:,
3300:,
3294:(
3282:,
3276:,
3270:,
3264:,
3258:(
3252:(
3240:,
3234:,
3228:(
3219:)
3213:,
3207:,
3201:,
3195:,
3189:(
3177:)
3171:,
3165:,
3159:,
3153:,
3147:(
3135:,
3129:,
3123:(
3111:,
3105:(
3093:,
3087:,
3081:,
3078:,
3072:(
3063:)
3057:,
3051:(
3000:X
2997:(
2991:(
2982:B
2976:A
2973:(
2960:.
2954:*
2936:,
2930:(
2918:,
2912:,
2906:(
2897:)
2891:,
2885:(
2879:.
2864:(
2855:)
2852:1
2849:,
2843:(
2831:,
2825:(
2807:,
2801:(
2789:,
2783:(
2771:)
2759:,
2741:)
2738:1
2735:,
2729:(
2683:(
2671:,
2665:(
2656:)
2650:(
2638:(
2626:(
2611:,
2593:(
2488:/
2431:Y
2423:X
2419:P
2406:,
2400:,
2397:P
2394:(
2385:Y
2382:,
2379:X
2376:,
2373:P
2370:(
2361:)
2358:,
2355:,
2352:P
2349:(
2340:,
2337:,
2334:_
2331:(
2321:P
2304:N
2301:,
2295:(
2280:0
2274:D
2268:N
2262:D
2259:,
2256:U
2253:,
2250:1
2247:(
2241:(
2238:,
2235:D
2232:(
2226:,
2223:2
2217:N
2211:U
2205:N
2202:,
2196:,
2193:1
2190:(
2181:)
2178:N
2175:(
2072:(
2066:,
2057:(
2048:)
2042:,
2036:,
2033:X
2030:,
2024:(
2018:{
2006:.
1991:)
1985:,
1979:,
1973:,
1967:(
1961:,
1958:=
1952:;
1949:)
1943:,
1937:,
1931:,
1925:(
1919:,
1916:=
1901:X
1898:(
1892:)
1886:,
1880:,
1865:,
1862:,
1859:_
1834:.
1828:,
1822:,
1793:,
1787:(
1775:,
1769:(
1757:,
1751:(
1742:)
1736:,
1730:(
1698:|
1692:!
1683:.
1671:(
1662:|
1650:.
1644:!
1635:.
1623:(
1583:;
1525:X
1522:(
1510:)
1507:X
1504:(
1454:,
1448:(
1395:,
1389:(
1341:Y
1338:,
1335:Z
1332:(
1323:Z
1320:,
1317:X
1314:(
1305:)
1302:Y
1299:,
1296:X
1293:(
1284:Y
1281:,
1278:X
1275:(
1266:)
1263:Y
1260:,
1257:X
1254:(
1153:Y
1150:,
1147:X
1144:(
1135:)
1132:Y
1129:,
1126:X
1123:(
1114:Y
1111:,
1108:X
1105:(
1096:)
1093:Y
1090:,
1087:X
1084:(
1075:Y
1072:,
1069:Z
1066:(
1057:X
1054:,
1051:Z
1048:(
1039:)
1036:Y
1033:,
1030:X
1027:(
1015:,
1009:(
997:,
991:(
979:,
973:(
961:,
955:(
918:=
915:X
909:X
906:(
884:X
881:(
872:)
869:X
866:(
846:=
843:X
837:X
834:(
807:(
779:.
770:)
764:(
745:(
716:,
694:.
667:.
653:.
632:.
591:.
573:x
281:.
121:)
110:)
108:)
83:)
38:.
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.