An introduction to non-classical logic