> For the complete documentation index, see [llms.txt](https://ampersandtarski.gitbook.io/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ampersandtarski.gitbook.io/documentation/the-language-ampersand/terms/semantics-in-logic/primitive-terms.md).

# Primitive terms

## Relations

When a [relation](/documentation/the-language-ampersand/relations.md) is used in a term, it stands for all pairs it contains at the moment it is evaluated. Those pairs (also referred to as the ***contents*** or ***population*** of the relation) can change over time as users add or delete pairs from it.

When a relation is used in a term, we can just use its name if that is unambiguous. For instance  the name `owner`  refers to `RELATION owner[Person*Building]` if that is the only relation the ampersand-compiler can link it to. In some cases, however the name alone is ambiguous. For example if there are two relations with the same name and different signatures. In such cases Ampersand will try to infer the type from the context. That however does not always succeed. In such cases, Ampersand generates an error message that asks you to remove the ambiguity by adding the correct type.

If a pair $$(a,b)$$ is an element of a relation $$r$$, we write $$a\ r\ b$$. Alternatively we may write $$(a,b)\in r$$ , since we know that $$r$$ is a set.

## Identity

For every concept $$C$$, the term $$I\_{\[C]}$$ exists. It refers to the ***identity relation***. It means that for every $$a\in C$$ and $$b\in C$$ we have:

$$
a = b\ \Leftrightarrow\ a\ I\_{\[C]}\ b
$$

The type of $$I\_{\[C]}$$ is $$\[C\*C]$$. In Ampersand code you write `I[C]`.

## Complete relation

For every pair of concepts $$A$$ and $$B$$ the term $$V\_{\[A\*B]}$$ refers to the ***complete relation***. For every $$a\in A$$ and $$b\in B$$ we have:

$$
a\ V\_{\[A\*B]}\ b
$$

The type of $$V\_{\[A*B]}$$ is $$\[A*B]$$. In Ampersand code you write `V[A*B]`.

## Other explanation

Would you like a different explanation of the primitive terms? [This page](/documentation/the-language-ampersand/terms/semantics-in-sets/primitive-terms-in-set-theory.md) explains the primitive terms in terms of set theory. [Click here](/documentation/the-language-ampersand/terms/semantics-in-natural-language/primitive-terms-in-natural-language.md) for the explanation of primitive terms in natural language.
