  We show that $w\in W$ is boolean if and only if it avoids a set of
Billey-Postnikov patterns, which we describe explicitly. Our proof is based on
an analysis of inversion sets, and it is in large part type-uniform. We also
introduce the notion of linear pattern avoidance, and show that boolean
elements are characterized by avoiding just the $3$ linear patterns $s_1 s_2
s_1 \in W(A_2)$, $s_2 s_1 s_3 s_2 \in W(A_3)$, and $s_2 s_1 s_3 s_4 s_2 \in
W(D_4)$. We also consider the more general case of $k$-boolean Weyl group
elements. We say that $w\in W$ is $k$-boolean if every reduced expression for
$w$ contains at most $k$ copies of each generator. We show that the $2$-boolean
elements of the symmetric group $S_n$ are characterized by avoiding the
patterns $3421,4312,4321,$ and $456123$, and give a rational generating
function for the number of $2$-boolean elements of $S_n$.
