=== Avatars ===
The benefit of Avatar Logic is that it can infer
a lot from the data without explicit constraints.

In Avatar Logic, a 1-avatar is a simple extension of a term.
1-avatars are used when using the term directly is too constrained.

Higher avatars than 1-avatars are an implicit result from
Avatar Logic itself, so you only need to specify 1-avatars.

For example:

  parent'(alice) : mom
  (bob, parent'(alice))

Avalog adds the following expression:

  mom(bob) => parent'(alice)

Here, `parent` is the 1-avatar extending `alice`.

One can think about this as `mom(bob)` being a set,
which contains only `parent'(_)` 1-avatars.
Among these parents, is `parent'(alice)`.
Hence, this can be read as "Bob has a mom named Alice".

To specify that Bob only has one mom, one can write:

  uniq parent

This adds the following expression:

  mom(bob) = parent'(alice)

Now, one can read this as "Bob's mom is Alice".
