The lower right part of the logo may be built from digital memory units and a simple voting/threshold unit. Each memory unit stores a map from a finite discrete space X_{i} into a finite space Y. Additionally, there are special points ⊥ ∈ Y, called „undefined“ and ⊥ ∈ X_{i}, called „unknown“. Obviously ⊥ ∈ X_{i} at „In“ forces „Out“ ∈ Y to ⊥. Initially, all of X_{i} is mapped to ⊥, the memory unit is empty. When the boolean input „Update“ is false, memory contents are fixed. When it is true, the input value at „Set“ is copied to „Out“. The association between the value at „In“ ∈ X and „Out“ ∈ Y remains stored when „Update“ returns to false.

The Pattern Engine

The memory units will store the functions f_{i} of the logo. Their address spaces are the small discrete spaces X_{i}. The voting unit implements the majority decision μ The special point ⊥ is treated as abstention. The misalignment between the diagonal and the image of the f_{i} in Y^{n} is measured by majority and veto. If majority is high (>α, Majority Threshold ) and veto is low (<β, Veto Threshold ), e.g. if the fit is good, a feedback path will store the majority result back into the memory cells. This makes the diagram commute.
( We may replace majory and veto by shannon entropy. The entropy of a point in Y^{n} measures how well the diagram of our logo commutes. The feedback path is activated whenever entropy is lower than a threshold.)
The Voting Unit has two additional inputs, „Set“ and „Update“. The boolean input „Update“ fakes majority and veto to 100% and 0%. We can use „Set“ and „Update“ to store reference examples. In this respect, the entire pattern engine behaves like a single memory unit with an unusual adressing scheme. The exact values of α and β are not important. A low veto threshold ( zero ) may improve semi–supervised learning, but it is not indispensable.