Rules for pattern matching constructs