the reduction rules