  In recent years, surface codes have become a leading method for quantum error
correction in theoretical large scale computational and communications
architecture designs. Their comparatively high fault-tolerant thresholds and
their natural 2-dimensional nearest neighbour (2DNN) structure make them an
obvious choice for large scale designs in experimentally realistic systems.
While fundamentally based on the toric code of Kitaev, there are many variants,
two of which are the planar- and defect- based codes. Planar codes require
fewer qubits to implement (for the same strength of error correction), but are
restricted to encoding a single qubit of information. Interactions between
encoded qubits are achieved via transversal operations, thus destroying the
inherent 2DNN nature of the code. In this paper we introduce a new technique
enabling the coupling of two planar codes without transversal operations,
maintaining the 2DNN of the encoded computer. Our lattice surgery technique
comprises splitting and merging planar code surfaces, and enables us to perform
universal quantum computation (including magic state injection) while removing
the need for braided logic in a strictly 2DNN design, and hence reduces the
overall qubit resources for logic operations. Those resources are further
reduced by the use of a rotated lattice for the planar encoding. We show how
lattice surgery allows us to distribute encoded GHZ states in a more direct
(and overhead friendly) manner, and how a demonstration of an encoded CNOT
between two distance 3 logical states is possible with 53 physical qubits, half
of that required in any other known construction in 2D.
