  Semitopologies model consensus in distributed system by equating the notion
of a quorum -- a set of participants sufficient to make local progress -- with
that of an open set. This yields a topology-like theory of consensus, but
semitopologies generalise topologies, since the intersection of two quorums
need not necessarily be a quorum. The semitopological model of consensus is
naturally heterogeneous and local, just like topologies can be heterogenous and
local, and for the same reasons: points may have different quorums and there is
no restriction that open sets / quorums be uniformly generated (e.g. open sets
can be something other than two-thirds majorities of the points in the space).
  Semiframes are an algebraic abstraction of semitopologies. They are to
semitopologies as frames are to topologies. We give a notion of semifilter,
which plays a role analogous to filters, and show how to build a semiframe out
of the open sets of a semitopology, and a semitopology out of the semifilters
of a semiframe.
  We define suitable notions of category and morphism and prove a categorical
duality between (sober) semiframes and (spatial) semitopologies, and
investigate well-behavedness properties on semitopologies and semiframes across
the duality. Surprisingly, the structure of semiframes is not what one might
initially expect just from looking at semitopologies, and the canonical
structure required for the duality result -- a compatibility relation *,
generalising sets intersection -- is also canonical for expressing
well-behavedness properties.
  Overall, we deliver a new categorical, algebraic, abstract framework within
which to study consensus on distributed systems, and which is also simply
interesting to consider as a mathematical theory in its own right.
