  The decode-forward achievable region is studied for general networks. The
region is subject to a fundamental tension in which nodes individually benefit
at the expense of others. The complexity of the region depends on all the ways
of resolving this tension. Two sets of constraints define an outer-bound on the
decode-forward region: first, the conventional mutual-information inequalities
implied by the one-relay channel, and second, causality constraints that ensure
nodes only forward messages they have already decoded. The framework of flow
decomposition is introduced to show these constraints are also sufficient. Flow
decomposition provides a way of manipulating regular decode-forward schemes
without the long encoding delays and restrictions on bidirectional
communication of backward decoding. The two structures that define a flow
decomposition are flows and layerings. Flows specify the nodes which encode
messages from each source (i.e., the routes) and the encoding delays. Layerings
specify the messages decoded at a specific node in the channel. We focus on two
types of flow: hierarchical flow, with tree-like routes, and all-cast flow,
where each route covers all nodes. For arbitrary flows of either type and any
rate-vector satisfying the mutual-information constraints at a specific node,
we prove there are equivalent flows and a layering that satisfy both the
mutual-information and causality constraints. In separate work, we show that
only the mutual-information constraints are active in channels with
hierarchical flow, which implies the achievable region has minimal complexity.
In channels with all-cast flow, the achievable region is computable.
