$\begingroup$

I believe it would be beneficial for you to look up the theory of abstract interpretation, which provides very thorough answers to similar questions in the slightly different area of lattice-based program analysis.

It appears to me that you are using a framework based on algebras. I'm using the word algebra here in the sense of universal algebra, where I assume that constraints on the structure of the algebra are given by equalities between terms. There are two different senses in which abstractions (or hierarchies) enter the picture.

Abstraction as a relationship between two specific algebras.You might want to say that one algebra has a richer structure than another algebra, or that every problem you can solve with one algebra you can solve with the other. This kind of relationship is what would be formalised buy homomorphisms, or some other mapping between algebras. Abstraction hierarchies as families of algebras. In your case, these would be families of deltoids with certain properties. As a more general example, consider all partially ordered sets. We can think of lattices, distributive lattices, and Boolean lattices as a sequence of sub-families that have richer properties.

The two notions are closely related but different.

Abstraction between two structures

The insight of abstract interpretation is that it is useful to endow the structures you consider with a notion of order. Consider two structures

$(M, f_M)$ and $(N, f_N)$, with $f_M: M \to M$ and $f_N:N \to N$ as the operations of interest.

A homomorphism in the universal algebra sense would look something like this:

$h:M \to N$ is a function satisfying the equality $h(f_M(a)) = f_N(h(a))$.

We can view the two structures appearing above as pre-ordered structures

$(M, =, f_M)$ and $(N, =, f_N)$

and the homomorphism we can rewrite to be a function satisfying

that if $a = b$ then $h(a) = h(b)$, and for all $a$ in $M$, $h(f_M(a)) = f_N(h(a))$.

Now, suppose you have some other notion of approximation available that makes sense. For example, when we deal with sets of states in program verification, subset inclusion makes sense for certain application, or when dealing with formulae in automated deduction, implication makes sense. More generally, we can consider

$(M, \preceq, f_M)$ and $(N,\sqsubseteq, f_N)$, where $\preceq$ and $\sqsubseteq$ are preorders.

Now, instead of homomorphism, we can have an abstraction function

$\alpha: M \to N$ which is monotone, meaning that whenever $a \preceq b$ we have $\alpha(a) \sqsubseteq \alpha(b)$, and semi-commutes with the operations: $\alpha(f_M(a)) \sqsubseteq f_N(\alpha(a))$ for all $a$ in $M$.

The abstraction function makes explicit the idea that if the structure over $N$ is an abstraction of the structure over $M$, then evaluating a term in $N$ cannot produce more precise results (with respect to the notion of approximation in $N$) than evaluating the same term in $M$ and then mapping it to $N$.

Now we can ask if it is necessary to approach the problem in terms of abstraction as opposed to refinement. Meaning, can we not say that $M$ is a refinement of $N$ and formulate conditions in terms terms. This is exactly what a concretisation function does.

A concretisation function $\gamma: N \to M$ is monotone and satisfies the inequality $f_M(\gamma(b)) \preceq \gamma(f_N(b))$.

The abstraction and concretisation conditions are called soundness conditions in abstract interpretation. In the special case that $\alpha$ and $\gamma$ form a Galois connection, the abstraction and concretisation conditions are equivalent. In general, they are not equivalent.

Everything we have done so far only formalises the notion of abstraction between a pair of structures. The things I have said can be summarised far more succinctly in the language of category theory. I have avoided categories because of your comment above.

Abstraction Hierarchies

Suppose we have a structure $\mathcal{M}$ endowed with a preorder and some operations. We can consider all structures $\mathcal{N}$ such that $\mathcal{N}$ is an abstraction of $\mathcal{M}$ in the sense above. If we have that $\mathcal{N}_1$ is an abstraction of $\mathcal{N}_2$ and both are abstractions of $\mathcal{M}$, we have three elements of the hierarchy. The relation `is an abstraction of' allows us to define a preorder between structures. Let us call a family of structures ordered by abstraction a hierarchy.

If I consider your example, it appears that your abstract deltoid may be a candidate for the maximal element in some hierarchy. I'm not entirely sure because the abstract deltoid appears to be a family of deltoids rather than a specific deltoid.

What you can now do is consider different hierarchies. The hierarchy of all deltoids. A sub-hierarchy based on various considerations you have above. A specific example in the abstract interpretation context is a hierarchy of complete lattices that are in a Galois connection with a given powerset lattice, and sub-hierarchies consisting of only distributive or only Boolean lattices.

As Martin Berger points out in the comments, this notion of abstraction between hierarchies is captured by that of adjunctions between categories.

A Categorical Perspective

There was a comment requesting for more comments on categories. That comment is no longer there but I will respond anyway.

Let's step back and look at what you are doing in designing deltoids and what I have described above from a more general perspective. We are interested in understanding the essential structure of the entities we manipulate in a software context and the relationship between these entities.

The first important realisation is that we are not just interested in a set of elements but in the operations that we can perform on those elements and the properties of those operations. This intuition drives the design of classes in object oriented programming and the definition of algebraic structures. You have already made this intuition explicit in the definition of a deltoid which has identified a few operations of interest. More generally, this is the thought process underlying algebraic descriptions. We need to identify what our operations are and what properties they have. This step tell us the type structure that we are working with.

The second realisation is that we are not just interested in a set of elements but abstraction relationships. The simplest formalisation I can imagine of abstraction is to consider a preordered set. We can think of a preordered set as a strict generalisation of a set to something that comes with a notion of approximation baked in.

We ideally want to work in a setting where both the insights above are first-class citizens. Meaning, we want a typed setting like that of an algebra, but also the approximation aware setting of a preorder. A first step in this direction is to consider a lattice. A lattice is a conceptually interesting structure because we can define it in two equivalent ways.

We can define a lattice equationally as a set $(L, \sqcap, \sqcup)$ equipped with a meet and a join operation. We can then derive the partial order by defining $a \sqsubseteq b$ to hold whenever $a \sqcap b = a$. An alternative is to define a lattice as a partially ordered set $(L, \sqsubseteq)$ satisfying that every pair of elements in $L$ has a unique greatest lower bound and least upper bound. We can then derive the meet and join operations from the partial order.

A lattice is thus a mathematical structure which can be approached from the algebraic or the approximation perspective. The shortcoming here is that the elements of a lattice themselves do not possess a type structure that is factored into the approximation relationship. Meaning, we cannot compare elements based on the notion of having more or less structure.

In the context of your problem, you can think of categories as a natural generalisation of preorders that capture both the notion of approximation (in the morphisms) and type structure in an algebraic setting. The setting of category theory allows us to dispense with various unnecessary distinctions and focus on the structure of entities you care about and approximation of that structure. Universal properties and adjunctions give you a very powerful vocabulary and tools to understand the landscape of structures you are interested in and enables a rigorous mathematical treatment of even intuitive notions like different levels of abstraction.

Regarding my comment about abstract deltoids, it appears that what you want is a category. The abstract deltoid is a specific category analogous to the category of sets. There are other categories you are considering. I initially thought you were defining a deltoid that in the sense of category theory would be a terminal (or final) object.

You are studying the kind of questions that category theory provides a very satisfying answers for. I hope you will be able to come to that conclusion yourself.

References