Introduction to many-sorted logic