From Variable to Structure

Variable is the name I have given to the basic building block of information in that previous blog. Variable and value can often be identified with set and element, concepts ubiquitous in mathematics. This makes it obvious that mathematics is all about information. How could it not be so!

The most basic step in information processing is:

  • Exclusive selection of a value from a variable.

Exclusiveness

For a information processor the exclusiveness of values of the variable mapped internally results from the actual exclusiveness of the real variable by approximating the information content of the latter. Instead of having the \(\{\text{yes},\text{no}\}\) choice (variable) for every element, i.e. \(I=n\), we can do with \(I=\log n\) such bits. That saves memory.

Sets in mathematics can be a together of anything. One can combine them and intersect them. There are subsets and power sets. The elements must be distinguishable, though. So there is the basic idea of selection in the set. But it is often not made fundamental enough. The variable/value idea gives a motivation to the language of sets.

In FCA one starts with sets of intents shared by a set of objects (extent). But the set is formed by selecting an intent in or out, i.e. by a binary selection. Then subsets are formed by intersection (which means union of extents).

Variables do not exist alone or outside any context. No, they are the consequence of selection, and that asks for a criterion, which comes from another variable (unless we are looking at the uncertainty principle in quantum mechanics). There is an identity that links certain variables, like a very specific triangle links the lengths of its sides. This is the object in the extent in FCA. The sides of different triangles are not linked. Of most importance is functional dependence. The function represents the identity. This is an idea upon which the mathematics of \(quantum mechanics\) is based, and it allows to reconcile infinity with quantum.

Subsets will arise via such dependencies as described in FCA. They are also a means to do selections in steps, and these steps do not need to complete (infinity). One can also simply combine separate selection processes by some criteria and thus introduce subsets that are distinguishable, but possibly overlapping. In FCA the overlapping parts of an intent become a separate intent.

Context

Exclusiveness depends on the context. In FCA there is a context concept. It combines those elements that occur together into objects. Objects (extent) that share elements (intent) form an (extent,intent)-node. Such a node can be viewed as a different and more specific context concept of a variable: Combined with the values of a variable, this node give rise to new nodes: {context}x{values of variable}. More generally every Cartesian product gives rise to variables. Subsets of the Cartesian product are also called relations.

The lattice has the nodes as it’s elements. Each node is a dual view on a set of intents or extents. In mathematics one embraces more often the topology view, but it is basically the same thing, just that one looks at all atomic elements and adds on top of it a set hierarchy. This additional set hierarchy is a topological structure on the set.

A set with additional structure, like a topology, is a space. Space/point corresponds to variable/value.

With the topology, variable/value can also be topology/set in topology. In the lattice view this corresponds to lattice/node. The topology \(T\) consists of many variables, determined by the context, as described above.

Topological vs. programming structure

Topology and FCA form a set structure, which is a set hierarchy, which is a hierarchy of variables.

Although more general, this notion also applies to programming. In the programming language C, struct names a set of variables. An important difference is the “variable” in C and other programming languages is only the bits that allow to choose a value of the actual variable. The actual variable is specified outside the program, in the documentation or by implicit knowledge of the programmer.

Extensive Variable

There is an important difference between

  1. a variable, whose values are atomic by nature
  2. a variable, whose values are sets, i.e. variables themselves.

The first is a point space. A topology gives a point space a way to distinguish points (separation axioms, infinity) and a sense of distance between points (metric).

The second kind is no variable any more, if one value is contained in the other (chain in a partial order), because the exclusiveness has gone. But if the sets are exclusive and form a Cartesian product with some other variable(s), then they form a “variable of variables” kind of variable.

If the value is a variable it is an extensive value of an extensive variable. Only such values motivate certain operations:

  • addition
  • multiplication: If two such extensive values (= if the values of two such variables) form a Cartesian product. A Cartesian product requires orthogonality. The more general concept of the wedge product has non-orthogonality included.
  • inner product as degree of non-orthogonality

The fact that often only the size of extensive values is mentioned (by some measure: count, length, area, volume, weight,...) should not let forget that by nature it is nevertheless a set.

To summarize: The variable and the selection of values is physical. It occurs in the real world. It occurs in the computer and in our brain, because they are part of the real world. Still, the latter two’s purpose is to predict the outside world and thus that world needs to be simulated. For that purpose internal variables are mapped to the outer real world variables. More variables form a structure, in the mathematical and in the programming sense. Structures can be reused by mapping some of their variables, e.g. input and output variables (indirection). There are also variables and structures that arise from saving memory or processing time. Extensive values are themselves variables even if only represented by their size via a number.