RAT-CAT-SAT: Model Checking Memory Consistency Models | Synapse