RUVIDEO
Поделитесь видео 🙏

Prolog Basic Terminology - Prolog Basics #01

In this video, we will introduce the basic Prolog terminology.

Transcription
In this new video, we will see the common terminology adopted in Prolog.

# Glossary
Everything in Prolog is represented with *terms*.
There are several types of terms: *atoms*, *numbers*, *variables*, and *compound terms*.

The basic unit of information is the *atom*, a sequence of character that starts
with a lowercase letter.

For example,
```
house.
a.
fly.
```
are atoms.

Atoms and numbers are *constants*.

*Variables* in Prolog start with an uppercase letter or an underscore and, differently form other programming languages, once they are assigned to a value (in Prolog terminology, *bound*) this value be changed only through a special technique called *backtracking*.

These are examples of variables:
```
Abc
House
Car
_a
```

The variable `_` is called the *anonymous* variable.

*Compound terms* are composed by an atom together with one or more arguments.

For example,
```
friend(a,b).
```
is a compound term.

In this case, it can be interpreted as a relation called `friend` between `a` and `b` (i.e., `a` is friend with `b`).
However, note that not all compounds denote relations.

The name of a term is an atom and it is called *functor*.

The number of arguments of a compound term is called *arity* and compound terms are compactly referred with the notation `functor/arity`, so, for this example, `friend/2`.

A term is called *ground* if it does not contain variables.

This is a ground term
```
friend(a,b).
```
while this is not
```
friend(A,b).
```

A Prolog program is composed by a set of *rules*.

Every rule is composed by a *head* and a *body* separated by the neck operator `:-`.
The head is an atom or a compound term.
The body can be a conjunction of terms (or empty).

These are examples of rules:
```
grass:- sun.
friend(a,b):- knows(a,b).
```

The intuitive meaning is: if the body is true then the head is also true.
We can insert multiple terms in the body, by separating them with commas
```
a:- b,c.
```

So, `a` is true if both `b` and `c` are true.
Commas between terms stand for conjunction (all the terms in the body must be true to make the head true).
Each term in the body of a rule is also called *goal*.

If the body is empty, the neck operator is omitted and the rule is called *fact*.

A *clause* is a rule or a fact.

## Useful References
- [https://sicstus.sics.se/sicstus/docs/4.3.1/html/sicstus/Glossary.html](https://sicstus.sics.se/sicstus/docs/4.3.1/html/sicstus/Glossary.html)
- [https://www.swi-prolog.org/pldoc/man?section=glossary](https://www.swi-prolog.org/pldoc/man?section=glossary)
- [http://www.let.rug.nl/bos/lpn//lpnpage.php?pagetype=html&pageid=lpn-htmlse2](http://www.let.rug.nl/bos/lpn//lpnpage.php?pagetype=html&pageid=lpn-htmlse2)

Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «Prolog Basic Terminology - Prolog Basics #01», вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.

Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.

Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!

Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.