By starting from a set of purely declarative statements, any zebra puzzle with limited constraints can be tagged and solved quickly in the same way without changing any code.
Zebra Puzzle Terminator: A general automatic reasoning system solving method was published on SAS Users.