Constraint-Based Verification of Parameterized Cache Coherence Protocols