  It is well-known in the field of programming languages that dealing with
variable names and binders may lead to conflicts such as undesired captures
when implementing interpreters or compilers. This situation has been overcome
by resorting to de Bruijn indices for calculi where binders capture only one
variable name, like the $\lambda$-calculus. The advantage of this approach
relies on the fact that so-called $\alpha$-equivalence becomes syntactical
equality when working with indices.
  In recent years pattern calculi have gained considerable attention given
their expressiveness. They turn out to be notoriously convenient to study the
foundations of modern functional programming languages modeling features like
pattern matching, path polymorphism, pattern polymorphism, etc. However, the
literature falls short when it comes to dealing with $\alpha$-conversion and
binders capturing simultaneously several variable names. Such is the case of
the Pure Pattern Calculus (PPC): a natural extension of $\lambda$-calculus that
allows to abstract virtually any term.
  This paper extends de Bruijn's ideas to properly overcome the multi-binding
problem by introducing a novel presentation of PPC with bidimensional indices,
in an effort to implement a prototype for a typed functional programming
language based on PPC that captures path polymorphism.
