Closure operators on a partial order #
We define (bundled) closure operators on a partial order as an monotone (increasing), extensive (inflationary) and idempotent function. We define closed elements for the operator as elements which are fixed by it.
Note that there is close connection to Galois connections and Galois insertions: every closure
operator induces a Galois insertion (from the set of closed elements to the underlying type), and
every Galois connection induces a closure operator (namely the composition). In particular,
a Galois insertion can be seen as a general case of a closure operator, where the inclusion is given
by coercion, see
- to_preorder_hom : α →ₘ α
- le_closure' : ∀ (x : α), x ≤ c.to_preorder_hom.to_fun x
- idempotent' : ∀ (x : α), c.to_preorder_hom.to_fun (c.to_preorder_hom.to_fun x) = c.to_preorder_hom.to_fun x
A closure operator on the partial order
α is a monotone function which is extensive (every
is less than its closure) and idempotent.
Constructor for a closure operator using the weaker idempotency axiom:
f (f x) ≤ f x.
The set of closed elements has a Galois insertion to the underlying type.
Every Galois connection induces a closure operator given by the composition. This is the partial order version of the statement that every adjunction induces a monad.