LatticeFlow
LatticeFlow copied to clipboard
Refactor lattice templates to support monotonicity checking
We want to "whitelist" monotonicity, and carry the "taint" of non-monotonicity through the type system.
Possible approaches: use C++ traits
- Probably need to have monotone lattice functions inherit from something that assigns the
is_monotonetrait. - Would also be nice to organize the code so that we segregate or flag functions as
is_morphism,is_monotoneor "other"...