This document discusses Boolean functions and logic circuits. It begins by defining Boolean functions as mappings from a Boolean space B^n to Boolean values {0,1}. It then covers various representations of Boolean functions including truth tables, sum of products, Karnaugh maps, and Boolean formulas. The document also discusses Boolean operations like AND, OR, and complement. It defines Boolean circuits and covers topics like gates, fanin, fanout, and cyclic circuits. Finally, it discusses different representations used for Boolean reasoning like binary decision diagrams and how Boolean reasoning engines are implemented and interfaced.