Many-valued Logic