This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
An Introduction to Forms
by Charles Wells Last revised 2015 1130 Charles (at) abstractmath.org
A form is a kind of generalized sketch that I introduced in [GenSk]. The most detailed description of forms is in [GBLS]. Reading this introduction might help you work your way through that paper.
A sketch (invented fifty years ago by Charles Ehresmann) is a mathematical structure designed for specifying a type of mathematical structure. Sketches are described briefly here and in detail in references [CTCS] and [TTT]. A form is an abstraction of the concept of sketch. Forms also specify kinds of mathematical structures, and they can specify more kinds of structures than sketches can [LimSk]. In a sense, a form is a kind of sketch of a sketch.
I will sneak up on the idea of sketch using the specification of directed graphs as an example.
This picture shows a directed graph. A graph theorist might call it a directed multigraph with loops.
What makes it a directed graph is that it has some nodes (x, y, z and w in this case), some arrows (a, b, c, d, e, u), and each arrow has a source and a target; for example, the source of c is z and its target is x. That information completely determines the structure of a directed graph.
The picture has lots of extraneous information irrelevant to the structure, for example the placement of the nodes. This extraneous data may make it easier to see the structure but is not part of the structure of the directed graph itself.
You can denote the set of positive divisors of 7 by {1,7} or by {7,1}; in either case it is the set whose elements are exactly 1 and 7 and nothing else. Whether the 1 or the 7 comes first inside the braces is not relevant. It is interesting that most notation systems for mathematical object has properties that are irrelevant to the structure denoted -- even the notation for a two-element set. This introduces noise in the required pattern recognition process.
The statement in blue above is an informal definition of "directed graph" written in mathematical English. This definition determines a type of mathematical structure. You could go on and say that a morphism of directed graphs must take nodes to nodes, arrows to arrows, and preserve source and target. For example, a morphism f from the directed graph in the picture to some other directed graph must satisfy the requirements that the source of f(c) must be f(z) and the target must be f(x). Thus the two statements in blue define a category of directed graphs.
There are other ways to define morphism of directed graphs; for example, you can allow an arrow to go to a node. That category of directed graphs can also be sketched. So can undirected graphs. [GMG] gives a survey of these concepts.
The definitions in blue require experience in reading mathematical prose and fairly sophisticated pattern-recognition to determine that they are definitions and to determine just what requirements they impose for an object to be a directed graph. This is discussed in detail in abstractmath.org.
Both the definitions in blue could be made more formal. They could be clearly marked as definitions and the example remarks could be segregated into another paragraph. For example:
Definition. A directed graph consists of two sets A, whose elements are called arrows, and N, whose elements are called nodes, and two functions and .
This formal definition is still a piece of mathematical English. It still requires pattern recognition to extract the mathematical content. But what is the mathematical content of a definition? Both mathematical logic and sketch theory provide (different) answers to this question: Both provide a mathematical object that determines a type of structure.
A first-order theory is a mathematical structure that specifies a type of mathematical structure. It provides a mathematically defined system of symbols, expressions and formulas that determine a type of structure, along with a set of rules that determine which sets-with-structure are of the desired type, in other words are models. The expressions and formulas are strings of symbols defined recursively and subject to axioms.
As an example, the theory for directed graphs could contain two types (node, arrow), a set of variables of each type, two unary function symbols s and t, and some production rules such as: "If a is of type arrow, then s(a) is a well formed term of type node." (You could also use a single-sorted theory, with predicates that say whether an object is a node or an arrow.) A model of this theory (in the category of sets) must consist of two sets and two functions between them.
This theory is a mathematical object. The fact that first-order theories and their models are math objects allows you to prove theorems such as the Löwenheim-Skolem Theorem (every finitary first order theory that has an infinitary model has non-isomorphic models, which is where you get non-standard integers).
The
details about first order theories are spelled out in the Stanford encyclopedia entry. Wikipedia has a
list of first order theories of common structures such as
groups and (undirected) graphs.
A first order theory could be described as a mathematical object consisting of strings of symbols subject to certain axioms, along with rules describing what models must be. Thus it takes a formal definition in Mathematical English, such as the definition of directed graph given above, and models it as strings, in the same way we might model the flight of a cannonball as a parabola. (This is a different use of the word "model" from the meaning of model of a first order theory. Abstractmath.org has a discussion about the various uses of the word "model".)
Because of this, it makes sense to say that a first order theory is a string-based specification of a type of math structure.
A sketch is a graph-based specification of a type of mathematical structure. The sketch for directed graphs is shown at the right. It is itself a graph, which is confusing. Get used to it.
A model M of this sketch in a category consists of objects and of and morphisms and of .
Thus a model in the category of sets is both of these things:
· A particular directed graph.
· A functor from the sketch to the category of sets.
A functor from a directed graph into a category is defined in the same way as a functor from a category into a category, except that there are no composites or identities to preserve.
A morphism of models of this sketch from to is a pair of functions and for which these diagrams commute:
If you chase these diagrams you will discover that they say both these things:
That is a start on understanding sketches: Models are functors and morphisms between models are natural transformations.
Groups, small categories, fields and many other structures are models of sketches. To show how that happens, I have to say how to sketch binary operations (to define groups), how to impose equations (to state the associative law), how to define equalizers (so I can say how to define composition when the domain of one morphism equals the codomain of another) , "not equals" (so I can say ), and many other things. Many examples of sketches may be found in [TTT] and [CTCS].
We can go further and sketch special kinds of categories (cartesian closed, toposes, and others) which we will need to do to create forms with more power than sketches.
Let be the graph above. It has one node c and one arrow s, whose source and target are (necessarily) c. A model of this sketch is a set C and a function from C to itself. Any such function determines a cyclic semigroup of transformations of C. One particular model is the one in which in which C is the set of natural numbers and s is the successor function: this is the free semigroup on one letter.
You may want to experiment with other graphs as sketches. Any graph produces a category of models in sets. Each such category is a category of presheaves, hence is a topos ([TTT], p. 67, Theorem 2.4).
We need to expand the idea of sketch to be able to define more kinds of structure. Let’s start with equations. Suppose we take the sketch for an endofunction and want to modify it so that in every model in Set. This means we must require that the diagram (in the category of sets) below commute for every model M.
To say that this diagram is commutative (or commutes) requires that .
· This use of the word "commutative" is distinct from the meaning of the word in algebra.
· Saying exactly what “this diagram is commutative” means for any particular diagram requires fussiness. Chapter 2 of [GBLS] goes into excruciating detail about this.
The obvious way to do this is to say that we require a model to be a functor from the graph to the category of sets that has the property that the image of the diagram
under M is a commutative diagram in the category of sets. We say that this diagram is formally commutative. In general, in sketch theory, something is formally P if in every model of the sketch its image is required to be P.
To say that the diagram itself is commutative is meaningless. It is a diagram in a graph, which has no notion of composition of arrows.
This gives us a more general notion of sketch which allows the specification of equations, although so far only between unary operations. Formally, a linear sketch consists of a graph G together with a set of zero or more formally commutative diagrams. It should be apparent that an linear sketch can specify anything that a universal algebra signature with only unary operations can specify.
A model in Set of a linear sketch is a graph morphism with the property that M takes every diagram in D to a commutative diagram in Set.
This definition would still be meaningful if we replaced by any category whatever. So now we can talk about a model of in any category C. For example, a model in the category of groups of the endofunction sketch above that requires the cube to be the identity function is simply a group with a specified automorphism of order 1 or 3. Indeed, in any category of structures of a certain type, a model is a structure of that type with a specified automorphism of order 1 or 3.
The more elaborate sketches we construct later will still allow models in any category. For example, a model of the sketch for groups (see [TTT] starting on page 126) in the category of Hausdorff spaces is precisely a Hausdorff topological group.
Ancient cute theorem: A model of the sketch for groups in the category of groups is an Abelian group. That’s because the group operations must be homomorphisms!
Sketches as I have described them so far can now describe some kinds of universal algebras, namely those with unary operations and equations. n-ary operations and more elaborate constructions will come later.
The first big construction in universal algebra is that of the clone of a type of algebra (commonly called a signature): a specific set of n-ary operations for various n and specific equations involving those operations. The clone is essentially all the expressions you can create from the operations, requiring two expressions to be equivalent if you can prove they are equivalent given the equations of the algebra.
For example, in the clone for groups, x(y(xy)) is equivalent to (xy)(xy). On the other hand, xy is not equivalent to yx because there are noncommutative groups, so xy = yx can’t possibly follow from the equations.
The Lawvere theory of the algebra is a different construction which essentially expresses the clone as a special kind of category, with models of the theory being product-preserving functors.
In model theory a first-order theory is an extension of the concept of clone that allows relations other than equality, as well as the use of negation and quantifiers. First order theories are constructed in a different way from clones and Lawvere theories but they capture the same general idea in the bigger context.
For a sketch, the idea equivalent to the clones and theories just described is that of a cattheory. (This is a new coinage. See Terminology below.)
Suppose we have a linear sketch where G is a graph and D is a set of formally commutative diagrams. The cattheory of the linear sketch, denoted by , is the free category generated by G with the condition imposed that the diagrams in D must become commutative. The graph morphism that takes the nodes and arrows in G to the corresponding objects and arrows of the free category is by definition a model of the sketch . G is called the generic model of the sketch.
A model of the cattheory in a category is simply a functor . We don’t have to impose properties on the functor because functors automatically preserve commutative diagrams. When we get into more complicated structures we will have to add preservation requirements on the model functor.
The category of models of the linear sketch in a category is denoted by . The category of models of the cattheory in is denoted by . By definition of "free", any model induces a unique model for which .
I defined a model of in as a graph morphism , but in the previous paragraph I referred to a model . This is the standard abuse of notation used everywhere in math: Deliberately not distinguishing a structure from its underlying set. (See "abuse of notation" in Wikipedia and in [Hbk].)
The cattheory has this universal property:
Theorem The map
is an equivalence of categories.
This theorem forces the cattheory to be determined up to natural equivalence of categories that commutes with the generic model. For all practical purposes, a model of the sketch is thus the same thing as a model of its cattheory. This will remain true as we go up the hierarchy of new constructions (n-ary operations, limits and colimits, and other things) and is the defining property of the cattheory. Clones, Lawvere theories and first order theories are all cattheories up to equivalence.
may be thought of as the minimal category that contains a model of , the model being the generic model G. Every model M of in any category must induce a unique (up to natural isomorphism) model of in , simply because everything in must be there because any category containing a model of must have everything in .
For example, consider the sketch for endofunctions above. Because s is in the graph of the sketch, every power of M(s) must be in any category containing a model M of the sketch. This forces by induction a unique functor M' from the cattheory of the sketch to (Usually the induced functor is unique only up to natural isomorphism, but this time it is rilly rilly unique.)
The remarks in this section apply in general to all kinds of sketches, not just the restricted version we are considering here.
The situation in the literature is confusing.
I am using “cattheory” so that I will have a neologism that doesn’t mean anything different to anybody. Personally, I think we should keep using “theory”, because the theory (syntactic category in the sense of Johnstone) is ultimately the same thing (satisfies the same universal property) as the corresponding logical theory; the difference is only in the construction.
A (binary) product diagram in a category is a cone to {a,b}, in other words a diagram that looks like this
(1)
with this specific universal property:
For any other cone to {a,b},
(2)
there is a unique fill-in arrow fi such that this diagram commutes:
(3)
This diagram has been called a sawhorse. But like most metaphors in math, this name is misleading.
Chapter 5 of [CTCS] gives a detailed explanation of products in categories at a rather elementary level.
Finite products products of a finite number of objects in a category -- can be define analogously. However, if you assume you have all products of two objects then you automatically get all finite products of two or more elements. It is an easy exercise to see that every category has all products of one object. A product of no objects is a terminal object and that has to be assumed separately. Not all categories have a terminal object, for example the category you get if the singleton groups and the arrows to and from them are untimely ripp’d from the category of groups it has all products of finite nonempty sets of objects but no terminal object.
A category has finite products if there is a product diagram for any finite set of objects.
An FP sketch is a graph together with some specified formally commutative diagrams and some specified formal product diagrams. A model of an FP sketch in a category is a functor from the graph to that takes the specified formally commutative diagrams to commutative diagrams and the specified formal product diagrams to product diagrams.
The category of all algebras for any specified type of universal algebra (with finitary operations) is equivalant to the category of models of an FP sketch. Chapter 4 of [TTT] describes an FP sketch for the category of groups starting on page 126.
The homomorphisms in the category of models of an FP sketch must preserve the designated product diagrams on the nose. For example, the sketch for groups just mentioned has three designated formal product cones, for the terminal object, for and for . The formal binary operation is an arrow . "On the nose" means that in a model the binary operation must have domain the exact copy of that is the value of the model at . This is just a technicality, although some mathematicians make a big deal out of it. In fact when mathematicians talk about the “category of groups” they never say which product cone they mean by and .
Review: a cone to a set of objects of a category consists of an object v of the category and one arrow from v to each object in . A finite-product diagram is a cone to such a (finite) set with the unique fill-in property.
Now suppose we have a finite diagram in a category. I am specifically not assuming it is commutative. A commutative cone to is an object v, an arrow(called a projection) from v to each node of , with the additional property that each triangle formed by two projections and an arrow of the diagram must commute. The diagram is called the base diagram of the cone.
Here is an example of a base diagram:
(a)
A commutative cone over this base will look like the left diagram below. The three arrows with source P are the projections.
Since the triangles involving two projections have to commute, the diagonal
projection is determined by the other two. For this reason, this
particular example is almost always drawn as on the right. It is called a pullback diagram.
In each case all the projections are shown on the left and only the necessary ones on the right.
(b)
(c)
A limit cone over a diagram is a commutative cone over the diagram with the same unique-fill-in property that product cones have. For example if this is a limit cone over diagram (a) above
(d)
and the blue arrows on the left below also form a commutative cone over the same base, then there must be a unique fill-in arrow making everything commute in the diagram on the right.
This particular shape (d) of limit cone is called a pullback diagram. A limit cone in the shape of (b) is an equalizer diagram. It turns out that if you assume that if all pullbacks and equalizers exist, then you have limit cones over every finite diagram for free. Limit cones of shape (c) don’t have a common name but they will be referred to later.
Since a finite set of objects is just a finite diagram with no arrows, product diagrams are a special case of limit diagrams. The commutativity requirement is then vacuous.
A category has all finite limits is called an FL-category. From the remark in the previous paragraph, an FP-category is automatically an FL-category; the diagrams in have nodes but no arrows.
An older name, which is deprecated, is left exact category.
An FL sketch (finite-limit sketch) is a finite graph with a finite set of finite formally commutative diagrams and a finite set of formal limit cones over finite diagrams (which are not usually among the formally commutative diagrams.)
A model of an FL sketch in an FL category is a graph map into the (underlying graph of) the FL category that take the diagrams in to commutative cones and the cones in to limit cones.
The category of models of the FL sketch in an FL category is denoted by .
The FL cattheory of a linear sketch is a category together with a model with the the property that for any model of in a category , there is a unique model M' of in such that
commutes. G is the generic model of .
The category of models of the cattheory in is denoted by .
The cattheory has this universal property:
Theorem The map
is an equivalence of categories.
(Compare the corresponding theorem for linear categories.)
This theorem forces the cattheory to be determined up to natural equivalence of categories that commutes with the generic model. For all practical purposes, a model of the sketch is thus the same thing as a model of its cattheory.
The first key to understanding forms is that all sorts of interesting kinds of categories (cartesian closed, toposes, symmetric monoidal) are models of FL-sketches. Indeed, I expect (but haven't proved) that every kind of n-category that anyone ever defined is a model of an FL-sketch it doesn’t require anything that might be called “n-sketches”. However, they will have the same problem as ordinary categories in that in the category of models the structure has to be preserved on the nose. In the case of FL-sketches for different kinds of 1-categories, the sketch’s model category is equivalent (but not isomorphic because of the nose problem) to the usual way we define categories of that kind of category. What “equivalence” means for “every kind of n-category” is referred to in [nLEquiv].
The linear cattheory of a linear sketch is just the free category generated by the graph of the sketch, with the formally commutative diagrams forced to be commutative. It is more complicated to prove the existence of the FL cattheory of an FL sketch. Once you do show it exists, it follows easily from the definition that it is uniquely determined up to equivalence of categories.
There are two approaches to showing the existence of the FL cattheory.
Introduce an operator on categories that adjoins diagrams that in effect add limit cones to finite diagrams that don’t already have limits. This is done in lots of detail in sections 4.2 and 4.3 of [GLBS]. Starting with an FL-sketch , the cattheory is the minimum fixpoint of this operator.
This is the computer-sciencey way of doing it. Each arrow and commutative diagram in the theory is constructed explicitly. When [GLBS] constructs proofs, this step-by-step construction corresponds to the inductive construction of formulas and rules of inference in classical string-based logic.
Given an FL sketch , the category of models of in the category of sets turns out to be a full reflective subcategory of the presheaf category .
Let’s spell out what this means: the models are finite-limit-preserving functors and the presheaf category contains all functors. The reflectivity means that the embedding has a left adjoint, which implies that a limit of a diagram in the model category is also the limit of the diagram in the presheaf category. The fullness means that every natural transformation between models is a morphism of models. Using these facts you can get an embedding of in ; is then the full FL subcategory generated by the image of the embedding.
This is worked out in detail for the FP case in [TTT], Chapter 4.3. The construction is then carefully described for the FL case in Chapter 4.4, but the proof is omitted. It is quite analogous to the FP case.
I have been focusing here on the FL case because that is the foundation of the construction of forms in [GBLS].
An FP sketch and its FP cattheory are defined in the same way, except that the finite diagrams that the cones are over have to be discrete, and it has properties analogous to those for FL sketches given above. Note that any FP sketch or linear sketch will also have an FL cattheory.
FL sketches (finite-limit sketches) makes it possible to construct a sketch for categories. To do this you need some nodes:
, which in a model will become the set of objects -- so in our "formal" terminology is the formal set of objects. (This terminology, by the way, is due to John W. Gray.)
, the formal set of arrows.
, the formal set of composable pairs of arrows.
, the formal set of composable triples of arrows, needed to state the associative law.
It needs many arrows, some of which are:
that formally picks the identity arrow of an object
that formally pick the source and target of an arrow.
that formally picks out the composite of a pair of arrows.
...as well as many structural arrows that, for example, pick out the first arrow in a composable chain, or that picks out the pair of arrows given a composable triple.
Of course, you can’t just say that is the formal set of composable pairs of arrows. What you must do is produce a cone that forces it to be that formal set, in other words forces it to be the set of composable arrows in a model. And here it is:
(The blue arrows are the projections, the black objects and arrows form the base diagram. Note that the middle blue arrow is superfluous. If you drop it, you may recognize this as an ordinary pullback diagram.)
You need an analogous cone for and diagrams for associativity and to make the identity arrows behave right. The details are in [GLBS], chapter 7.
In a model M, the elements of are diagrams that look like this:
This green diagram is in the model (semantics), and the cone above is a diagram in the syntax. You have to make the distinction constantly in this subject. This is remarkably annoying. To help, I am systematically putting objects of the category-that-is-the-model in green, and cone projections in blue. Black and blue means syntax, green means semantics.
is the domain of the composition arrow . So defining categories requires more subtlety that defining an ordinary algebra, where the domains of the ops are always cartesian products: this domain is an equalizer. To sketch categories requires the full power of finite limits, not just finite products. Of course, that last sentence does not follow from anything I have said, since there might be a rascally way to use only finite products. But there isn’t: the category of small categories is not regular (Exercise 6, page 278, of [TTT]) but any category of multisorted universal algebras (which are the same thing as models of FP theories) does have that property: see [TTT], section 8.4.
Nevertheless, the category of models of an FL sketch always has all sortwise limits and all sortwise filtered colimits. in particular initial algebras.
Constructing a particular kind of limit or colimit sortwise means that it is constructed sort by sort. For example, if always , then the category of models has sortwise products. In most of the references the name “pointwise” is used.
Many categories with particular properties can also be sketched with FL sketches. These include
A category has finite products (is an FP category) if it has terminal objects and binary products. GBLS describes the construction of the FL sketch for categories with finite products in section 7.3, which spells out how you sketch the set of terminal objects and the set of binary product cones. I will give a more detailed discussion of how to do binary product cones here and introduce the annotation notation we use.
We must distinguish between two things:
A diagram in the FL sketch will be in black (the color for syntax) and a diagram in a category with finite products will be green (the color for semantics). In both syntax and semantics, projection arrows may be blue and arrows that exist uniquely (fill-in arrows) may be red.
A product diagram in an FP category looks like this:
(Diagram )
But a diagram can look like that without being a product diagram. You have to say that it is a product diagram. This means that for any cone to the same pair of objects
(Diagram )
there is a unique arrow h making this diagram commute:
(Diagram F)
To get the FL sketch for FP categories, you start with the sketch for categories and add some objects and arrows. The ones listed below are the objects and arrows needed for sketching the set of binary cones and finite-product cones. Others are needed for the terminal object (much easier and not done here).
, the formal set of cones of the form .
, the formal set of fill-in diagrams (diagrams of the form of F above).
, that picks out the product cone over a pair of objects.
, that picks out the source cone of a fill-in arrow.
, that picks out the target cone of a fill-in arrow.
, that takes a cone to the unique fill-in diagram that has the cone as source cone.
that formally picks out the fill-in arrow in a fill-in diagram.
The FL sketch for FP categories contains this limit cone, which requires that the two arrows in a cone have the same source. Note that I have named the projections lproj and rproj.
(Diagram ConeSpec)
This cone is annotated according to a system that is spelled out precisely in [GBLS]. The annotation of this diagram refers to cone above. Some perspectives on this situation:
This much more complicated annotated limit cone defines :
I completed the annotation compared to the version in GBLS, whose partial annotation generates the rest. The three projection arrows shown generate all the others, not shown to avoid clutter.
Some notes and examples:
A Cartesian closed category is a category with the following structure:
(lameval)
It follows that is a natural isomorphism of homsets.
Going from to is called currying or partial application. You can curry a multivariable function all the way down to a constant. The inverse process is usually called uncurrying. It constitutes getting rid of entries in the codomain of a function that are function spaces by adding variables to the function. I suggest using blanding instead of “uncurrying”.
The FL sketch for CCC’s (which I will call CCCSk) is spelled out in detail in [GBLS]. I will mention some of the constructions here. I will use many of them in the next section to give an example of a form.
The complete list is spelled out in Sections 7.2 and 7.6 of [GBLS]. Here I mention
that formally picks out the identity arrow of an object.
, the formal set of functions of two variables, in other words arrows of the form .
that picks out the arrow itself.
that picks out the source of a two-variable function .
, the formal set of curried functions from .
and that pick out the source and target of a curried function .
that picks out the function space of two objects and .
, the formal set of composable pairs of arrows in the FL sketch for categories, defined by this pullback diagram:
(Ar2Def)
For the purposes of the example below, I need as defined by this diagram:(Bsource)
In an object-oriented program built on this work, this would be a derived method..
One of the limit cones in CCCSk defines and in particular gives the properties it needs:
(Curry)
The formally commutative diagram below should have been included in the FL sketch for categories in Section 7.2 of [GLBS]. It gives the composite of a composable pair the right source and target.
(Compreq)
An object of a cartesian closed category is reflexive if there are arrows and such that
(ret)
commutes. That means is a retract of . is called a reflexive function space. Reflexive function spaces are the theoretical basis for programming languages which have functions as first class objects.
So a sketch for RFS’s would be defined by a limit cone over the diagram below. I have always shown the cones in blue before, but GBLS does not show cones at all, and it isn’t necessary to show them.
(ReflFSConeBase)
To specify a reflexive function space you would have to give an object and two arrows that satisfies Diagram (lameval) above, so the mandatory projections would be to , and . The projection to is induced by Diagram (Curry) above, the projection to by Diagram (Ar2Def), and the projection to follows from the fact that it is the vertex of the product cone shown. The other projections exist by composition.
Let's call the vertex of this cone rfs for "reflexive function space". Note that all the objects and arrows in this diagram exist in the FL sketch for cartesian closed categories.
Now you can check (or forget all the constructions above and just Put Your Hands On The Monitor And Believe) that in a model of the FL sketch for CCC’s, would be the set of reflexive function spaces together with specified inclusion and retraction .
Non-surprise: In any model of the FL sketch for CCC’s in the category of sets, will be the empty set. It is well known that for any set the function space has cardinality properly bigger that the cardinality of , so there can be no inclusion of into .
Nevertheless, is a perfectly well defined set. It just turns out to be empty.
Forms are defined formally in [GBLS]. Here I will provide a form for reflexive function spaces as an example. In such a way that you get an informal definition of form.
Some terminology:
The sketch CCCSk for cartesian closed categories is a constructor space. A constructor space must be an FL-sketch that “contains” and is “generated” (see [GBLS], Chapter 6.1) by the FL sketch for categories, and indeed CCCSk is built from the FL sketch for categories by adjoining some objects and arrows, cones and commutative diagrams that all exist already in the FL Cattheory for categories. So a constructor space has models we can call C-categories. In particular a model for CCCSk in sets is a cartesian closed category.
We can identify the constructor space as a doctrine. For example, the doctrine of equational theories (FP sketches) is the constructor space for categories with finite products, and the doctrine of cartesian closed categories is CCCSk. (I believe, without having thought about it enough, that this definition of doctrine is spiritually the same as Beck's definition of doctrine.)
For any constructor space , take an object in the FL Cattheory of and adjoin a new arrow where 1 is the terminal object. is what we call a C-form and with as a freely adjoined arrow is called .
A "model of a -form in a C-category “ means that contains a model of . This means that in , is nonempty.
The CCC-form for reflexive function spaces is then a global element of the node of CCCSk as constructed above for some CCC. There are no models in the category of sets, but there are many toposes (and many other CCC’s) that do have models, as in domain theory.
Sketches are forms, in this sense: If you have a sketch in some doctrine (for example, a finite-limit sketch), the sketch consists of a graph with some diagrams, cones and cocones. There is a node S in the FL-Cattheory of finite-limit categories each of whose elements in a model of S (in other words in an FL -category) will be such a sketch.
A magma is a set with a binary operation defined on it. It does not have to be associative or commutative or anything.
In the FP doctrine, the sketch for magmas consists of objects and , arrows
and one cone
and nothing else. The FP-Cattheory for this sketch is (equivalent to) the Lawvere theory of magmas.
The FL-Cattheory FPSk for FP categories contains a node whose inhabitants in any model of FPSk (in other words in any FP-category) are all such sketches (objects, arrows and the cone). This means that the FP sketch for magmas corresponds to an FP-form. In this way you can see that all sketches in Ehresmann’s sense are forms in my sense.
This node can be constructed as the limit of a cone over a diagram in FPSk. You have to make the diagram become a description of the objects, arrows and cone above, using the arrows in the constructor space FPSk. For example , , and others, and including formally commutative diagrams that say for example that Cone1's projections go to the same object (using and }. Adjoining a global element to this limit node will result in an FL-category which contains FPSk along with that global element.
So a model of the form for magmas in an FP category is a model of for which the model of the underlying cattheory FPSk is ; in other words it is the category with a distinguished element f of the node . That distinguished element is a particular diagram and cone like the ones shown above for a particular object (because the projections onto include a particular projection to That object with the arrows corresponding to , and is a particular magma, a model of the sketch for magmas given above.
The paper [LimSk] contains two other examples of forms, the form whose models are categories with subterminal objects, and the category of groups with morphisms restricted to those that preserve centers. Neither of these categories can be sketched. They both use a "Universal Quantifier Constructor", and so have models in toposes.
Thanks to Toby Bartels for corrections and suggestions.
[GBLS] Atish Bagchi and Charles Wells, Graph-Based Logic and Sketches, draft, September 2008, on ArXiv.
[MSk] Michael Barr, Models of sketches (1986). Cahiers de Topologie et Géométrie Différentielle Catégorique, 27:93-107.
[LimSk] Michael Barr and Charles Wells. On the limitations of sketches (1992). Canadian Mathematical Bulletin, 35:287-294.
[CTCS] Michael Barr and Charles Wells, Category Theory for Computing Science (1999). Les Publications CRM, Montreal (publication PM023).
[TTT] Michael Barr and Charles Wells, Toposes, Triples and Theories (2005). Reprints in Theory and Applications of Categories 1.
[GMG] R. Brown, I. Morris, J. Shrimpton and C. D. Wensley. Graphs of morphisms of graphs, 2008.
[Mgm] M. Hazewinkel (2001), “Magma“, in Hazewinkel, Michiel, Encyclopaedia of Mathematics, Kluwer Academic Publishers, ISBN 978-1556080104
[SkEl] Peter T. Johnstone, Sketches of an Elephant: A Topos Theory Compendium, Volume 2 (2002). Oxford Logic Guides 44, Oxford University Press, ISBN 978-0198524960.
[KPT] Yoshiki Kinoshita, John Power, and Makoto Takeyama. Sketches (1997). In Mathematical Foundations of Programming Semantics, Thirteenth Annual Conference, Stephen Brookes and Michael W. Mislove, editors. Elsevier.
[nLEquiv] n-Labs, Equivalence of categories.
[PHLCC] Palmgren, E and Vickers, Steven (2006) Partial Horn logic and cartesian categories. Annals of Pure and Applied Logic, 143 (3). pp. 314-353. ISSN 0168-0072
[FEAS] A.J. Power and Charles Wells. A formalism for the specfication of essentially algebraic structures in 2-categories (1992) Mathematical Structures in Computer Science, 2:1-28.
[FDDT] Charles Wells and Michael Barr, The formal description of data types using sketches, in Mathematical Foundations of Programming Language Semantics, M Main, A Melton, M Mislove, and D Schmidt, editors. Lecture Notes in Computer Science 298 (1988).
[GenSk] Charles Wells. A generalization of the concept of sketch (1990). Theoretical Computer Science, 70:159-178.
[Hbk] Charles Wells, A Handbook of Mathematical Discourse (2003).
[SkOut] Charles Wells, Sketches: Outline with references. (2009).
Charles (at) abstractmath.org