Finite functions (in particular, Boolean functions) play a fundamental role in computer science and discrete mathematics. This book describes representations of Boolean functions that have small size for many important functions and which allow efficient work with the represented functions. The representation size of important and selected functions is estimated, upper and lower bound techniques are studied, efficient algorithms for operations on these representations are presented, and the limits of those techniques are considered. This book is the first comprehensive description of theory and applications. Research areas like complexity theory, efficient algorithms, data structures, and discrete mathematics will benefit from the theory described in this book. The results described within have applications in verification, computer-aided design, model checking, and discrete mathematics. This is the only book to investigate the representation size of Boolean functions and efficient algorithms on these representations.