Boolean matrices

The following classes in libsemigroups represent boolean matrices:

Boolean matrix helpers

The following helper struct can be used to determine the smallest type of boolean matrix of specified dimension.

Boolean matrix adapters

The following adapters are implemented to so that BMat can be used with Konieczny.