The ALTERNATIVE instruction

Zebra puzzles: Glossary of Programming Instructions

Creates an alternative regarding a given topic. The alternative can take place in a single grid or across two grids.

When the alternative concerns a single grid, there is no need to use Booleans: false signs are sufficient.
When it concerns several grids, Booleans must be used with the grid of alternatives.

The alternatives translate into plain language in two ways:

  • use of the expression either, or…
  • use of the conjunction or, implied the “exclusive” or of mathematicians (it is one or the other, but not both!)

Some alternatives don’t make much sense and are therefore eliminated from Actilud’s integrams. For example, in the sand yacht puzzle, we could imagine: “either Hugo has a red chariot, or the 16-year-old plays for 50 minutes.” We realize that, in real life, no one would dare to make such an alternative with such disparate elements, even if it is mathematically correct!

That’s why we need a common element, shared by the same subject; despite everything, it can still be a bit “far-fetched” but at least there is a certain coherence: Djamel has a blue kite or plays for 30 minutes.

Kite Riddle

Either Djamel plays for 30 minutes, or he has a blue kite.
Melody’s kite is red or orange.

Djamel: His alternative involves two grids. So we code it with two Booleans, which are reported in the Alternatives grid, which tells the solver that one of the two is true. They are not both true, or both false. We deduce that the person who plays for 30 minutes does not have a blue kite.

Melody: its alternative is in the same grid. So we code it with false signs.

Designer

Create an alternative that covers a single grid or two grids.

Possible distribution:

There are three possibilities: on one grid, on two grids with booleans, or random choice: it’s the program that decides.

Subject Header:

You can impose the subject header or leave the choice to chance.

Maximum number of executions of this instruction.

Generated formal proposals

a: b ⊻ c

Djamel: 30mn ⊻ blue
Melody: red ⊻ orange

either a ∩ b is true, or a ∩ c is true.
The sign ⊻ is the exclusive or.

Failure to execute instructions

Sometimes, some instructions may not appear in your statement even though you have programmed them. Alternative instructions are particularly sensitive to disappearance.

In fact, they’re all implemented if possible. But then, once all the instructions are generated, a simplification module takes over and removes everything that’s unnecessary. Often, unfortunately, the alternatives pay the price.