Semantic validation rules