Possibilities and Paradox: An Introduction to Modal and Many-Valued Logic