Abstraction Awareness is about deeper understanding of abstraction, a concept so basic to human thinking. Subsequently abstraction is discussed by the means of basic Graph Theory and Formal Concept Analysis.
A single unary relation R(x), can simply classify e.g. Naturals in evens and odds. This doesn’t take us very far. So, they should be enhanced by either adding more unary relations or making the relation 2-ary, 3-ary etc. Moreover, both can be combined to multiple n-ary relations. However, here we stick with the basic two cases, and adjourn the combined case until ‘later’.
Multiple unary relations R(x), S(x), …, can describe complex property structures. In the theory of Formal Concept Analysis, this is said to be a Context. Now in order to handle the complexity of such structures by Abstraction, the concept of a Formal Concept proves very helpful. All Formal Concepts of a structure provide a lattice, which helps us ‘understanding’ the structure. Thus, in abstractional terms, Classification (by Formal Concepts) implies Generalisation (Concept Lattice). in detail…
A single n-ary relation R(x, y, …), shows how the elements are related to each other. Graph Theory provides two basic concepts here that describe Abstraction: A Module (corresponding to the abstractional concept of Classification) lumps together all the nodes, that have the same edges to other nodes, i.e. appear the same to the outside, so to say. A Component (corresponding to the abstractional concept of Aggregation) groups the nodes, closely connected to each other and loosely connected to the outside, roughly speaking.
Moreover, both, Modules and Components, can be sorted hierarchically, in order to simplify the ‘understanding’ of the structure. Intuitively, I would call this Generalisation in the case of Modules. However, for Components, the term ‘composition’ sounds more natural to me. in detail…
It is hoped, that this can provide a very basic setting for a deeper analysis of the nature of Abstraction. Some questions arise immediately, like ‘how do formal concepts and modules fit together?’ (i.o.w. how can they be generalised?) or ‘what makes modules and components the outstanding concepts for abstraction?’ (i.o.w. what properties define the formal concept of ‘module and component’ in the context of abstraction?) etc.