Моноид истории - это набор возможных последовательностей примитивных действий в потоках с учетом примитивов синхронизации, которые происходят в более чем одном потоке одновременно.
На самом деле это не просто набор, а моноид, что означает, что вы можете объединить последовательности, чтобы получить новую последовательность в моноиде, и есть нейтральный элемент, пустая последовательность.