What does _ mean in Prolog?

Asked By: Guang Fuhrer | Last Updated: 24th June, 2020
Category: technology and computing programming languages
4/5 (114 Views . 23 Votes)
A single underscore ( _ ) denotes an anonymous variable and means "any term". Unlike other variables, the underscore does not represent the same value everywhere it occurs within a predicate definition. A compound term is composed of an atom called a "functor" and a number of "arguments", which are again terms.

Click to see full answer


Also to know is, what does + mean in Prolog?

[ISO]+ :Goal. True if'Goal' cannot be proven (mnemonic: + refers to provable and the backslash ( ) is normally used to indicate negation in Prolog).

Subsequently, question is, what is a term in Prolog? All Prolog data structures are called terms. A term is either: A constant, which can be either an atom or a number. A variable. A compound term.

Similarly, what is functor in Prolog?

functor, functor In Prolog, the word functor is used to refer to the atom at the start of a structure, along with its arity, that is, the number of arguments it takes. For example, in likes(mary, pizza) , likes/2 is the functor.

What is a Prolog predicate?

Predicates. Each predicate has a name, and zero or more arguments. The predicate name is a Prolog atom. Each argument is an arbitrary Prolog term. The clauses that constitute a predicate denote logical alternatives: If any clause is true, then the whole predicate is true.

26 Related Question Answers Found

Is Prolog worth learning?

If you are inclined to learn it, just give it a try, it's very fun! You managed to very nicely capture the reasons why Prolog is worth learning and using more than other languages. Prolog itself has been influenced by functional programming, it seems.

What is Prolog good for?

Prolog is a logic programming language associated with artificial intelligence and computational linguistics. The language has been used for theorem proving, expert systems, term rewriting, type systems, and automated planning, as well as its original intended field of use, natural language processing.

Is Prolog procedural?

Prolog, as a programming language, is a little unusual. It can be understood as a standard procedural language with two unusual properties. It is a procedural language like Pascal or Algol. One programs in a procedural language by writing procedures that carry out particular operations.

Why is Prolog not popular?

Prolog is not popular because it's not a systems programming language, and most “real-world” programming work involves developing a whole system.

What are the basic elements of Prolog?


Chapter 3 Elements of Prolog: Expressions, Unification, and Resolution. Prolog is a particularly simple programming language. It consists of a single data structure (which we will refer to here as expression trees) and a single operation on those data structures (called unification).

What is fail in Prolog?

One of Prolog's most useful features is the simple way it lets us state generalisations. As its name suggests, fail/0 is a special symbol that will immediately fail when Prolog encounters it as a goal. That may not sound too useful, but remember: when Prolog fails, it tries to backtrack .

Who created Prolog?

Alain Colmerauer
Robert Kowalski

Which software is used for Prolog programming?

SWI-Prolog is the most mature, developed implementation of Prolog.

What is recursion in Prolog?

The recursion in any language is a function that can call itself until the goal has been succeed. In Prolog, recursion appears when a predicate contain a goal that refers to itself. As we have seen in the earlier chapters when a rule is called Prolog create a new query with new variables.

What is arity in Prolog?


Every fact and rule in a Prolog program, and every built-in predicate has an arity. Often this is referred to in descriptions of these facts and rules, by appending / and the arity to the name of the rule or fact. For example, the built-in predicate member/2 has arity 2.

What is Prolog variable?

< Prolog. A PROLOG variable can represent anything; a number, a name, a structure, an array, something as complicated as the known universe. A PROLOG program works by constraining the variables until eventually they have particular values; then telling you what the values are.

What is domain in Prolog?

Domains enable you to give distinctive names to different kinds of data that would otherwise look alike. In a Visual Prolog program, objects in a relation (the arguments to a predicate) belong to domains; these can be pre-defined domains, or special domains that you specify.

What are atoms in Prolog?

An atom is a general-purpose name with no inherent meaning. It is composed of a sequence of characters that is parsed by the Prolog reader as a single unit. Atoms are usually bare words in Prolog code, written with no special syntax.

What is the predicate of a sentence?

What Is the Predicate of a Sentence? (with Examples) The predicate is the part of a sentence (or clause) that tells us what the subject does or is. To put it another way, the predicate is everything that is not the subject.

What are rules in Prolog?


Common built-in predicates
A Prolog program consists of a number of clauses. Each clause is either a fact or a rule. After a Prolog program is loaded (or consulted) in a Prolog interpreter, users can submit goals or queries, and the Prolog intepreter will give results (answers) according to the facts and rules.

How do you define a predicate?

Informally, a predicate is a statement that may be true or false depending on the values of its variables. It can be thought of as an operator or function that returns a value that is either true or false.

Is Prolog a high level language?

Short for Programming Logic, Prolog is a high-level programming language based on formal logic. Unlike traditional programming languages that are based on performing sequences of commands, Prolog is based on defining and then solving logical formulas.