1
0
Pizzas that could be extended - they have the given toppings, but could also have other, unspecified toppings
A class that uses a functional property (hasMaterialState) twice. This is not inconsistent unless MaterialStates have been declared disjoint
All IceCreams must have at least 1 topping.
Any individual that has a topping must be a Pizza.
Therefore all IceCreams must be Pizzas.
Icecream is inferred to be a subclass of Pizza.
The MaterialStates should be disjoint, but this has been left out - see LiquidSolidIceCream
Pizzas that have been closed to limit what toppings they can have
We have not asserted that all pizzas must have at least 1 topping