Products, coproducts and equalizers in category of lattices Background: Let $\mathbf{Lat}$ be the 2-category of lattices which can be viewed as a subcategory of the 2-cateogry of posets $\mathbf{Pos}$, that is, objects in $\mathbf{Pos}$ that have all finite products and coproducts (a.k.a meets and joins in lattice-speak); we may or may not require 2-morphisms in $\mathbf{Lat}$ to preserve meets and joins (i.e continuous and cocontinuous).
I am considering (what I call) cellular sheaves valued in lattices which are just functors $F: X \rightarrow \mathbf{Lat}$ where $X$ is the face relation poset of a cell complex. In order to do "sheaf theory" with sheaves valued in $\mathbf{Lat}$, it would be nice to have a notion of a coproduct and product in this category. I think product is fairly clear: just use the product partial order; meets and joins are what you think they would be.
As far as a coproduct, I am not sure.
If anyone has any suggestions? I have heard of a "free product of lattices" but it is not defined in a language I can understand. Not even clear to me that the "free product" that Gratzer defines is unique.
By "sheaf theory", I mainly mean taking limits and colimits over all the stalks. Another property I would like (or like to know doesn't hold) is the existence of all equalizers and (maybe if coproducts exist) coequalizers which would guarantee the existence of all small (co)limits. That would be lovely.
In general, looking for references on lattice theory, "non-abelian" sheaf theory, or anything about categories and lattice theory.
Thanks in advance!
 A: I'm not sure about sheaf theory, but limits and colimits in categories of lattices are routine to construct. You just have to be clear about your categorical setup. Consider the following categories:


*

*$sLat^{\vee}$, the category of posets with $(\vee,\bot)$ and morphisms which preserve these.

*$Lat$, the category of posets with $(\vee,\wedge,\bot,\top)$ and morphisms which preserve these.

*$DistLat$ the full subcategory of $Lat$ on the lattices where $\wedge$ distributes over $\vee$.

*...
and variants like


*

*$Lat^{unbbd}$, the category of posets with $(\vee,\wedge)$ and morphisms which preserve these.

*$Lat^{\uparrow bdded}$, the category of posets with $(\vee,\wedge,\top)$ and morphisms which preserve these.

*...
In each case, we have a variety in the sense of universal algebra, i.e. a category where an object is a set with some $n$-ary functions on it satisfying some universal equations (note that the poset structure can be recovered from $\vee$ or $\wedge$) and morphisms being functions which commute with all the functions. Other examples are categories like groups, rings, etc.
In any such category $\mathcal C$, one has all limits and colimits. They can be constructed in the following way. There is a forgetful functor $U: \mathcal C \to Set$. This functor has a left adjoint $F: Set \to \mathcal C$, which just sends a set to the set of all words in the function symbols, quotiented by the universal relations that hold in objects of $\mathcal C$. For example in the case of groups, $F(X)$ is the free group on the set $X$.
This adjunction $F \dashv U$ yields a monad $UF: Set \to Set$ from which the category $\mathcal C$ can be recovered as the category of algebras. Limits and colimits can be constructed in a standard way. For limits, take the limit of the underlying sets and extend the functions in the obvious way. Colimits are a bit more complicated, but you can read about them here. Filtered colimits, though, are easy -- just take the colimit of the underlying sets and extend the operations in the obvious way (these are what you need to compute stalks). Reflexive coequalizers are likewise computed at the level of the underlying sets. The trickiest class of colimits are coproducts. The coproduct $\amalg_i C_i$ is constructed by taking $F(\amalg_i U(C_i))$ and quotienting by an equivalence relation (for instance, the coproduct of groups is the free amalgam). Alternative descriptions may be available depending on $C$ -- for example see here.
