Skip to content

Repository files navigation

fin-lat-rep

code license: MIT paper Nix flake GAP 4.15.1 OpenJDK 21 Jython 2.7.4 Python 3.13 TeX Live 2025

Source and supporting material for Representing Finite Lattices as Congruence Lattices of Finite Algebras, by William DeMeo, Ralph Freese and Peter Jipsen. The LaTeX source of the article is in article/.

It asks which finite lattices are congruence lattices of finite algebras, and answers it for the small ones: Section 4 tabulates 35 lattices of at most seven elements and, for 29 of them, a unary algebra representing each one.

Building and checking it

These instructions assume you have Nix installed and you know how to use the command line in a terminal. If you don't have Nix, go to https://nixos.org/ and install it.

One command sets up everything, and installs nothing permanently on your system:

nix develop

That command lands you in a Nix "devShell" with all the tools you need: GAP with its Small Groups Library, a JDK, the Universal Algebra Calculator, TeX Live, Jython, Python, make and gh, all pinned by flake.lock, so that everyone builds the paper with the same software.

Once you're in the devShell,

make paper          build article/SmallLatticeReps.pdf
make verify         run the computational checks that gate a change; CI runs this and nix flake check
make check-catalog  check every algebra against the lattice drawn beside it
make uacalc-smoke   check that the calculator comes up (Linux only)
make help           list every target

uacalc opens the calculator on an algebra file, uacalc-cli is its Jython command line, and docs/CHECKING-AN-ALGEBRA.md is how to satisfy yourself about a single algebra by hand, in either engine.

What is where

article/ the LaTeX source of the article
lattice-lists/ Peter Jipsen's catalogs of small lattices and their congruence representations
misc/ background papers by Aschbacher, Pálfy, and Pálfy and Pudlák
talks/ slides from talks about this work
programs/ see programs/README.md: the GAP programs now live in UniversalAlgebra/fin-lat-rep-gap
uacalc-files/ see uacalc-files/README.md: the algebra files now live in UACalc/AlgebraFiles

The overalgebras construction is in williamdemeo/Overalgebras; the closure algorithm, the article's workhorse, is BasicPartition.java in UACalc/uacalcsrc.

Contributing

CONTRIBUTING.md has the git workflow, how to add a BibTeX entry, and what to do when the shell or the LaTeX build misbehaves; the roadmap is docs/GITHUB_PROJECT.md. Questions and suggestions are welcome as issues.

About

resources for the finite lattice representations project

Resources

Contributing

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages