a declaration ‘Available: BookCopy’ and pre-condition ‘bc? є Available’ would be detected as inconsistent by a Z type checker as the variable Available is not declared as representing a set, whereas it is used as a set. Similarly, in the Checkout operation schema in Section 4.4.3, post-conditions such as