# Semirings

**Warning: This package in under construction!**

Semirings are a powerful abstraction for dynamic programming algorithms.

From an overview of semirings, please see chapter 3.3 for

[Automating the Analysis and Improvement of Dynamic Programming Algorithms with Applications to Natural Language Processing](http://timvieira.github.io/doc/2023-timv-dissertation.pdf).
Tim Vieira.
PhD Dissertation. 2023
