An Introduction to Non-Classical Logic