Sketch (mathematics)
In mathematics, the term "sketch" refers to a specific type of diagram or structure that encodes a category and a class of models for that category within a specified structure. A sketch is a formal tool used to specify mathematical structures and their relationships in a rigorous and abstract way. It is particularly prevalent in category theory and theoretical computer science.
More precisely, a sketch typically consists of:
-
A graph: A directed graph, often called the underlying graph of the sketch. The vertices represent objects and the edges represent morphisms (or arrows) between these objects.
-
Diagrams: A collection of diagrams within the graph. These diagrams typically assert the equality of certain compositions of morphisms. These diagrams are often referred to as commuting diagrams.
-
Cones and/or Cocones (optional): Some sketches include cones or cocones, which specify limit or colimit properties. A cone describes how a specific object should be a limit of a given diagram, while a cocone describes how a specific object should be a colimit of a given diagram.
The models of a sketch are functors from the underlying graph of the sketch into the category of sets (or another suitable category) that satisfy the conditions imposed by the diagrams, cones, and cocones. That is, they map the objects and morphisms of the sketch to sets and functions, respectively, such that the diagrams commute (equal compositions of functions), and the (co)cones are sent to actual (co)limits.
Sketches provide a powerful way to define mathematical structures in a purely syntactic manner, abstracting away from specific implementations or representations. They are used extensively in areas like algebraic specification, data type specification, and the semantics of programming languages. They offer a declarative approach to specifying mathematical structures. Different types of sketches exist, each with varying levels of expressiveness, depending on the types of diagrams, cones, and cocones allowed.