This library allows predicates about a domain to be created and combined using various operators (AND, OR, NOT, IMPLIES, etc.)