  The main result of the present paper is a Rademacher-type theorem for
intrinsic Lipschitz graphs of codimension $k\leq n$ in sub-Riemannian
Heisenberg groups $\mathbb H^n$. For the purpose of proving such a result we
settle several related questions pertaining both to the theory of intrinsic
Lipschitz graphs and to the one of currents. First, we prove an extension
result for intrinsic Lipschitz graphs as well as a uniform approximation
theorem by means of smooth graphs: these results stem both from a new
definition (equivalent to the one introduced by F. Franchi, R. Serapioni and F.
Serra Cassano) of intrinsic Lipschitz graphs and are valid for a more general
class of intrinsic Lipschitz graphs in Carnot groups. Second, our proof of
Rademacher's Theorem heavily uses the language of currents in Heisenberg
groups: one key result is, for us, a version of the celebrated Constancy
Theorem. Inasmuch as Heisenberg currents are defined in terms of Rumin's
complex of differential forms, we also provide a convenient basis of Rumin's
spaces. Eventually, we provide some applications of Rademacher's Theorem
including a Lusin-type result for intrinsic Lipschitz graphs, the equivalence
between $\mathbb H$-rectifiability and ``Lipschitz'' $\mathbb
H$-rectifiability, and an area formula for intrinsic Lipschitz graphs in
Heisenberg groups.
