The term "e;fuzzy logic,"e; as it is understood in this book, stands for all aspects of representing and manipulating knowledge based on the rejection of the most fundamental principle of classical logic---the principle of bivalence. According to this principle, each declarative sentence is required to be either true or false. In fuzzy logic, these classical truth values are not abandoned. However, additional, intermediate truth values between true and false are allowed, which are interpreted as degrees of truth. This opens a new way of thinking---thinking in terms of degrees rather than absolutes. For example, it leads to the definition of a new kind of sets, referred to as fuzzy sets, in which membership is a matter of degree. The book examines the genesis and development of fuzzy logic. It surveys the prehistory of fuzzy logic and inspects circumstances that eventually lead to the emergence of fuzzy logic. The book explores in detail the development of propositional, predicate, and other calculi that admit degrees of truth, which are known as fuzzy logic in the narrow sense. Fuzzy logic in the broad sense, whose primary aim is to utilize degrees of truth for emulating common-sense human reasoning in natural language, is scrutinized as well. The book also examines principles for developing mathematics based on fuzzy logic and provides overviews of areas in which this has been done most effectively. It also presents a detailed survey of established and prospective applications of fuzzy logic in various areas of human affairs, and provides an assessment of the significance of fuzzy logic as a new paradigm.