Operations and Substitutions

One of the crucial motivations to write this paper was to find an answer to the:

General Question: What mathematical infrastructure we need to define a formalism enabling us to specify semantic structures with the full expressive power of first-order predicate logic?

Our answer will be: We need nothing but a category!

We are able to give such a general answer since we use only predicate symbols and no operation symbols to construct first-order statements in context. This restriction allows us to realize the translation of first-order statements along context morphisms by simple composition. In particular, there is no need for any kind of "substitution" to define those translations and thus to construct first-order formalisms for specification purposes.

For a future development of reasonable deduction calculi within our framework, we have to rely, however, on "substitutions" and, to have substitutions at hand, we need more infrastructure than just a simple category. In particular, we will need well-behaved pushout constructions as it will be shortly demonstrated in the paper.

Makkai's work [15,26] exemplifies that predicates may be, in principal, quite sufficient to build reasonable specification formalisms.

However, for applications in Software Engineering, for example, operations are sadly missed. Therefore, we are also interested in finding out if and how we can define operations in arbitrary categories. As an initial step, we started to develop a theory of graph operations [3]. It turns out that the step from traditional set operations to graph operations is not trivial at all. We are, however, optimistic that it will be possible to lift the concepts and results of a future comprehensive theory of graph operations, at least, to the level of arbitrary presheaf topoi.

## Deduction

To keep software models readable and feasible, we should not overload them with unnecessary items and/or information. In particular, we should drop information that can be derived from the already given information.

To put this principle into practice, we have, however, to rely on mechanisms to derive information. Applied to DPF, this means, especially, that we need rules enabling us to deduce statements from given statements and those deduction rules should be sound.

In the paper, we introduce the concept sketch arrow and discuss the utilization of sketch arrows as deduction rules. The development of a fully fledged deduction calculus for Logics of Statements has, however, to be left as a topic of future research. We will, nevertheless, present and discuss some vital observations, insights and ideas for this future expansion of our framework.

Category Theory can be seen as a diagrammatic specification formalism since it is based on the concepts graph, composition and identity. The development of our abstract framework is also triggered and guided by the quest to put this understanding on a precise formal ground and to develop a purely diagrammatic presentation of Category Theory where the properties commutative, limit and colimit are described by first-order statements on graphs. Most of the diagrammatic pictures in textbooks on Category Theory are nothing but sketches. The vision is to define concepts and to prove results in Category Theory based on pure "diagrammatic reasoning"–or, to formulate it differently: Let us present Category Theory in such a way that "diagram chasing" becomes a precise and well-founded proof technique. As result of such a project, one would probably end up with something very much related to the language of diagrams introduced in [27] and used in [28] to present and define categorical concepts and carry out proofs in a diagrammatic manner. We became acquainted with this language only in the final stage of writing this paper and will include a discussion of this language in the future development of a fully fledged deduction calculus for Logics of Statements.
