  This document is an introduction to two related formalisms to define Boolean
functions: binary decision diagrams, and Boolean circuits. It presents these
formalisms and several of their variants studied in the setting of knowledge
compilation. Last, it explains how these formalisms can be connected to the
notions of automata over words and trees.
