# rewalt

*(archaic)*to overturn, throw downa library for

**rew**riting,**al**gebra, and**t**opology, developed in Tallinn (aka**Reval**)

`rewalt`

is a toolkit for **higher-dimensional diagram rewriting**, with applications in

**higher**and**monoidal category theory**,**homotopical algebra**,**combinatorial topology**,

and more. Thanks to its visualisation features, it can also be used as a structure-aware **string diagram** editor, supporting TikZ output so the string diagrams can be directly embedded in your LaTeX files.

It implements diagrammatic sets which, by the “higher-dimensional rewriting” paradigm, double as a model of

*higher-dimensional rewrite systems*, and of*directed cell complexes*.

This model is “topologically sound”: a diagrammatic set built in `rewalt`

presents a finite CW complex, and a diagram constructed in the diagrammatic set presents a valid homotopy in this CW complex.

A diagrammatic set can be seen as a generalisation of a *simplicial set* or of a *cubical set* with many more “cell shapes”. As a result, `rewalt`

also contains a *full implementation* of finitely presented **simplicial sets** and **cubical sets with connections**.

## Installation

`rewalt`

is available for Python 3.7 and higher. You can install it with the command

```
pip install rewalt
```

If you want the bleeding edge, you can check out the GitHub repository.

## Getting started

To get started, we recommend you check the Notebooks, which contain a number of worked examples from category theory, algebra, and homotopy theory.

## Further reading

For a first introduction to the ideas of higher-dimensional rewriting, diagrammatic sets, and “topological soundness”, you may want to watch these presentations at the CIRM meeting on Higher Structures and at the GETCO 2022 conference.

A nice overview of the general landscape of higher-dimensional rewriting is Yves Guiraud’s mémoire d’habilitation.

So far there are two papers on the theory of diagrammatic sets: the first one containing the foundations, the second one containing some developments applied to categorical universal algebra.

A description and complexity analysis of some of the data structures and algorithms behind `rewalt`

will be published in the proceedings of ACT 2022.

## License

`rewalt`

is distributed under the BSD 3-clause license.

## Contributing

Currently, the only active developer of `rewalt`

is Amar Hadzihasanovic.

Contributions are welcome. Please reach out either by sending me an email, or by opening an issue.