  We develop the theory of entanglement-assisted quantum error correcting
(EAQEC) codes, a generalization of the stabilizer formalism to the setting in
which the sender and receiver have access to pre-shared entanglement.
Conventional stabilizer codes are equivalent to dual-containing symplectic
codes. In contrast, EAQEC codes do not require the dual-containing condition,
which greatly simplifies their construction. We show how any quaternary
classical code can be made into a EAQEC code. In particular, efficient modern
codes, like LDPC codes, which attain the Shannon capacity, can be made into
EAQEC codes attaining the hashing bound. In a quantum computation setting,
EAQEC codes give rise to catalytic quantum codes which maintain a region of
inherited noiseless qubits.
  We also give an alternative construction of EAQEC codes by making classical
entanglement assisted codes coherent.
