Dedekind-MacNeille completion #
The Dedekind-MacNeille completion of a partial order is the smallest complete lattice into which it embeds.
The theory of concept lattices allows for a simple construction. In fact, DedekindCut α is simply
an abbreviation for Concept α α (· ≤ ·). This means we don't need to reprove that this is a
complete lattice; instead, the file simply proves that any order embedding into another complete
lattice factors through it.
Todo #
- Build the order isomorphism
DedekindCut ℚ ≃o EReal.
Tags #
Dedekind completion, Dedekind cut
The Dedekind-MacNeille completion of a partial order is the smallest complete lattice that
contains it. We define here the type of Dedekind cuts of α as the Concept lattice of the ≤
relation of α.
For A : DedekindCut α, the sets A.left and A.right are related by
upperBounds A.left = A.right and lowerBounds A.right = A.left.
The theorem DedekindCut.principalEmbedding_trans_factorEmbedding proves that if α is a partial
order and β is a complete lattice, any embedding α ↪o β factors through DedekindCut α.
Equations
- DedekindCut α = Concept α α fun (x1 x2 : α) => x1 ≤ x2
Instances For
The left set of a Dedekind cut. This is an alias for Concept.extent.
Instances For
The right set of a Dedekind cut. This is an alias for Concept.intent.
Instances For
See DedekindCut.ext' for a version using the right set instead.
See DedekindCut.ext for a version using the left set instead.
Convert an element into its Dedekind cut (Iic a, Ici a). This map is order-preserving,
though it is injective only on partial orders.
Equations
- DedekindCut.principal a = (Concept.ofObject (fun (x1 x2 : α) => x1 ≤ x2) a).copy (Set.Iic a) (Set.Ici a) ⋯ ⋯
Instances For
We can never have a computable decidable instance, for the same reason we can't on Set α.
DedekindCut.principal as an OrderEmbedding.
Equations
- DedekindCut.principalEmbedding = { toFun := DedekindCut.principal, inj' := ⋯, map_rel_iff' := ⋯ }
Instances For
Any order embedding β ↪o α into a complete lattice α factors through DedekindCut β.
This map is defined so that factorEmbedding f A = sSup (f '' A.left). Although the construction
factorEmbedding f A = sInf (f '' A.right) would also work, these do not in general give equal
embeddings.
Equations
- DedekindCut.factorEmbedding f = OrderEmbedding.ofMapLEIff (fun (A : DedekindCut β) => sSup (⇑f '' A.left)) ⋯
Instances For
The Dedekind-MacNeille completion of a partial order is the smallest complete lattice containing it, in the sense that any embedding into any complete lattice factors through it.
DedekindCut.principal as an OrderIso.
This provides the second half of the fundamental theorem of concept lattices: every complete lattice is isomorphic to a concept lattice (its own Dedekind completion).
See Concept.instCompleteLattice for the first half.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.