In Section 3.1 and Section 3.2 we present domains and categories before giving their grammar in Section 3.5. A grammar for the ALLCOT statements and (arithmetic and boolean) expressions appear in Sections 3.3 and 3.4 respectively.