Complement Complement: A constraint-based programming language focusing around set theory and formal logic