Maths - Lattices and Sub-Topologies

I am looking for an efficient way to represent a topology, one possibility is to build a big topology from smaller discrete topologies.

Category Theory Principles

Let 'Topol' be all topologies on a finite set of a given size.

For example Topol(5) could be a category of all topologies in a 5 element set.

Let exten: Topol(5)->Topol(5) be an endofunctor from this category to itself.

These endofunctors are characterised as functors which increase the number of elements so I have called them 'extensions'.

diagram

Therefore, if we apply these extensions, we move from bottom to top. By composing these extensions we always get to top eventually.

This is equivalent to the other way to enumerate topologies (see Yoneda lemma).

As Monad

In order to compute these topologies it is useful to package them in a monad.

The monad is the above endofunctor with two natural transformations:

Practice

Do we need to glue them together using common labels or can we find some method without the need to define labels?

As an example imagine we have a topology:

[{},{A},{B},{A,B},{B,C},{A,B,C}]

A possible sub-topology (shown in green) would be:

[{},{A},{B},{A,B}]

Another sub-topology (shown in yellow) would be:

[{B},{A,B},{B,C},{A,B,C}]

but only after factoring out the common element 'B':

{B}*[{},{A},{C},{A,C}]

diagram

In this diagram the points are open sets and the faces are sub-topologies.

These points/open-sets form a lattice.

Internal Algebra of Lattice

In order to compute with this I am trying to invent an internal algebra of lattices. So I will choose '#' as an operator symbol to construct a lattice on a two element set {a,b}:

a # b = 0 + a + b + a\/b
diagram

So here are some operations in this algebra:

operator Internal Algebra of Lattice As Set of Sets meaning
#

Construct a complete lattice:

a # b = 0 + a + b + a\/b

{{},{a},{b},{a,b}}

= powerset

P{a,b}

I think of this as being all paths from 0 to a\/b.

We could go via 'a' or via 'b' or direct to 'a\/b'.

\/

Join:

a \/ b

{a,b}
union

diagram

I think of this as going directly from 0 to a\/b

/\ Meet {a,b} /\ {b,c} = {b}
intersection
 
+

Glue two lattices together.
Adding two complete lattices may not give a complete lattice.

a+a = a

Where the same element occurs in different lattices this gues them together.

   
0

bottom element

On its own, this is not a complete lattice.

empty set

{}

 
1 top element

whole set

{a,b,c}
for 3 element set

 
c\/(a # b)

Factor out a common element of a lattice:

c\/(a # b) = c+ a\/c + b\/c + a\/b\/c

{c} \/ {{},{a},{b},{a,b}} =
{{c},{a,c},{b,c},{a,b,c}}
diagram
c#(a\/b)

 

c#(a\/b)

{{},{c},{a,b},{a,b,c}} diagram

So lets try to construct a lattice on a three element set {a,b,c} by expanding out a lattice of a lattice:

(a # b) # c = ( 0 + a + b + a\/b) # c

= 0 + ( 0 + a + b + a\/b) + c + ( 0 + a + b + a\/b) \/ c

In order to expand out the last term we need to use a distributive law for the '+' and '\/' operations.

= 0 + 0 + a + b + a\/b + c + 0\/c + a\/c + b\/c + a\/b\/c

What is 0\/c ? In set terms we are doing a join to an empty set so:

0\/c = c

This gives us two copies of 'c' so let c+c = c.

So this gives us the powerset on 3 elements:

a # b # c = 0 + a + b + a\/b + c + a\/c + b\/c + a\/b\/c

Computing with these Lattices

I find it most efficien for complete lattices to be specified by basis nodes. That is the elements of the lattice may be specified either directly by a number such as '1' (basis node) or other nodes are only implied by a requirment of a join of multiple numbers such as '1\/2\/3'.

Lattice as Union of Power Sets

diagram

The lattice shown here is not a powerset but can it be made up of multiple powersets?

can every lattice be embedded into P(A) for some set A

Lattices do not distribute over powerset

We can start with a powerset based at the bottom element Ø. We can specify it competely by giving the basis elements 'a' and 'b'.

Now can we add more powersets so that they cover the entire lattice?

diagram
diagram

I am trying to add more powersets so that their join covers the whole lattice.

Note that the join of two powersets is not itself a powerset.

Here I have added the yellow powerset. This has bottom at 'a'. To specify this powerset we need to give the basis elements 'b' and 'c' in addition to the bottom element 'a' which is in all the elements (it is like an offset).

  diagram
diagram  

Extending Sub-Topologies

 

Existing Powerset

P(1,2)

Extension New Powersets  
diagram [1] -> [[3]] diagram 1*P(2,3)
diagram [1] -> [[3,4]] diagram 1*P(2,[3,4])
diagram [1] -> [[3],[4]] diagram 1*P(2,3,4)
diagram [1,2] -> [[3]] diagram (1\/2)*P(3)

 

Calculating all Topologies

On the page here we looked at a method of generating all topologies on a given set, this was:

So this gave a powerset of a powerset, as we saw this composition of powersets did not combine to give a single complete powerset. However, here I am trying choose subsets where this is possible

so let P be a powerset functor which takes a set to all its subsets. We want a function which takes a composition of powersets to a single complete powerset.

Monads (see page here) are a way to do this sort of composition, this case take:

and get:

So use a natural transformation, the multiplication operation:

μ : P P -> P

The inner powerset functor has a join operation \/ (which we can think of as a union of sets) and the outer powerset functor has a join operation + (which we can think of as putting the sets side by side).

In order to implement this multiplication operation we need to use the distributive law. This is usually:

(A+B) \/ C = A \/ C + B \/ C

But, in this case the distributive law is not valid so instead we have to use the 'weak distributive law':

(A+B) \/ C = split: (A \/ C + B) , (B \/ C + A)

As an example consider all the possible 29 topologies on a 3 element set.

In the diagram on the right the diamonds (shown as solid colour) represent complete lattices as they have all meets and joins of open sets. The meets and joins of the sub-lattice can be extended to the whole topology, so we can see that it is a sub-topology.

The sub-lattices may be at the root of the whole lattice. But the sub-lattices don't have to be at the root in which case the lowest element is included in every element of the sub-lattice.

We can also define meets and joins of the sub-topologies themselves, these are only closed for meets so, for whole sub-topologies, it is a MeetSemilattice.

Joins of whole sub-topologies are sets of sub-topologies, this is like gluing sub-topologies together.

diagram

Internal Algebra of Lattice

I am trying to invent an internal algebra of lattices.

So this:

[{1, 2, 3, 4}, {1, 2, 3}, {1, 2, 4}, {1, 3, 4}, {1, 2},

{1, 3}, {2, 3}, {1, 4}, {1}, {2}, {3}, {}]

could be coded like this:

P{1, 2, 3}+{1, 4}+{1, 2, 4}+{1, 3, 4}+{1, 2, 3, 4}

Where P means powerset.

This is the same way that simplicial complexes are coded. A 'discrete' topology corresponds to a 'face' and simplicial complexes are built up from faces.

I am not saying that simplicial complexes are the same as these topologies (we know they are not). I am just thinking they might be represented in a similar way.

I have not thought through all of this yet, one thing I would like to implement is simplicial sets (simplicial complexes with degenerate faces) Is there any way degenerate faces could be brought into this theory.

diagram

  diagram
 
  Id \/ B +B
0 0 0 \/ B = B 0+B = P(B) = null
A A A \/ B A+B

 

 
  Id \/ C +C
0 0 0 \/ C = C 0+C = P(C) = null
A A A \/ C A+C
B B B \/ C B+C
A \/ B A \/ B A \/ B \/ C (A \/ B)+C
A+B A+B

(A+B) \/ C = split: (A \/ C + B) , (B \/ C + A)

For justification of this lookup: 'weak distributive law' of powerset monad.

A+B+C

Unfortunately the usual distributive law does not work instead we have to use the 'weak distributive law' which splits the lattices:

(X+Y) \/ Z = (X \/ Z + Y) + (Y \/ Z + X)

Which is intended to be two lattices (X \/ Z + Y) and (Y \/ Z + X) glued together .

(for justification of this lookup: 'weak distributive law' of powerset monad.) So using this law we get:

= 0 + ( 0 + a + b + a\/b) + c + ( 0 \/ c + a + b + a\/b) + (a \/ c+ b + a\/b) + (b \/ c+ a + a\/b) + (a\/b\/c+ a + b)

This is a complete cover of all terms (multiple times)

[0 , a , b , c , a\/b , a\/c , b\/c , a\/b\/c]

So I assume that a multiple cover does not matter:

a + a = a

Meets of Sub-Topologies

How can we define meets of sub-topologies? For example, if we have:

{1}*P{2,3} /\ {3}*P{1,2}

where:

  • P{1,2} means [{}, {1}, {2}, {1,2}]
    that is the power set of {1,2}

we get

[{1,3}, {1,2,3}]

which I am denoting as {1,3}*P{2}

diagram

So the rules are:

{a}*P{b,c} /\ {d}*P{e,f} = {} if the entries are all different then meet is {}
{a}*P{b,c} /\ {a}*P{e,f} = {a} if the offsets are the same but the lattices are different then meet is {a}
{a}*P{b,c} /\ {d}*P{b,c} = {} if the offsets are different but the lattices are the same then meet is {}
{a}*P{b,c} /\ {d}*P{a,f} = {} if the first offset is in the other lattice then meet is {}
{a}*P{d,c} /\ {d}*P{a,f} = {a,d} if each offset is in the other lattice then meet is {a,d}
{a}*P{b,c} /\ {a}*P{b,f} = {a} P{b} if the offsets are the same {a} , the lattices have a common element {b} then meet is {a} P{b}
{a}*P{b,c} /\ {a}*P{b,c} = {a}*P{b,c} if the entries are all the same then meet is same as each operand

 


metadata block
see also:

 

Correspondence about this page

Book Shop - Further reading.

Where I can, I have put links to Amazon for books that are relevant to the subject, click on the appropriate country flag to get more details of the book or to buy it from them.

cover Introduction to Topological Manifolds (Graduate Texts in Mathematics S.)

Other Books about Curves and Surfaces

This site may have errors. Don't use for critical systems.

Copyright (c) 1998-2025 Martin John Baker - All rights reserved - privacy policy.