Prolog
E440678
Prolog is a high-level logic programming language rooted in formal logic and widely used in artificial intelligence, natural language processing, and symbolic reasoning.
All labels observed (2)
| Label | Occurrences |
|---|---|
| Prolog canonical | 5 |
| Prolog programming language | 1 |
Statements (51)
| Predicate | Object |
|---|---|
| instanceOf |
high-level programming language
ⓘ
logic programming language ⓘ programming language ⓘ |
| basedOn |
Horn clauses
ⓘ
first-order logic ⓘ |
| designedFor |
artificial intelligence
ⓘ
constraint solving ⓘ expert systems ⓘ knowledge representation ⓘ natural language processing ⓘ symbolic reasoning ⓘ theorem proving ⓘ |
| evaluationStrategy |
depth-first search
ⓘ
goal-directed ⓘ top-down ⓘ |
| hasFeature |
built-in backtracking search
ⓘ
cut operator ⓘ depth-first search evaluation strategy ⓘ dynamic database of facts and rules ⓘ implicit control flow ⓘ logical variables ⓘ pattern-directed invocation ⓘ resolution-based inference ⓘ term data structure ⓘ |
| hasImplementation |
ECLiPSe Prolog
NERFINISHED
ⓘ
GNU Prolog NERFINISHED ⓘ SICStus Prolog NERFINISHED ⓘ SWI-Prolog NERFINISHED ⓘ Visual Prolog NERFINISHED ⓘ YAP Prolog NERFINISHED ⓘ |
| hasStandard | ISO Prolog NERFINISHED ⓘ |
| influenced |
Constraint Handling Rules
NERFINISHED
ⓘ
Datalog NERFINISHED ⓘ Erlang NERFINISHED ⓘ Mercury NERFINISHED ⓘ |
| influencedBy |
predicate logic
ⓘ
resolution principle ⓘ |
| paradigm |
declarative programming
ⓘ
logic programming ⓘ |
| primaryUse |
rapid prototyping of AI systems
ⓘ
research in artificial intelligence ⓘ teaching logic programming ⓘ |
| supports |
backtracking
ⓘ
list processing ⓘ meta-programming ⓘ nondeterminism ⓘ pattern matching ⓘ recursion ⓘ symbolic computation ⓘ unification ⓘ |
| typingDiscipline | dynamically typed ⓘ |
Referenced by (6)
Full triples — surface form annotated when it differs from this entity's canonical label.
this entity surface form:
Prolog programming language