Lojban and Zendo June 28, 2017

Zendo is an interesting game. The full rules are on the linked page, but here’s the short version:

There are pyramids of different colours and sizes that can be arranged in various ways.

One player has a secret rule that matches some arrangements, but not others.

Players can guess rules, and a counterexample (which fits the secret rule but not the proposed rule) is constructed for incorrect guesses.

Examples of rules are “contains a blue pyramid”, “contains two small pyramids”, “all medium pyramids are touching a green pyramid”, and even complicated monstrosities like “pyramids are large if they are green or yellow, and there are no blue mediums”.

However, ambiguity in rules can be a problem, especially when players are guessing rules. Here are some examples of ambiguity:

“contains two small pyramids”: at least two, or exactly two?

“all medium pyramids are touching a green pyramid”: does this match an arrangement with no medium pyramids?

“blue on top of yellow”: do all blues have to be on top of a yellow? do all yellows have to be under a blue? what if there’s no blue, or no yellow, or neither? directly on top or just somewhere above?

It isn’t too difficult to disambiguate rules, but unambiguous rules can get pretty wordy, and asking for disambiguation can give away information. What if there were a better way?

Enter Lojban

Lojban is a constructed language designed to be logical and avoid ambiguity. It turns out that it’s quite easy to express a large variety of Zendo rules unambiguously in Lojban, and the rules are often sometimes more concise than their English equivalents! I also find that thinking about rules in Lojban helps me consider a different set of rules, because the rules that are easily expressed in Lojban are different from those easily expressed in English.

I’m going to briefly cover the parts of the language relevant to constructing Zendo rules. That means a lot of less relevant details are going to be omitted, and other parts will be left to be inferred from examples. If you want to pronounce the words right in your head, check out the phonology guide. For more Lojban resources, check out the end of this post.

Logical Quantified Existential Variables

The most important word for Zendo rules is da . It means “there is at least one thing you can substitute here such that the sentence is true”. Together with the word xunre , which means “x 1 is red” , we can write the simplest possible rule:

da xunre “there is at least one red pyramid”

Notice the emphasis on “at least one”. The default quantity is su'o pa , “at least one”, but any number (or number-like word) can be stuck in front of da .

pa da xunre “there is exactly one red pyramid” re da xunre “there are exactly two red pyramids” su'o re da xunre “there are at least two red pyramids” no da xunre “there are no red pyramids” ro da xunre “every pyramid is red”

Take special note of the last two examples. Even though these are called “existential” variables, they can also express non-existence with no (zero), or universality with ro (all).

The words de and di are the same as da , but represent different variables. Multiple variables can be used together.

farsni “x 1 points at x 2 “ da farsni de “there is a pyramid pointing at another pyramid” no da farsni su'o re de “there is no pyramid that points at two or more pyramids” da farsni re de “there is a pyramid that points at exactly two pyramids”

The meaning can change if variables are introduced in a different order. To do this, se farsni is used, which means “x 1 is pointed at by x 2 ” ( se swaps the first and second places).

da farsni no de “some pyramid points at no pyramids” no de se farsni da “no pyramid is pointed at by some pyramid”

This matches how existential quantifiers work in math:

da farsni no de ∃X: ¬∃Y: X points at Y no de se farsni da ¬∃Y: ∃X: X points at Y

To avoid reordering words in the sentence itself, you can declare the quantifiers separately in the prenex, which is separated from the main sentence by the word zo'u :

da farsni no de da no de zo'u da farsni de no de se farsni da no de da zo'u da farsni de

Restrictive Relative Clauses

The word ro (all) was mentioned in the last section, but I didn’t give many examples. That’s because you usually want to say “all pyramids which [condition]” rather than just “all pyramids”. The word poi attaches a restrictive relative clause to the preceding object; you can read it as “which”. The word ku'o is placed after the relative clause to separate it from the rest of the sentence, if the relative clause isn’t at the end of the sentence.

blanu “x 1 is blue” sraji “x 1 is upright” ro da poi blanu ku'o sraji “all blue pyramids are upright” ro da poi farsni de ku'o xunre “all pyramids which point at another pyramid are red” pencu “x 1 touches x 2 “ da pencu de poi farsni pa di “there is a pyramid touching a pyramid that points at exactly one pyramid”

Logical Connectives

Lojban has several different logical connectives for different parts of speech. Here, we’ll use gi'e (and), gi'a (or), and gi'o (if and only if) . You can stick na before or nai after to negate the corresponding operand.

da sraji gi'e blanu “there is an upright blue pyramid” da sraji gi'a blanu “there is a pyramid that is upright or blue (or both)” da sraji na gi'e nai blanu “there is a pyramid that is neither upright nor blue” da sraji gi'o blanu “there is an upright blue pyramid or a non-upright non-blue pyramid” ro da sraji gi'o blanu “pyramids are upright if and only if they are blue” barda “x 1 is large” ro da barda na gi'a xunre “pyramids are not large or are red”

“if a pyramid is large, then it is also red”

Note that the last example could be expressed with a relative clause as well:

ro da poi barda ku'o xunre “all large pyramids are red”

You can connect multiple phrases together using .i followed by je (and), ja (or), or jo (if and only if). Note that the final vowel is the same as before for each connective.

da sraji .i jo no de blanu “there is an upright pyramid if and only if there are no blue pyramids”

If there are two or more logical connectives, they are evaluated using left-associativity (left to right).

ro da blanu gi'a xunre gi'e barda “all pyramids are blue or red, and are large” ro da blanu gi'e barda gi'a xunre “all pyramids are blue and large, or are red”

Comparisons

The word zmadu means “x 1 is greater than x 2 in property x 3 ”. To create a property to fill the third spot, lo ka (which means “the property of”) is used along with a subphrase. The most common property in a comparison is lo ka barda (the property of bigness).

da zmadu de lo ka barda “there is a pyramid bigger than another pyramid” da poi xunre zmadu de poi blanu ku'o lo ka barda “there is a red pyramid bigger than a blue pyramid” da poi xunre zmadu ro de poi blanu ku'o lo ka barda “there is a red pyramid bigger than all blue pyramids (if any)”

Another useful word that takes a property is traji , which means “x 1 is the most x 2 ”.

galtu “x 1 is high up” da poi traji lo ka galtu ku'o xunre “the highest pyramid is red”

Vocabulary

Here’s a big list of Lojban words for constructing Zendo rules.

Things pirmidi : x 1 is a pyramid

barna : x 1 is a spot on x 2

kamju : x 1 is a column/stack

lo loldi : the floor/ground Numbers no : 0, pa : 1, re : 2, ci : 3, vo : 4

mu : 5, xa : 6, ze : 7, bi : 8, so : 9

pano : 10, su'o : at least [one], ro : all Sizes barda : x 1 is large

norbra : x 1 is medium

cmalu : x 1 is small

nilbra : x 1 is the size of x 2 Comparison zmadu : x 1 is greater than x 2 in property x 3

mleca : x 1 is less than x 2 in property x 3

traji : x 1 is the most x 2 Colours blanu : x 1 is blue

crino : x 1 is green

pelxu : x 1 is yellow

xunre : x 1 is red

skari : x 1 is of colour x 2 Position cpana : x 1 is on x 2

gapru : x 1 is above x 2

cnita : x 1 is beneath x 2

pencu : x 1 touches x 2

farsni : x 1 points at x 2

galtu : x 1 is high up

dizlo : x 1 is low down Orientation sraji : x 1 is vertical/upright

pinta : x 1 is horizontal/flat Logic gi'e / je : and

gi'a / ja : or

gi'o / jo : if and only if Other Words da , de , di : existential variables (X, Y, Z)

poi : relative clause (“which”)

ku'o : terminates a relative clause

se : swaps x 1 and x 2

Sample Rules

See if you can figure out the meaning of these rules! Mouse over or tap the black text for the answers.

su'o re da pelxu “there are at least two yellow pyramids” re da blanu gi'a cmalu “there are exactly two pyramids which are blue or small” no da norbra gi'e crino “there are no medium green pyramids” da se skari su'o re de “there are at least two pyramids of the same colour” ci da barna de poi xunre “there are exactly three spots on red pyramids” pa da nilbra ro de poi sraji “all upright pieces are the same size” da poi blanu ku'o pencu lo loldi “there is a blue pyramid touching the table” da farsni de poi mleca da lo ka barda “there is a pyramid pointing at a smaller pyramid” ro da poi pinta ku'o farsni de poi sraji “all flat pyramids point at standing pyramids”

More About Lojban

For a broader introduction to Lojban, check out lojbo.org. For more detailed information about the language and learning resources, go to lojban.org. If you decide to try learning Lojban, I recommend reading la karda first.