# Lifts of quantum CSS codes

Virgile Guemard

► To cite this version:

Virgile Guemard. Lifts of quantum CSS codes. 2024. hal-05004984

HAL Id: hal-05004984

https://hal.science/hal-05004984v1

Preprint submitted on 25 Mar 2025

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Lifts of quantum CSS codes

Virgile Guemard¹,²

¹Aix Marseille Université, I2M, UMR 7373, 13453 Marseille, France

²Inria Paris, France

April 26, 2024

## Abstract

We propose a notion of lift for quantum CSS codes, inspired by the geometrical construction of Freedman and Hastings [FH21]. It is based on the existence of a canonical complex associated to any CSS code, that we introduce under the name of Tanner cone-complex, and over which we generate covering spaces. As a first application, we describe the classification of lifts of hypergraph product codes (HPC) and demonstrate the equivalence with the lifted product code (LPC) of Panteleev and Kalachev [PK22a], including when the linear codes, factors of the HPC, are Tanner codes. As a second application, we report several new non-product constructions of quantum CSS codes, and we apply the prescription to generate their lifts which, for certain selected covering maps, are codes with improved relative parameters compared to the initial one.

## Contents

<table><tbody><tr><td><strong>1 Introduction</strong></td><td><strong>2</strong></td></tr><tr><td>1.1 Context</td><td>2</td></tr><tr><td>1.2 Contributions</td><td>3</td></tr><tr><td>1.3 Outline</td><td>4</td></tr><tr><td><strong>2 Preliminaries</strong></td><td><strong>4</strong></td></tr><tr><td>2.1 Chain complexes</td><td>4</td></tr><tr><td>2.2 Linear codes</td><td>5</td></tr><tr><td>2.3 Quantum CSS codes</td><td>6</td></tr><tr><td>2.4 Covering maps and fundamental group</td><td>7</td></tr><tr><td>2.5 Linear codes, graphs and lift</td><td>9</td></tr><tr><td><strong>3 Lift of a quantum CSS code</strong></td><td><strong>11</strong></td></tr><tr><td>3.1 Tanner graph of a quantum CSS code</td><td>11</td></tr><tr><td>3.2 The Tanner cone-complex</td><td>11</td></tr><tr><td>3.3 Lift of a CSS code: definition</td><td>13</td></tr><tr><td>3.4 Lift of a CSS code: explicit construction</td><td>15</td></tr><tr><td>3.5 Relation to the fiber bundle code</td><td>17</td></tr><tr><td>3.6 Relation to balanced product codes</td><td>18</td></tr><tr><td><strong>4 Application to product codes</strong></td><td><strong>19</strong></td></tr><tr><td>4.1 Classification of lifts of HPC</td><td>19</td></tr><tr><td>4.2 Balanced product of quantum CSS codes</td><td>22</td></tr><tr><td><strong>5 New constructions and lifts</strong></td><td><strong>22</strong></td></tr><tr><td>5.1 General method</td><td>22</td></tr><tr><td>5.2 Example 1: one-relator group</td><td>24</td></tr><tr><td>5.2.1 E-type code</td><td>24</td></tr><tr><td>5.2.2 V-type code</td><td>26</td></tr><tr><td>5.3 Example 2: group presentation with more relations</td><td>27</td></tr><tr><td>5.3.1 E-type code</td><td>27</td></tr><tr><td>5.3.2 V-type code: symmetric version</td><td>28</td></tr><tr><td>5.3.3 V-type code: asymmetric version</td><td>29</td></tr></tbody></table>
<table><tr><td>6 Discussion and perspectives</td><td>31</td></tr><tr><td>A Further restrictions on covering maps</td><td>34</td></tr><tr><td>B Proofs for Section 4.1</td><td>34</td></tr></table>

# 1 Introduction

## 1.1 Context

Recent years have witnessed growing effort in constructing low-density parity-check (LDPC) quantum error correcting codes, as well as decoding and implementing them fault tolerantly. This has led, in particular, to the findings of LDPC codes with asymptotically good performances, which are families of quantum CSS codes with constant rate and relative distance. Apart from being good candidates for implementation in full scale fault-tolerant quantum computer architectures, they also constitute inspiration to devise new codes of moderate length.

The historical development leading to these codes reveals various methods. First, with the work of Hastings, Haah and O'Donnell [HHO21], the CSS codes relied on an algebraic construction inspired by the definition of fiber bundles in geometry. It was then understood that the tensor product of modules over Abelian group rings, introduced by Panteleev and Kalachev [PK22b, PK21] under the name of lifted product, could reach a wide parameter space, which includes short length codes of high rate and distances. Then, the related tensor product of modules over non-commutative rings, or balanced product, was proposed by Breuckmann and Eberhardt [BE21a] as a solution to reach potentially better code parameters. Independently, Panteleev and Kalachev [PK22a], built a family of codes with asymptotically good parameters using the balanced product of two linear codes. Using the operation of lift of linear codes, these two codes are built as modules over a non-commutative group ring. A different strategy was soon after undertaken by Leverrier and Zémor [LZ22, LZ23], generalizing the classical Tanner construction [Tan81], and simplifying the previous approach of [PK22a].

In these constructions, the methodology relies on using closely related underlying components, which are geometrical complexes, called left-right square complexes [DEL+21], built from the product of two graphs or an algebraic analogue designated as balanced product complex, combined with local linear codes. For instance, in [PK22a], these two graphs are generated as the lift of linear codes, endowing them with a chosen group action. This set of constituents, still under studies, appears as a cornerstone of quantum coding theory, with several follow-up constructions and analysis [LH22, DHLV23, PK24].

In classical coding theory, the lift of a code [Tho03, PSVC11] is a practical and natural method for generating families of LDPC codes with dimension and distance increasing linearly in the length of the code, from a single input code represented by its Tanner graph, often called a protograph in this setting. Geometrically, lifting a linear code is equivalent to taking a covering of its Tanner graph representation. A consequence of this method is that the Tanner graphs of the input and output codes are locally homeomorphic. Asymptotically good families of linear codes built from geometrical lifts exist. For example, the expander codes of Sipser and Spielman [SS96] can be constructed from Cayley graphs, which are geometrical coverings of a simple base graph. This produces, in the best case, a family of expander graphs or even Ramanujan expander graphs [LPS88], which are regular graphs with respectively strong and optimal connectivity. For all these reasons, the lift is a central tool for building new codes from old ones in classical coding theory.

Up until now, quantum CSS codes did not enjoy a general operation taking as input any CSS code and outputting another code of increased length, such that the Tanner graphs of the input and output CSS codes are locally homeomorphic. The orthogonality constraint of the two linear codes, required to describe a quantum CSS code, makes a lift of a CSS code much harder to define than for a linear code. Trying to apply the classical recipe on the Tanner graph representation does not always yield a valid quantum CSS code: the orthogonality constraint of the two linear codes can be lost. Only in some particular cases of CSS constructions, a notion of lift is already defined. Firstly, for product codes, such as hypergraph product codes (HPC) of Tillich and Zémor [TZ09] and their generalization, lifted products codes (LPC) [PK22a], a lift is an operation that consists in applying the classical lift on each of the linear factor codes. Secondly, for a code defined by the cellulation of a surface, a lift is naturally obtained via a covering of that surface. It is interesting to ask if these two examples can be found under a unified framework.
## 1.2 Contributions

This article introduces the concept of lift of a quantum CSS code. The key ingredient to define the lift of a quantum CSS code is a geometrical object faithfully representing the code, similarly to the fact that a lift of a linear code can be obtained from a covering of its Tanner graph. Any CSS code admits a geometrical representation provided by a complex that we introduce under the name of *Tanner cone-complex*, in Definition 3.4. The lift is then obtained from a covering of that complex.

A non-trivial lift of a CSS code only exists if its Tanner cone-complex admits a non-trivial fundamental group. When this is satisfied, the lift of a code enjoys the following properties:

1. For an input CSS code of length $n$, the lift is a code of size given by an integer multiple of $n$,

2. The maximum weight of rows and columns of the lifted check matrices is unchanged compared to that of the input code,

3. Applied to a classical code, it coincides with the lift of linear codes,

4. Applied to an HPC, it coincides with the LPC construction described in [PK22a].

Our definition of lift of CSS codes, based on covering maps of the Tanner cone-complex, is therefore a valid generalization of known constructions. Furthermore, we show how the lift can be related, in some cases, to a certain type of fiber bundle code [HHO21] and we draw another parallel with the balanced product code [BE21a].

Originally, the idea of lift of a quantum CSS code came from the study of an article by Freedman and Hastings [FH21], which provides a manifold representation to any CSS code. A natural way to lift a code is then given by generating coverings of this manifold. In a separate note [Gue24], we show how this is related to a covering of the Tanner cone-complex.

The parameters, dimension and distance, of a lifted CSS code are, in general, hard to determine. One can only hope to do a case by case analysis. As a first step towards understanding the evolution of code parameters, we apply the construction to an arbitrary HPC. We show, in that case, that the lift is more general than simply lifting the two linear codes, factors of the HPC, independently, and we provide a complete classification of lifts of HPCs based on the notion of Goursat quintuples [Joh90], which gives a correspondence between subgroups of group product and quintuples composed of subgroups of the factor group. By analyzing this construction, we find out that the underlying structure is similar to a left-right square complex at the center of the state-of-the-art CSS codes of [PK22a] and good locally testable codes of Dinur et al. [DEL+21]. This is formulated in Proposition 4.7. In particular, Corollary 4.8 shows that the asymptotic parameters of a family of codes generated by the lift of a single input code can, in principle, be linear.

Secondly, the lift of a quantum code can be expressed as a left or a right module over a certain group ring, when the associated covering of its Tanner cone-complex is regular. As a result, it is possible to apply the tensor product of modules on two such codes. This constitutes a systematic way of generating balanced product of quantum CSS codes, as first pointed out in [BE21a]. This is formulated in Definition 4.9. The hope of such a construction is to improve on the tensor product operation of quantum codes studied in [ZP19, AC19]. In this article, we are not able to claim this result. We therefore leave this analysis for future work.

Finally, in Section 5, we introduce three new families of codes which are specifically designed to be lifted. For clarity, we refer to a code built from 2D cellular chain complex as of E-type, since the qubits are assigned to edges. The new type of code that we introduce here are referred to as of V-type, because the qubits, as well as X and Z-checks are assigned to the vertices. For each one of these codes, the associated Tanner cone-complex has a fundamental group isomorphic to a predetermined infinite group.

The first family, although greatly inspired by topology, cannot be given as the cellular chain complex of any 2D cell complex. The second family is a generalization of the first, having nevertheless a less straightforward connection to topology. The third family is built from similar ideas, but the assignment of qubits and checks to vertices is done according to a different configuration. For each of them, the row and column weight of the parity check matrices can be made strictly greater than 2, so that cells cannot be seen as edges of the 1-skeleton, i.e. a graph, of a 2D complex. The lift of these abstract CSS codes, is hence a relevant and practical way to build a diversity of codes with increased length and parameters, and endowed with a certain group action. For some chosen input codes with low enough weight parity-check matrices, we generate all possible lifts of degree (the degree of the associated covering) 1 to 59 for the first family, and only lifts of specific degrees for the second and third. This produces codes with moderate length (less than 2000 qubits) and we only report the ones with interesting parameters. The criteria that we choose to
compare our codes is the quantity $\frac{kd^2}{n}$, where $n$ is the length of the code, $k$ its dimension and $d$ its distance. An upper bound for the distance is calculated in GAP [GAP24] with the package QDistRnd [PSK22]. We leave a more rigorous analysis of these new families for future work.

## 1.3 Outline

The article is organized as follows. Section 2 reviews generalities on linear and quantum coding theory, where the emphasis is put on their chain complex formulation. In Section 2.5, we set the methodology for lifting a graph and linear codes with voltage assignments.

Section 3 is the core of our paper, where we dive into the new object introduced under the name of Tanner cone-complex, and define the lift of a CSS code. The explicit construction of a lifted code is exposed in Section 3.4. Sections 3.5 and 3.6 give alternative formulations of the lift related to fiber bundle and balanced product codes.

Section 4 presents two applications of the lift. The first one is a classification result for lifts of HPCs, addressed in Section 4.1, which also contains a detailed study showing the link between the lift of CSS codes and the LPC constructions. In Section 4.2 we present how to obtain the balanced product of two quantum CSS codes.

Lastly, Section 5 is where we introduce newly discovered CSS codes and generate lifted codes. This section is divided in three parts. The first presents the general procedure to build the codes and analyze their parameters numerically. The second and third part introduce explicit examples.

# 2 Preliminaries

## 2.1 Chain complexes

In this work, a chain complex $C$ is defined as a sequence $(C_\bullet, \partial_\bullet)$ of $\mathbb{F}_2$-vector spaces and linear maps,

$$C := \dots \to C_{i+1} \xrightarrow{\partial_{n+1}} C_i \xrightarrow{\partial_n} C_{i-1} \xrightarrow{\partial_{n-1}} \dots, \quad (1)$$

such that the composition of any two consecutive maps satisfies $\partial_i \circ \partial_{i+1} = 0$ for all $n$. Objects in $C_i$ are called *i-chains* and the linear maps $\partial_i$ are called the *boundary maps*. The index $i$ of a *i-chain* is referred to as the degree.

The spaces $C_i$ may have extra structure. For example, they may be modules over a common ring $R$. In that case, the boundary maps must preserve this extra structure: they must be module homomorphisms. We will, for example, encounter situations in which $R$ is a group algebra $\mathbb{F}_2[G]$.

Unless otherwise stated, each space $C_i$ has finite dimension $n_i$. It is always given with a preferred basis $\mathcal{B}_i$ and can be identified with $\mathbb{F}_2^{n_i}$. We can also represent each boundary map $\partial_i$ by a matrix $\mathrm{Mat}_{\mathcal{B}_i}(\partial_i)$, and for simplicity we identify it with this representation. Moreover, each space is endowed with a symmetric bilinear form, $\langle \cdot, \cdot \rangle : C_i \times C_i \to \mathbb{F}_2$ given on two *i-chains* by $\langle c, c' \rangle = c_1 c'_1 + c_2 c'_2 + \dots + c_{n_i} c'_{n_i}$, where addition and multiplication are in $\mathbb{F}_2$.

For each degree $i$, we define two subspaces of $C_i$:

* $Z_i = \mathrm{Ker} \partial_i$, whose elements are called the *cycles*,

* $B_i = \mathrm{Im} \partial_{i+1}$, whose elements are called the *boundaries*.

From the composition property of consecutive boundary maps, the following embedding relation $B_i \subseteq Z_i \subseteq C_i$ holds for all $i$. The *i-th homology group* is defined as the vector space,

$$H_i(C) = Z_i/B_i = \mathrm{Ker} \partial_i / \mathrm{Im} \partial_{i+1}. \quad (2)$$

The *cochain complex* is the dual of a chain complex and defined as a sequence $(C^\bullet, \delta_\bullet)$ of dual vector spaces, whose objects are called *cochains*, and linear maps called *coboundary maps*. It is obtained from a chain complex $C$ by replacing each vector space $C_i$ by its dual $C^i := \mathrm{Hom}(C_i, \mathbb{F}_2)$, and $\partial_i$ by its dual map $\delta_i : C^{i-1} \to C^i$,

$$C^\bullet = \dots \leftarrow C^{i+1} \xleftarrow{\delta_{i+1}} C^i \xleftarrow{\delta_i} C^{i-1} \xleftarrow{\delta_{i-1}} \dots. \quad (3)$$

The composition of any two consecutive coboundary maps is the zero map: $\delta_i \circ \delta_{i-1} = 0$. Finite dimensional vector spaces and their dual spaces are isomorphic, and here an isomorphism can be constructed from the bilinear form $\langle \cdot, \cdot \rangle$ on $C_i$: this is the linear map given on a *i-chain* by $c \mapsto \langle c, \cdot \rangle \in \mathrm{Hom}(C_i, \mathbb{F}_2)$. For each dual space $C^i$, we fix a basis given by $\{\langle c, \cdot \rangle | c \in \mathcal{B}_i\}$ so that we have the identification $C_i = C^i$, and endow it
with the same symmetric bilinear form as $C_i$. This way, the matrix representations of the boundary and coboundary maps of same degree are transposed of each other, i.e. $\delta_i = \partial_i^T$.

For each degree $i$, we define two subspaces of $C^i$:

* $Z^i = \text{Ker } \delta_{i+1}$ whose elements are called the cocycles,

* $B^i = \text{Im } \delta_i$ whose elements are called the coboundaries.

From the composition property of consecutive coboundary maps, the embedding relation $B^i \subseteq Z^i \subseteq C^i$ holds for all $i$ and from commutativity we can define the $i$-th cohomology group $H_i(C)$ by

$$H^i(C) = Z^i/B^i = \text{Ker } \delta_i / \text{Im } \delta_{i-1}. \qquad (4)$$

When the complex is a sequence of finite dimensional vector spaces, which is the case unless otherwise stated, the $i$-th homology and cohomology groups have the same dimension and are therefore isomorphic as vector spaces, i.e. $H_i(C) \cong H^i(C)^1$.

Lastly, there exists a product operation for pairs of chain complexes. Let $C$ and $C'$ be two chain complexes. The homological product $C \otimes C'$ is the chain complex $(A_\bullet, \partial_\bullet^A)$ such that

$$A_i = \bigoplus_j C_j \otimes C_{i-j}' \qquad (5)$$

It has a boundary operator $\partial_i^A$ acting on $A_i$, such that its restriction on a summand $C_j \otimes C_{i-j}'$ is given by

$$\partial_i^A|_{j,i-j} = \partial_j \otimes \text{id}_{C'} + (-1)^{i-j} \text{id}_C \otimes \partial_{i-j}'. \qquad (6)$$

In our case, vector spaces are defined over $\mathbb{F}_2$ and the alternating sign in the second term can be omitted.

The tensor product combines a $j$-cycle of $C$ and an $(i-j)$-cycle of $C'$ to create an $i$-cycle in $C \otimes C'$. The Künneth theorem for field coefficients relates the homology of the product complex to the homology of $C$ and $C'$:

$$H_i(C \otimes C') \cong \bigoplus_j H_j(C) \otimes H_{i-j}(C'). \qquad (7)$$

Finally, product complexes can also be defined for pairs of chain complexes which are sequences of modules over a group algebra $R$, using the tensor product of modules over that algebra. In that case, the complex is sometimes called the balanced product, and is written $C \otimes_R C'$ [Bro82]. Its boundary maps are defined similarly to Equation (6).

## 2.2 Linear codes

In this section, we recall some definitions and set up notations related to linear codes, as they play a key role in the construction of quantum CSS codes.

A linear $[n, k]$ code $C$ is a $k$-dimensional subspace of a $\mathbb{F}_2$-space $E$. In this work, $E$ is always given with a basis $\mathcal{B}$, and is identified with $\mathbb{F}_2^n$. Its parameters $n$ and $k$ are respectively called its length and dimension. The Hamming distance between two vectors in $E$ is equal to the number of coordinates on which they differ and the Hamming weight, or norm, of a vector $c \in E$, noted $|c|$, is equal to its number of non-zero coordinates. The minimal weight of a non-zero code word of $C$ is called the distance of the code, $d(C) = \min_{c \in C \setminus \{0\}} |c|$. The parameters of $C$ are written $[n, k, d]$.

The space $E$ is endowed with a symmetric bilinear form $\langle \cdot, \cdot \rangle : E \times E \to \mathbb{F}_2$, given by $\langle c, c' \rangle = c_1c'_1 + c_2c'_2 + \dots + c_n c'_n$, with operations in $\mathbb{F}_2$. Then a linear code can be defined by the image of a linear map, represented by a generator matrix $G$, or the kernel of a linear map, represented by a parity-check matrix $H$, i.e. $C = \{Gy | y \in \mathbb{F}_2^k\} = \{c \in \mathbb{F}_2^n | Hc = 0\}$. The generator and parity-check matrices satisfy $HG^T = 0$. For any linear code $C$, the generator matrix of $C$ is the parity-check matrix of its orthogonal complement, called the dual $C^\perp = \{e \in E | \forall c \in C, \langle e, c \rangle = 0\}$. The parameters of the dual code are written $[n^\perp, k^\perp, d^\perp]$. We adopt the convention $d=0$ whenever $k=0$.

Linear codes can be described in the language of chain complex. We adopt here standard notations used in homological algebra, and refer to [AC19, BE21b] for a review. We can describe a linear code $C$ by a chain complex,

$$C := C_1 \xrightarrow{\partial_1} C_0.$$

<footnote n="1">¹This is not true in the general case.</footnote>
The correspondence with the former formulation is given by the following identification: $C_0 = \mathbb{F}_2^m$ is called the check space, $C_1 = \mathbb{F}_2^n$ represents $E$, $\mathrm{Mat}_B(\partial_1) = H$ and the code space is given by the space of cycles or the homology group, $\mathrm{ker}(\partial_1) = Z_1(C) = H_1(C)$. The space $C_1$ is also endowed with a symmetric bilinear form $\langle, \rangle: C_1 \times C_1 \to \mathbb{F}_2$. In this work, we shall use the same symbol, $C$, to either talk about the linear code or its chain complex description, since both can be specified completely by a parity-check matrix. The dual chain complex,

$$C^* = C^1 \stackrel{\partial_1^T}{\leftarrow} C^0,$$

represents the code with checks and bits interchanged. We can also make the identification $C_i = C^i$, $i = 1, 2$ due to the isomorphism $x \mapsto \langle x, \rangle \in \mathrm{Hom}(C_i, \mathbb{F}_2)$ and the choice of basis on $C^i$ induced by this map. The code $C^*$ is called the transposed code, following [TZ09]. We can also write another chain complex using the generating map of a code, namely $D = D_2 \xrightarrow{\partial_2} D_1$, where $\mathrm{Mat}_B(\partial_2) = G$ and $D_1 = \mathbb{F}_2^n$. In that case, the code space corresponds to the space of boundaries $B_1 = \mathrm{Im}(\partial_2)$, and $H_1(D) = \mathrm{coker}(\partial_2)$.

## 2.3 Quantum CSS codes

CSS codes are instances of stabilizer quantum error correcting codes. They first appeared in the seminal work of Calderbank, Shor and Steane [CS96, Ste96a, Ste96b]. These quantum codes are defined by two linear codes $C_X$ and $C_Z$ respecting the orthogonality condition $C_X^\perp \subseteq C_Z$. It was later understood that this condition can be formulated in the language of chain complexes [Kit03, FM01].

**Definition 2.1 (CSS code).** Let $C_X$ and $C_Z$ be two linear codes with parity-check matrices $H_X$ and $H_Z$, such that $C_X^\perp \subseteq C_Z \subset \mathbb{F}_2^n$ (or equivalently $C_Z^\perp \subseteq C_X$). The CSS code $\mathrm{CSS}(C_X, C_Z)$ is the subspace of $(\mathbb{C}_2)^{\otimes n}$ given by

$$\mathrm{Span} \left\{ \sum_{u \in C_Z^\perp} |c+u\rangle \mid c \in C_X \right\}.$$

Its parameters, noted $[[n, k, d]]$, are:

* the code length $n$,

* the dimension $k = \mathrm{dim}(C_X/C_Z^\perp) = n - \mathrm{rank} H_X - \mathrm{rank} H_Z$,

* the distance $d = \mathrm{min}(d_X, d_Z)$, with

$$d_X = \min_{c \in C_Z \setminus C_X^\perp} |c|,$$

$$d_Z = \min_{c \in C_X \setminus C_Z^\perp} |c|.$$

A family of CSS codes is said to be good when its parameters are asymptotically $[[n, \Theta(n), \Theta(n)]]$. The maximum row weight and column weight in the parity check matrix $H_X$, respectively $H_Z$, are noted $w_X, q_X$, respectively $w_Z, q_Z$. A family is called *Low Density Parity Check (LDPC)* if $w_X, q_X, w_Z$ and $q_Z$ are upper bounded by a constant.

When we know both the $X$ and $Z$ distances, we note the parameters $[[n, k, (d_X, d_Z)]]$. Our convention is to set $d = 0$ whenever $k = 0^2$. A potential objective, when designing quantum CSS codes, is to obtain the largest possible dimension and distance for a given number of physical qubits $n$. Indeed, the dimension corresponds to the number of logical qubits while the distance is related to the number $t$ of correctable errors by $t = \lfloor(d-1)/2\rfloor$.

Physically, the rows of $H_X$ induce $X$-type operators called parity-checks, or $X$-checks, and the rows of $H_Z$ induce $Z$-checks. The orthogonality property of $C_X$ and $C_Z$, equivalent to $H_X H_Z^T = 0$, is the necessary property for the syndrome of the two codes to be obtained independently, i.e. by commuting operators.

We denote a preferred basis for the $Z$-checks, the qubits and the $X$-checks as $Z$, $Q$ and $X$, where the support of an element in $Z$ or $X$ corresponds respectively to a row of $H_Z$ or $H_X$. The orthogonality condition, $H_X H_Z^T = 0$, is analogous to the composition property of two boundary maps in a chain complex. Because the data of two parity-check matrices is sufficient to construct a CSS code, such a code is therefore naturally defined as a chain complex or its dual complex,

$$\begin{align} \mathbb{F}_2^{m_Z} \xrightarrow{\delta_2=H_Z^T} \mathbb{F}_2^n &\xrightarrow{\delta_1=H_X} \mathbb{F}_2^{m_X}, \tag{8} \\ \mathbb{F}_2^{m_Z} \xleftarrow{\delta_2=H_Z} \mathbb{F}_2^n &\xleftarrow{\delta_1=H_X^T} \mathbb{F}_2^{m_X}, \nonumber \end{align}$$

<footnote n="2">²This is to avoid ambiguity when we later compute the quantity $kd^2/n$.</footnote>
where $n = |Q|$, while $m_X$ and $m_Z$ are the number of $X$ and $Z$-checks. It will also be appropriate to define the chain complex of the code in terms of abstract cells taken directly from the sets of checks and qubits,

$$C = \mathbb{F}_2 Z \xrightarrow{\partial_2} \mathbb{F}_2 Q \xrightarrow{\partial_1} \mathbb{F}_2 X,$$

where $\mathbb{F}_2 S := \bigoplus_{s \in S} \mathbb{F}_2 s$ denotes formal linear combination, called chains, of abstract basis cells in the sets $S = X, Q$ or $Z$ and the boundary map is defined by $\partial_i s = \sum_{t \in \text{supp}(s)} t$. In this context, a check and a qubit are identified with the abstract cells representing them. Consequently, for a check $s$, $\text{supp}(s)$ refers to the support of the row vector representing the check in the corresponding parity-check matrix, which can be identified with $\text{supp}(\partial_i s)$, the support of the chain $\partial_i s$.

Reciprocally, we can extract quantum CSS codes from based chain complexes with coefficient in $\mathbb{F}_2$. Such a chain complex $C$ is said to be a 3-term complex as it contains three vector spaces (or modules) related by two boundary maps, hence of the form $C = C_{i+1} \xrightarrow{\partial_{i+1}} C_i \xrightarrow{\partial_i} C_{i-1}$. Note that any chain complex $C$ of length greater than three can be truncated into a 3-term one. The parameters of a CSS code are related to the homology group elements of the corresponding chain complex by the following.

**Proposition 2.2.** Any 3-term complex $C := C_{i+1} \xrightarrow{\partial_{i+1}} C_i \xrightarrow{\partial_i} C_{i-1}$, given with a basis, defines a $[[n, k, d]]$ CSS code $C$, with $n = \text{dim}(C_i)$,

$$k = \text{dim}(H_i(C)) = \text{dim}(H^i(C)), \\ d = \min \{|c| : [c] \in H_i(C) \sqcup H^i(C), [c] \neq 0\}.$$

For an element of $c \in C_i$, $[c]$ is the standard notation for the homology or cohomology class of $c$. The correspondence of Proposition 2.2 is direct. Assuming that all vector spaces $C_i$ are given with a basis, the boundary maps can be interpreted as matrices. They play the role of the parity-check matrices $H_X$ and $H_Z$ or their transpose, and the linear codes are the subspaces $C_X = \ker(\partial_i)$ and $C_Z = \text{Im}(\partial_{i+1})$.

We end this section with an example of a CSS code, called hypergraph product codes (HPC) of Tillich and Zémor [TZ09], which will be studied thoroughly later in Section 4. These quantum CSS codes are constructed from two classical codes, combined with the tensor product operation on chain complexes described in Section 2.1.

**Definition 2.3 (Hypergraph product code).** Let $C$ and $D$ be two classical codes. The hypergraph product code of $C$ and $D$ is the CSS code $C \otimes D^* := (C_1 \xrightarrow{\partial_1^C} C_0) \otimes (D^1 \xleftarrow{\delta_1^D} D^0)$.

Explicitly, this CSS code is represented by the chain complex $C_1 \otimes D^0 \xrightarrow{\partial_2} (C_1 \otimes D^1 \oplus C_0 \otimes D^0) \xrightarrow{\partial_1} C_0 \otimes D^1$, with boundary maps $\partial_{i-j+1}|_{i,j} = \partial_i^C \otimes \text{id}_{D^*} + \text{id}_C \otimes \delta_{j+1}^D$ for $i-j+1 = 1, 2$.

## 2.4 Covering maps and fundamental group

Both notions of lift of linear and quantum codes rely on the concept of covering maps from topology. We now review basic facts about coverings that we will need throughout this article, starting with Section 2.5. Every result mentioned here can be found in [Hat02, LS01] and applies to topological spaces in general. However, for our usage, we only need to consider two-dimensional regular cell complexes, which are topological spaces obtained by successively gluing cells with gluing maps being homeomorphisms<fnref n="3" />. For that reason, we skip certain topological definitions and refer to the texts above for more background.

We first recall the definition of a covering map. Given a topological space $K$, a covering of $K$ consists of a space $K'$, together with a map $p: K' \to K$, such that for each point $x \in K$ there exists an open neighborhood $U$ of $x$, and a discrete space $S_x$, such that the inverse image of $U$ by $p$ is a disjoint union of open sets, $p^{-1}(U) = \bigsqcup_{i \in S_x} U_i$, where each set $U_i$ is called a sheet and is mapped homeomorphically onto $U$ by $p$. Then, $K'$ is said to be a covering space of the base space $K$. The inverse image of a point $x$ by $p$ is the discrete space $S_x$ called the fiber at $x$, and it is homeomorphic to the fiber at any other point. Its cardinality $|S_x|$ is hence the same for every point $x$ and called the degree of the covering. A finite covering map is one for which the degree is finite. A connected cover is one for which $K'$ is a path connected space. A trivial covering of $K$ is one for which $K' = \bigsqcup_i K_i$, where the restriction of $p|_{K_i}$ on each $K_i$ is a homeomorphism of $K$.

<footnote n="3">³Examples of gluing maps that are not homeomorphisms: the map $\partial \iota \to p$, mapping both end-points of an interval to the same point, yielding a 1D-sphere; the map $\partial \mathbb{D}^2 \to p$, mapping the boundary of the disk, a circle, to a point, yielding a 2D-sphere.</footnote>
For example, if $p: K' \to K$ is a covering of a graph $K$, then $K'$ is a graph. A vertex $x'$ and its projection $x$ have the same degree. Moreover, an edge $e'$, with end-points $u'$ and $v'$, projects onto an edge $e$ with end-points $u = p(u')$ and $v = p(v')$.

A central property of covering maps that we will use in Section 3.3 appears when we restrict the domain of covering map to certain subspaces.

**Lemma 2.4.** Let $p: K' \to K$ be a covering map and $A$ be a subspace of $K$. Let $A' = p^{-1}(A)$, the inverse image of $A$ by $p$ in $K'$. Then the restriction of $p$ to $A'$, namely, $p|_{A'}: A' \to A$ is a covering map.

A deck transformation is an automorphism $d: K' \to K'$ such that $p \circ d = p$. The set of deck transformations, endowed with the operation of composition of maps, forms a group noted Deck($p$). It is called the group of deck transformations and acts on the left on $K'$. A regular covering is a covering enjoying a left, free and transitive action of Deck($p$) on the fiber. For any regular covering, $p: K' \to K$, it can be shown that Deck($p$) \ $K' \cong K$.

We now restrict to connected covering of well-behaved$^4$ topological spaces. This is the type of spaces that we will consider later on. Moreover, all disconnected covering spaces can be obtained by disjoint union of connected ones, so we do not lose generality when we focus our study on connected spaces and their connected coverings, as we do now. There are a lot more results on coverings that can be stated in this context.

We first recall some definitions. Given a basepoint $v$ on a connected topological space $K$, the fundamental group $\pi_1(K, v)$ is the group of homotopy classes of loops based at $v$, which has for group operation the concatenation of loops. Later, we omit to mention the choice of basepoint and write it $\pi_1(K)$. As an example, for a connected graph $T = (V, E)$, the fundamental group is a free group of rank$^5$ $\#E - \#V + 1$. A space is called simply connected when its fundamental group is trivial. A result that we will need in Section 5 is the Hurewicz Theorem, which relates homotopy and homology groups. For simplicity, we only state this theorem partially.

**Theorem 2.5** (Hurewicz). Let $K$ be a path connected space. There exists an isomorphism

$$h: \pi_1(K)/[\pi_1(K), \pi_1(K)] \to H_1(K, \mathbb{Z}).$$

Here $[\pi_1(K), \pi_1(K)]$ denotes the commutator subgroup of $\pi_1(K)$. Hence, the domain of this map is the abelianization of $\pi_1(K)$.

The properties of covering maps over a space are closely related to that of its fundamental group. The next proposition will be crucial throughout our work.

**Proposition 2.6.** Let $K$ be a well-behaved topological space. For every subgroup $H \le \pi_1(K)$ there exists a covering $p: K_H \to K$, mapping basepoint to basepoint, and inducing an injective homomorphism $p_*: \pi_1(K', v') \to \pi_1(K, v)$, such that $p_*\pi_1(K_H, v') = H$.

Since the map $p_*$ is injective, this proposition also says that the fundamental group of $K_H$ is isomorphic to $H$. Most of the work of Section 3.4 consists in describing an explicit construction of $K_H$ for the cases of 1D and 2D cell complexes. Section 4.1 also heavily makes use of this proposition.

A covering $p: K_H \to K$ is regular exactly when $H$ is a normal subgroup of $\pi_1(K, v)$. In that case, we also call this covering a normal covering. It can be shown that, for such a covering map, we have the following isomorphism, Deck($p$) $\cong \pi_1(K, v)/H$.

The most important result on coverings, when we restrict to well-behaved spaces, is the classification theorem known as the Galois correspondence. This will be of central importance in Section 3.3 and Section 4.1.

**Theorem 2.7** (Galois correspondence). Let $K$ be a well-behaved topological space. There is a bijection between the set of basepoint-preserving isomorphism classes of path-connected covering spaces $p: (K', v') \to (K, v)$ and the set of subgroups of $\pi_1(K, v)$, obtained by associating the subgroup $p_*\pi_1(K', v')$ to the covering space $(K', v')$.

Given a subgroup $H \le \pi_1(K)$ the degree $d$ of the covering is given by the index$^6$ $d = [\pi_1(K) : H]$.

<footnote>$^4$The literature on covering maps always starts by defining the notion of path-connected, locally path-connected, and semilocally simply-connected spaces. These are the requirement for classification results to apply. By well-behaved, we mean a space with these properties. In particular, any graph of finite degree and any finite 2D cell complex meet the requirements.</footnote>

<footnote>$^5$The rank of a group $G$ is the smallest cardinality of a generating set of $G$.</footnote>

<footnote>$^6$Here, for groups $H \le G$, $[G : H]$ is the standard notation for the index of $H$ in $G$.</footnote>
Ignoring basepoints, there is a bijection between isomorphism classes of path-connected covering spaces $p: K' \to K$ and conjugacy classes of subgroups of $\pi_1(K)$. When $K$ is simply connected, a consequence of Theorem 2.7 is that all of its coverings are trivial. Indeed, its connected covering must be the basepoint preserving homeomorphism onto itself, and all other covering spaces and maps can be obtained via disjoint union of connected ones.

As a result of this classification, we also have the following lemma that we will use in Section 4.1.

**Lemma 2.8.** If $X_i$, $i = 1, 2$ are well-behaved connected coverings of $X$ associated to groups $G_i = p_{i*}\pi_1(X_i)$ and if $G_1 \le G_2$ then $X_1$ is a covering of $X_2$ of degree $[G_2 : G_1]$.

To end this section, we mention the existence of a special type of covering of (well-behaved) connected spaces, called the *universal covering*. This is the covering associated to the trivial subgroup of the fundamental group. Therefore, this is a normal covering and the associated covering space is unique up to homeomorphism. We will describe and use it in Section 3.6.

## 2.5 Linear codes, graphs and lift

A classical linear code $C$ can be represented by its *Tanner graph* $\mathcal{T}(C)$, which is a bipartite graph with one set of vertices representing bit variables and the other set representing check variables. There is an edge between a bit vertex and a check vertex when the bit is in the support of the check. In other terms, if the code is given by a parity check matrix $H$, the Tanner graph admits for adjacency matrix

$$A = \begin{bmatrix} 0 & H \\ H^T & 0 \end{bmatrix}.$$

Whenever it is clear from context, that we associate a certain Tanner graph to a code $C$, we write it $\mathcal{T}$ instead of $\mathcal{T}(C)$.

A lift [Tho03] is an operation of great interest to produce families of LDPC codes with dimension and distance linear in the length of the code, or with various other properties [PSVC11]. It corresponds geometrically to a covering of its Tanner graph. Initially, the notion of lift refers to general procedures applicable to any graph. Among them, permutation voltage and group voltage can generate respectively all possible graph coverings and all regular covers. The first appeared in [PK22b] as practical tool for the theory of quantum CSS codes. Here we give an account of group voltage, with a modification to the definition given in [PK22a], and then permutation voltage following [GT77]. We also show the effect of a lift on the Tanner graph of a linear code.

We start by setting the notation relative to graphs used throughout this article. Let $T := (V, E)$ be a graph with set of edges $E$ and vertices $V$. An *edge* of $E$ between two vertices $v$ and $v'$ is an unordered sequence of two vertices $\{u, v\} = \{v, u\}$. In this work, graphs have no self-loops, i.e edges of the form $\{u, u\}$. An *oriented edge* is an edge for which the order matters, written $e = [u, v]$ for an edge running from $u$ to $v$. The inverse of an edge is defined as $[v, u]^{-1} := [u, v]$. We note $E^*$ the set of oriented edges. Its cardinal is twice the one of $E$. A path in the graph is a sequence of oriented edges $\alpha = [u, v] [v, w] \dots$.

Next, let $\Gamma$ be a finite group. A *voltage assignment*<fnref n="7" /> with voltage group $\Gamma$ is a map

$$\nu: E^* \to \Gamma, \qquad (9)$$

such that $\nu(e^{-1}) = \nu(e)^{-1}$. It is central to the following definition.

**Definition 2.9 (Lift of a graph).** Let $T := (V, E)$ be a graph and $\nu$ a voltage assignment. The right derived graph $D(T, \nu)$ of $T$, also called right $\Gamma$-lift, is a graph with set of vertices $V \times \Gamma$ and set of edges in bijection with $E \times \Gamma$, so that a vertex or edge, is written $(c, g)$ with $c \in T$ and $g \in \Gamma$. An oriented edge $(e, g)$, with $e = [u, v]$, in the graph $D(T, \nu)$, runs from $(u, g)$ to $(v, g\nu(e))$, where the multiplication by $\nu(e)$ is always on the right.

With this definition of the voltage assignment, we have $(e, g)^{-1} = (e^{-1}, g\nu(e))$. A left derived graph is similar, but the multiplication by $\nu(e)$ is on the left. In this work, we only consider right derived graphs unless otherwise stated. This is why we usually omit to mention it in the notation of the derived graph.

For every derived graph $D(T, \nu)$, it is possible to define a covering map $p: D(T, \nu) \to T$, which projects a cell $(c, g) \in D(T, \nu)$ to $c \in T$. It is also defined on the set $E^*$ of oriented edges, and preserves orientation. It was shown in [GT77] that such group voltages can produce all regular (connected and disconnected) cover

<footnote n="7">⁷The definition given here is different to the one in [PK22a], which is a map $\nu: E \to G$, which must be given together with an orientation map.</footnote>
of $T$. For the right derived graph $D(T, \nu)$, the voltage group $\Gamma$ acts freely and transitively on the fiber, by left multiplication, and we even have $\text{Deck}(p) \cong G$. Indeed, for any vertex, $u' = (u, g)$ we can define the left multiplication by $h \in \Gamma$ as $h.u' = (u, hg)$. Then, for an oriented edge $(e, g) = [(u, g), (v, g\nu(e))]$, multiplication by a group element $h$ satisfies $h(e, g) = (e, hg)$, since $(e, hg) = [(u, hg), (v, hg\nu(e))]$ is an edge in the same fiber as $(e, g)$.

**Remark 2.10.** For any left multiplicative action, there is an associated right group action, which is multiplication on the left by $g^{-1}$.

Since any linear code can be represented by its Tanner graph, we can exploit the lift to define new codes.

**Definition 2.11** (lift of a linear code). Let $C$ be a linear code with Tanner graph $\mathcal{T} := (A \cup B, E)$, where $A$ is the set of parity-check vertices and $B$ the set of bit vertices. Let $\nu: E^* \to \Gamma$ be a voltage assignment to some finite group $\Gamma$. When applying a right $\Gamma$-lift to the Tanner graph $\mathcal{T}$ we obtain a Tanner graph $D(\mathcal{T}, \nu)$ with set of check and bit vertices respectively $A \times \Gamma$ and $B \times \Gamma$. We call the code $C^\Gamma$ associated to $D(\mathcal{T}, \nu)$ a right $\Gamma$-lift of $C$.

Keeping notation as in Definition 2.11, the code $C$ is identified with a chain complex $C_1 \xrightarrow{\partial_1} C_0$. If we identify basis vectors in $C_0$ and $C_1$ with, respectively, the vertices of $A$ and $B$, we can define them by formal sums $C_0 = \mathbb{F}_2 A$ and $C_1 = \mathbb{F}_2 B$, with $\partial_1 = H$. After applying a $\Gamma$-lift, the lifted code, noted $C^\Gamma$, has for Tanner graph $D(\mathcal{T}, \nu)$. Therefore, $C^\Gamma$ has $|\Gamma| \cdot \dim C_1$ bit variables and $|\Gamma| \cdot \dim C_0$ parity-checks. We also refer to the resulting chain complex $C^\Gamma := C_1^\Gamma \xrightarrow{\partial_{\Gamma,1}} C_0^\Gamma$ as a right $\Gamma$-lift of $C$. It follows from the property of covering maps, that $D(\mathcal{T}, \nu)$ is locally homeomorphic to $\mathcal{T}$, so that the degree of each vertex in the derived graph $D(\mathcal{T}, \nu)$ is equal to the degree of its projection in the base space $\mathcal{T}$. For that reason, the LDPC property of the code is conserved by the lift.

It is also well known from the theory of covering spaces that the chain complex of a normal cover with $\text{Deck}(p) \cong \Gamma$ is a free $\mathbb{F}_2[\Gamma]$-module. While the chain complex of $C$ is not the cell complex of the graph $\mathcal{T}$, it nevertheless inherits the following module formulation.

**Proposition 2.12.** Let $C := C_1 \xrightarrow{\partial_1} C_0$ be a linear code with Tanner graph $\mathcal{T}$ and $C^\Gamma$ be the $\Gamma$-lifted code associated to the Tanner graph $D(\mathcal{T}, \nu)$. Then $C^\Gamma$ is identified with the chain complex

$$C^{\Gamma} := C_1 \otimes_{\mathbb{F}_2[\Gamma]} \partial_1^{\Gamma} \xrightarrow{\partial_1^{\Gamma}} C_0 \otimes_{\mathbb{F}_2[\Gamma]} C_1^{\Gamma}, \quad (10)$$

where the boundary map is defined on basis vectors by

$$\partial_1^{\Gamma}(b \otimes g) := \sum_{a_i \in \text{supp } \partial_1 b} a_i \otimes g\nu([b, a_i]), \quad (11)$$

and extended by linearity over chains.

Indeed, the tensor product is over $\mathbb{F}_2$ and $C_0 = \mathbb{F}_2(A \times \Gamma) \cong \mathbb{F}_2 A \otimes \mathbb{F}_2[\Gamma]$ and $C_1 = \mathbb{F}_2(B \times \Gamma) \cong \mathbb{F}_2 B \otimes \mathbb{F}_2[\Gamma]$. It is appropriate to identify any vertex $(v, g)$ in $D(\mathcal{T}, \nu)$ with a basis vector $v \otimes g$ in $C_i^\Gamma$, $i = 1, 2$ and depending on the two formulations $\partial_1^\Gamma$ is represented either as a $|A| \times |B|$ matrix with coefficients in $\mathbb{F}_2[\Gamma]$ or as a $|A| \cdot |\Gamma| \times |B| \cdot |\Gamma|$ matrix with values in $\mathbb{F}_2$, called the left regular representation.

We end this section by defining *permutation voltages*. Let $n \in \mathbb{N}$ and $S_n$ be the symmetric group on the set of objects $X = \{1, \dots, n\}$. Let $T = (E, V)$ be an oriented graph. A permutation voltage on $T$ starts with a permutation-voltage assignment on the set of edges, $\mu: E^* \to S_n$, such that $\mu(e^{-1}) = \mu(e)^{-1}$. The right derived graph $D(T, \mu)$ has set of edges $E \times X$ and set of vertices $V \times X$. A cell $c$, vertex or edge, is written $(c, i)$ for $i \in X$. An edge $(e, i)$ in the graph $D(T, \mu)$, where $e = [v, v']$, connects $(v, i)$ and $(v', \mu(e)^{-1}i)$. For any permutation voltage, it is also possible to define a covering map $p: D(T, \mu) \to T$ sending a cell $(c, i) \mapsto c$. The graph $D(T, \mu)$ is then a $n$-sheeted cover of $T$. It was also shown in [GT77] that for any $n$-sheeted graph covering $p: T' \to T$, there exists a permutation voltage assignment of $T$ in $S_n$ such that the derived graph is isomorphic to $T'$. Therefore, the set of graphs obtained from group voltage on $T$ is a subset of the one obtained by permutation voltage. As before, applying this procedure to the Tanner graph of a linear code yields a lifted code in a natural way.

**Remark 2.13.** A lift of a graph obtained by group voltage with $\Gamma = S_n$ is a $n$-sheeted regular cover, while a lift obtained by permutation voltage in $S_n$ is an arbitrary $n$-sheeted cover.
<figure><img src="image_2.png" /><figcaption>FIG. 1: Tanner graph of Steane's 7 qubit code [Ste96a]. The upper row of vertices represents Z-checks, while the middle and lower rows are respectively qubits and X-checks. The induced subgraph of a Z-check z is colored in blue.</figcaption></figure>

# 3 Lift of a quantum CSS code

## 3.1 Tanner graph of a quantum CSS code

Let $C := \mathbb{F}_2Z \xrightarrow{\partial_2=H_Z^T} \mathbb{F}_2Q \xrightarrow{\partial_1=H_X} \mathbb{F}_2X$ be a quantum CSS code. Recall that we always fix a basis for each space and dual space. We begin with the basic definition of the Tanner graph of a CSS code. Throughout this article, graphs have no self-loops or multi-edges unless otherwise stated.

**Definition 3.1 (Tanner graph).** Let $C := \text{CSS}(C_X, C_Z)$ be a CSS code. The Tanner graph of $C$ is the bipartite graph $\mathcal{T}(C) = ((Z \cup X) \cup Q, E_{QZ} \cup E_{QX})$, in which $(Z \cup Q, E_{QZ}) = \mathcal{T}(C_Z)$ and $(X \cup Q, E_{QX}) = \mathcal{T}(C_X)$. Whenever it is clear from context, that we associate a Tanner graph to a code $C$, we write it $\mathcal{T}$ instead of $\mathcal{T}(C)$.

That is, we now identify the sets of vertices in $\mathcal{T}(C)$ with the abstract cells in the chain complex $C$. For a check $s \in X \cup Z$, $\text{supp}(s)$ denotes the support of the row vector corresponding to this check in the corresponding parity-check matrix. According to Definition 3.1, this graph admits for adjacency matrix

$$A = \begin{bmatrix} 0 & H_Z & 0 \\ H_Z^T & 0 & H_X^T \\ 0 & H_X & 0 \end{bmatrix}.$$

The Tanner graph of a CSS code is an example of a bipartite graph $T$ with vertex set $V \cup V_0$, in which one of the subsets of vertices, say $V$, is subdivided into two sets, $V = V_1 \cup V_2$, so that $T$ is also seen as a tripartite graph. For such a graph, we denote $E_{ij}$ the edge set between vertex sets $V_i$ and $V_j$. We recall that the distance between two vertices in a graph is defined as the number of edges in a shortest path connecting them. The following definition will appear to be central throughout this article.

**Definition 3.2 (Induced subgraph).** Let $T := (V \cup V_0, E_{01} \cup E_{02})$, with $V = V_1 \cup V_2$, be a bipartite graph. For any $u \in V_1$, let $T_u$ denote the subgraph of $(V_2 \cup V_0, E_{02})$ composed of all the vertices of $V_0$ adjacent to $V_1$, all the vertices of $V_2$ of distance 2 to $u$ in $T$, and all the edges of $E_{02}$ between these vertices. We name $T_u$ the subgraph induced by $u$ in $(V_2 \cup V_0, E_{02})$, or simply the subgraph induced by $u$. Exchanging the role of $V_1$ and $V_2$, for any $v \in V_2$, we call $T_v$ the subgraph induced by $v$ in $(V_1 \cup V_0, E_{01})$.

We illustrate it for the Tanner graph $\mathcal{T} := \mathcal{T}(C)$ with $C = \text{CSS}(C_X, C_Z)$. For any $z \in Z$, $\mathcal{T}_z$ denotes the subgraph of $\mathcal{T}(C_X)$ composed of all the qubits $q \in \text{supp}(z)$ and all the X-checks $x$ such that $\text{supp}(x) \cap \text{supp}(z) \neq \emptyset$. Then $\mathcal{T}_z$ is the subgraph induced by $z$ in $\mathcal{T}(C_X)$. Exchanging the role of $X$ and $Z$ checks, $\mathcal{T}_x$ the subgraph induced by $x$ in $\mathcal{T}(C_Z)$.

**Proposition 3.3.** A bipartite graph of the form $T = (V \cup V_0, E_{01} \cup E_{02})$, with a partition $V = V_1 \cup V_2$, defines a valid Tanner graph for a CSS code iff for every $u \in V_1$ and every $v \in V_2$, $T_v$, respectively $T_u$, is a bipartite subgraph of even degree at the $V_2$ vertices, respectively the $V_1$ vertices.

*Proof.* We make the following identification: $V_0 = Q$, $V_1 = Z$, $V_2 = X$. Then, this is equivalent to the relation $H_X.H_Z^T = 0$. $\square$

## 3.2 The Tanner cone-complex

In this section, we introduce a crucial element to lift a code $C := \mathbb{F}_2Z \xrightarrow{\partial_2} \mathbb{F}_2Q \xrightarrow{\partial_1} \mathbb{F}_2X$, which is a 2D geometrical complex that we call the *Tanner cone-complex* of $C$. This is a canonical object which is associated to any CSS code. Later, a lift will be defined via a covering of this complex.
To describe any 2D complex, we first introduce the notion of a face, which is an element {$v_1, v_2, v_3$} such that $[v_1, v_2].[v_2, v_3].[v_3, v_1]$ is a closed path in the graph.

**Definition 3.4** (Tanner cone-complex). Let $\mathcal{T}(C) = (V, E)$, be the Tanner graph of the code $C = \text{CSS}(C_X, C_Z)$, with $V = X \cup Z \cup Q$ and $E = E_{QZ} \cup E_{QX}$. The Tanner cone-complex $\mathcal{K}(C)$ is the 2D simplicial complex<fnref n="8" /> with 1-skeleton the graph $(V, E \cup E_{XZ})$, where

$$E_{XZ} := \{\{x, z\}, x \in X, z \in Z, \text{supp}(x) \cap \text{supp}(z) \neq \emptyset\},$$

and with the set of triangular faces $F := \{\{x, q, z\}, q \in \text{supp}(x) \cap \text{supp}(z)\}$. In other words, there is at most a single edge between any pair of vertices corresponding to $(x, z) \in X \times Z$ when their support has non-empty intersection. When it is clear from context that a Tanner cone-complex is associated to a code $C$, we write it $\mathcal{K}$ instead of $\mathcal{K}(C)$.

Let $I_{ZX}$ represent the $m_Z \times m_X$-matrix with rows indexed by the $X$-checks and columns by the $Z$-checks, such that $(I_{ZX})_{i,j} = 1$ whenever the $i$-th $Z$-check and the $j$-th $X$-check have a common support. Then the 1-skeleton of $\mathcal{K}(C)$ admits for adjacency matrix

$$A = \begin{bmatrix} 0 & H_Z & I_{ZX} \\ H_Z^T & 0 & H_X^T \\ I_{ZX}^T & H_X & 0 \end{bmatrix}.$$

Note that according to this definition, the Tanner cone-complex of any classical code $D$ satisfies $\mathcal{K}(D) = \mathcal{T}(D)$.

While the construction of the Tanner cone-complex given in 3.4 is symmetric in $X$ and $Z$, we can also obtain it using the following method, which serves as an alternative definition. While Definition 3.4 is very simple, Proposition 3.6 highlights a property which will be central to show that the lift of a CSS code represents a valid code.

**Definition 3.5.** Let $X$ and $Y$ be spaces, $X$ being a subspace of $Y$, and $I$ denote the unit interval. The mapping cone of the inclusion map $i: X \hookrightarrow Y$ is the space obtained by attaching the cone on $X$,

$$C X := X \times I/(X \times \{0\}),$$

to $Y$ according to the equivalence $(x, 1) \sim i(x)$, $\forall x \in X$. It is noted $Y \cup_i C X$.

**Proposition 3.6.** Let $C = \text{CSS}(C_X, C_Z)$. For any $z \in Z$, let $\mathcal{T}_z$ denote the subgraph induced by $z$ in $\mathcal{T}(C_X)$. Then, for all $z \in Z$ we can consider the mapping cones $\mathcal{T}(C_X) \cup_{i_z} \mathcal{T}_z$ of the inclusion maps $i_z: \mathcal{T}_z \hookrightarrow \mathcal{T}(C_X)$, where $\mathcal{T}_z$ denotes the cone on $\mathcal{T}_z$.

1. The Tanner cone-complex is obtained by the attachment of all the cones on $\mathcal{T}_z$ for $z \in Z$, to $\mathcal{T}(C_X)$ at once,

$$\mathcal{K}(C) \cong \mathcal{T}(C_X) \bigcup_{z \in Z, i_z} \mathcal{C} \mathcal{T}_z.$$

2. Exchanging the role of $X$ and $Z$ checks, we also have

$$\mathcal{K}(C) \cong \mathcal{T}(C_Z) \bigcup_{x \in X, i_x} \mathcal{C} \mathcal{T}_x,$$

where $\mathcal{T}_x$ is the subgraph induced by $x$ in $\mathcal{T}(C_Z)$.

*Proof.* 1. We can label the vertex at the tip of $\mathcal{C} \mathcal{T}_z$ by $z$. Then, since every vertex $x$ in $\mathcal{T}_z$ gives rise to an edge in $\mathcal{C} \mathcal{T}_z$ when $\text{supp}(x) \cap \text{supp}(z) \neq \emptyset$, we obtain all the edges connecting $z$ with qubits on which it has support and vertices of $X$ which have overlapping supports. Moreover, each edge $[q, x]$ gives rise to a face $f$ which has for boundary the path of edges $[q, x].[x, z].[z, q]$.

2. This is direct from Definition 3.4 of the Tanner cone-complex, which is symmetric in the sets of vertices $X$ and $Z$. $\square$

In Figure 2, we illustrate the construction of the Tanner cone-complex of Proposition 3.6. Note that for any vertex $v$ representing a $X$ or $Z$-check, $\mathcal{C} \mathcal{T}_v$ is a contractible complex. This is a basic property of the cone, Definition 3.5 on a subcomplex.

<footnote n="8">⁸Here, by simplicial complex, we mean the geometrical realization of the associated abstract simplicial complex. This is because we will consider its fundamental group and do geometrical operations. In the abstract definition, a simplicial complex is a set of sets of objects called "vertices", which is closed under taking subsets. Every abstract simplicial complex defines a geometrical one, in which sets of 2 and 3 "vertices" are respectively edges and triangular faces. The converse is also true.</footnote>
<figure><img src="image_3.png" /><figcaption>FIG. 2: Cone on an induced subgraph $\mathcal{T}_z \hookrightarrow T(C_X)$, obtained by attaching $\mathcal{T}_z \times I$ to $\mathcal{T}(C_X)$ on one end, and then collapsing the other end to a point labeled $z$. Thick lines are edges of $\mathcal{T}_z$, dots are qubit vertices and boxes are check vertices. Dashed lines represent other edges in $\mathcal{T}(C_X)$. Thin lines are edges in $\mathcal{T}_z \times I$ or $C\mathcal{T}_z$.</figcaption></figure>

**Remark 3.7.** The Tanner cone-complex has the following noticeable features.

* For any vertex $v$ representing a $X$ or $Z$ stabilizer, its link$^9$ is $\text{link}(v) = \mathcal{T}_v$.

* For any vertex $q$ representing a qubit, $\text{link}(q)$ is the complete bipartite graph composed of all the $X$ and $Z$ vertices having support on $q$ (and all the edges between them).

**Remark 3.8.** The Tanner cone-complex is the clique complex$^{10}$ of its 1-skeleton. This is because any cycle of length 3 in its 1-skeleton is specified by a triple $\{x, q, z\}$ with $q \in \text{supp}(x) \cap \text{supp}(z)$, which also defines a face in the Tanner cone-complex.

This definition of Tanner cone-complex can be generalized to chain complex over $\mathbb{F}_2$-coefficients of any length. This is not needed in this work, but we state the definition for completeness.

**Definition 3.9.** Consider the $\mathbb{Z}_2$-chain complex $C := C_N \xrightarrow{\partial_N} \dots \xrightarrow{\partial_2} C_1 \xrightarrow{\partial_1} C_0$, and denote the $i$-th dual map $\delta_i$. The Tanner graph $\mathcal{T}(C)$ is the graph with set of nodes $V = \cup_0^N V_i$, where elements of $V_i$ are identified with basis vectors of $C_i$, and sets of edges $E = \cup_1^N E_{i,i-1}$, where there is an edge $e \in E_{i,i-1}$ between $u \in V_i$ and $v \in V_{i-1}$, iff $v \in \text{supp}(\partial_i u)$.

The Tanner cone-complex $\mathcal{K}(C)$ is the 2D simplicial complex with set of edges $E \cup_2^N E_{i,i-2}$, where $E_{i,i-2} := \{\{u, v\}, u \in V_i, v \in V_{i-2}, \text{supp}(\partial_i u) \cap \text{supp}(\delta_{i-1} v) \neq \emptyset\}$, and sets of faces $F = \cup_2^N F_{i,i-2}$, where $F_{i,i-2} := \{\{u, v, w\}, u \in V_i, v \in V_{i-1}, w \in V_{i-2}, v \in \text{supp}(\partial_i u) \cap \text{supp}(\delta_{i-1} w)\}$.

It is then possible to give an alternative construction using the cone on induced subgraphs, similarly to Proposition 3.6.

## 3.3 Lift of a CSS code: definition

In this section, we define the lift of a CSS code. Intuitively, given a CSS code, one can consider covering maps of its Tanner cone-complex. It will first be shown that the associated covering space is the Tanner cone-complex of another CSS code. This new code will be defined as a lifted code. Then, the theory of covering maps can be used to classify all possible lifts.

The next proposition shows that a covering of any Tanner cone-complex can be used to define new quantum codes. This is not true in general if we try to do a covering of a Tanner graph directly, or of the 1-skeleton of the Tanner cone-complex. This is because for an arbitrary cover, the new induced subgraphs, see Definition 3.2, could be of odd degrees at certain check vertices. To understand this statement, consider two copies, noted $\mathcal{T} = (V, E)$ and $\mathcal{T}' = (V', E')$, of the Tanner graph of a CSS code $C$. Select in the first graph an arbitrary vertex $x \in X$, a qubit vertex $q$ adjacent to that check, and the copy of these vertices $x'$, $q'$, in the second graph. Then, consider the graph obtained from the disjoint copies, by adding two edges and removing two others, $T = (V \cup V', \{\{x, q'\}, \{x', q'\}\} \cup (E \cup E') \setminus \{\{x, q\}, \{x', q'\}\})$. This is a 2-fold covering of the Tanner graph of $C$, obtained by a permutation voltage. However, for any vertex $z \in Z$ such

<footnote>$^9$For any vertex $v$ of a regular cell complex $K$, the link of $v$ in $K$ is defined as $\text{link}(v, K) := \{\sigma \in K, \sigma \cap v = \emptyset, v \cup \sigma \in X\}$, where by $v \cup \sigma$ we mean the cell defined by appending $v$ to the set of vertices defining $\sigma$.</footnote>

<footnote>$^{10}$The clique complex $K$ of a graph $T$ is a simplicial complex in which every $n$-vertex clique (every subset of $n$ vertices in which each pair of vertices are adjacent in $T$) of $T$ defines a $(n-1)$ dimensional cell in $K$.</footnote>
that $x \in \mathcal{T}_z$ in $\mathcal{T}$, the new subgraph induced by $z$ in $G$ is of odd degree at $x'$, so that $T$ does not satisfy Proposition 3.3. We can repeat the same kind of argument, if we consider covering of the 1-skeleton of $\mathcal{K}(C)$. Therefore, to obtain a valid covering of a Tanner graph, another method is needed.

**Theorem 3.10.** Let $C$ be a CSS code with Tanner graph $\mathcal{T}$ and Tanner cone-complex $\mathcal{K} := \mathcal{K}(C)$. Any finite covering map $p: K' \to \mathcal{K}$ of the Tanner cone-complex restricts to a covering map $p|_{\mathcal{T}}: T' \to \mathcal{T}$, for which the covering space $T'$ represents the Tanner graph of a quantum CSS code $C'$, $T' = \mathcal{T}(C')$, with sets of checks $X' = p^{-1}(X)$, $Z' = p^{-1}(Z)$ and qubits $Q' = p^{-1}(Q)$.

*Proof.* We consider an arbitrary connected covering $p: K' \to \mathcal{K}$ of the Tanner cone complex. Since we have the embedding of the Tanner graph $\mathcal{T} \hookrightarrow \mathcal{K}$ as a subcomplex, and by Lemma 2.4, this covering map restricts to a covering map $p|_{\mathcal{T}}: T' \to \mathcal{T}$. We will show that $T'$ satisfies the property of Proposition 3.3.

Let $z \in Z$. The subcomplex $C\mathcal{T}_z$ is simply connected, since by construction the cone on a subcomplex can be retracted onto a point. The restriction of a covering map to a subcomplex of $\mathcal{K}$ is also a covering of this subcomplex by Lemma 2.4. Hence, all the lifts of $C\mathcal{T}_z$ in $K'$ must be disjoint copies of $C\mathcal{T}_z$, that we denote as $C\mathcal{T}_{(z,i)}$, where $i$ is an arbitrary indexing of the elements in the fiber above $z$. Therefore, each of these subcomplexes $C\mathcal{T}_{(z,i)}$, for $1 \le i \le |S_z|$, corresponds to a new $Z$-generator $(z, i) \in Z \times S_z$, and it has as link((z, i)) = $\mathcal{T}_{(z,i)}$ which is a subgraph of the 1-skeleton of $C\mathcal{T}_{(z,i)}$. Therefore, $\mathcal{T}_{(z,i)} \cong \mathcal{T}_z$, and in particular, it has even degree at the vertices of $X'$ corresponding to preimage by $p$ of $X$-vertices. We can repeat the same reasoning for all $x \in X$ and subcomplexes $C\mathcal{T}_x$. As mentioned in Proposition 3.3, this is the only requirement for the 1-skeleton of $K'$ to describe a valid Tanner graph, once we remove edges between check vertices to give $T' = \mathcal{T}(C')$ for some code $C'$. $\square$

In the rest of this article, we only consider CSS codes with connected Tanner graphs, since a code with a disconnected Tanner graph is a disjoint union of several codes, each of which can be studied independently. This is also a requirement for the fundamental group $\pi_1(\mathcal{K}(C))$ to be uniquely defined, up to isomorphism<fnref n="11" />.

**Definition 3.11** (lift of a CSS code). Let $C$ be a CSS code, with Tanner graph $\mathcal{T}$, and Tanner cone-complex $\mathcal{K} := \mathcal{K}(C)$. Let $p: K' \to \mathcal{K}$ be a finite cover of $\mathcal{K}$ and $p|_{\mathcal{T}}: T' \to \mathcal{T}$ its restriction to the Tanner graph. The *lift* of $C$ associated to $p$ corresponds to the CSS code $C'$ such that $\mathcal{K}(C') = K'$ (or equivalently with Tanner graph $T' = \mathcal{T}(C')$), sets of checks $X' = p^{-1}(X)$, $Z' = p^{-1}(Z)$ and qubits $Q' = p^{-1}(Q)$. A *connected* lift of $C$ is a lift defined by a connected cover of $\mathcal{K}$. A *trivial* lift of $C$ corresponds to disjoint copies of this code.

When a lift of a code $C$ is disconnected, one only obtains a disjoint union of codes, each of which is obtained by a connected lift of $C$. For that reason, we restrict our attention to connected lifts.

**Remark 3.12.** Notice that the fundamental group $\pi_1(\mathcal{K}(C))$ depends on the choice of basis of $X$ and $Z$-checks. For example, for the Toric code this is $\mathbb{Z} \times \mathbb{Z}$, but if we replace a basis check $z \in Z$ by $z' + z$, with $z' \in Z$ such that $\text{supp}(z) \cap \text{supp}(z') = \emptyset$, then this becomes the free product $(\mathbb{Z} \times \mathbb{Z}) * \mathbb{Z}$ because, as seen in Proposition 3.6, we take the cone on a disconnected subgraph.

The condition for the existence of a non-trivial lift is the non triviality of $\pi_1(\mathcal{K}(C))$. When this condition is satisfied, the lift of a CSS code possesses the following properties.

**Proposition 3.13.** The lift of a quantum CSS code, associated to a degree $d$ covering of its Tanner cone-complex, enjoys the following properties.

1. For an input CSS code of length $n$, it is a CSS code of length given by d.n.

2. The maximum weight of rows and columns of the lifted check matrices is unchanged compared to that of the input code.

3. The dimension $k'$ of the new code is lower bounded by $k' \ge d.(|Q| - m_X - m_Z)$.

4. If built from a finite regular cover, it has a free (linear) right action of the group of deck transformations and its dual complex has a similar left action.

5. Applied to a classical code, it coincides with the geometrical lift of linear codes.

6. Applied to a hypergraph product code [TZ09], it coincides with the lifted product code [PK22a].

<footnote n="11">¹¹Given a basepoint $v$ on a topological space $K$, recall that the fundamental group is the group of homotopy classes of loops based at $v$, which has for group operation the concatenation of loops. For a space $K = \bigsqcup_i K_i$, and $v \in K_i$, $\pi_1(K, v) = \pi_1(K_i, v)$.</footnote>
*Proof.* Items 1., 2. and 4. follow from directly the theory of covering spaces. Item 3 comes from the cardinality of the fiber in a covering map and from a simple counting argument on the number of qubits and checks in the lifted code. Item 5. comes from the fact that the Tanner cone-complex of a linear code is simply its Tanner graph. Item 6. will be the subject of Section 4. □

**Remark 3.14.** We are not aware of any method to compute the dimension and distance of a lifted code in full generality, given the parameters of an input code. This is at least as difficult as determining the 1st homology and the systole of a surface, since the Tanner cone-complex of a surface code is a simplicial refinement of a cellulation. For that reason, the strategy adopted later is a case by case study.

For example, several codes, such as Shor's [Sho95] and Steane's [Ste96b] code, Quantum Reed-Muller codes<fnref n="12" />, and quantum CSS codes from finite geometry [AC19] cannot be lifted in a non-trivial way because their Tanner cone-complexes have a trivial fundamental group. Some examples can be lifted in the usual sense: linear codes and codes coming from regular cellulations of surfaces.

Because the topological space $\mathcal{K}(C)$ is a connected cell complex, there is a way to classify all possible lifts of CSS codes. This is a direct consequence of the Galois correspondence, Theorem 2.7. More precisely, for every subgroup $H$ of $\pi_1(\mathcal{K}, v)$ there exists a path-connected covering space $\mathcal{K}'$ such that the $p_*\pi_1(\mathcal{K}', v') \cong H$. The new complex $\mathcal{K}'$ is the Tanner cone-complex of a lifted code $C'$, by Proposition 3.10. This statement of existence is essential, but we will not be interested in every subgroup of the fundamental group to create codes. Only subgroups of finite index in $\pi_1(\mathcal{K})$ will give codes with a finite number of qubits.

Using this correspondence, it can be appropriate to denote $C_H$ the $H$-lift of a CSS code $C$. This is in contrast with the notation of Definition 2.11, where the $\Gamma$-lift of a linear code $C$ is written $C^\Gamma$, for an arbitrary choice of finite group $\Gamma$, playing the role of the fiber of the covering. For a lifted CSS code, whenever we wish to put emphasis on the subgroup $H \le \pi_1(\mathcal{K})$, we write $H$ in subscript. This notation is suitable when, for instance, the subgroup isn't normal. However, when $H \le \pi_1(\mathcal{K})$ and we wish to put emphasis on the fiber of the covering $\Gamma = \pi_1(\mathcal{K})/H$, we write the lifted CSS code $C^\Gamma$. This is useful when only a complicated presentation of $H$ is available, while the quotient group $\Gamma$ is well known.

## 3.4 Lift of a CSS code: explicit construction

In this section, we describe the procedure to construct the lift of a quantum CSS code explicitly. To this end, we first show how to produce a covering of the 1-skeleton of the Tanner cone-complex, which can be completed into a covering of the full complex. Since all the information about the lifted quantum code is contained in the 1-skeleton, we can derive the parity-check matrices of the lifted code from this graph covering. We keep the notations of graphs established in Section 2.5. Most of the material on covering maps and fundamental group is adapted from [LS01, Hat02], therefore the construction is detailed but proofs usually omitted.

We consider the CSS code $C := \mathbb{F}_2Z \xrightarrow{\partial_2} \mathbb{F}_2Q \xrightarrow{\partial_1} \mathbb{F}_2X$ and denote the dual maps $\delta_i$ for $i = 1, 2$. Let $\mathcal{T} := \mathcal{T}(C)$, and $\mathcal{K} := \mathcal{K}(C)$. Recall that $\mathcal{K}^1 = (V, E)$, the 1-skeleton of $\mathcal{K}$, is not isomorphic to $\mathcal{T}$ since $\mathcal{K}^1$ has edges between the $X$ and $Z$ vertices.

The topological space $\mathcal{K}$ is a finite connected simplicial complex. From the Galois correspondence, Theorem 2.7, connected coverings of the base space $\mathcal{K}$, are in one-to-one correspondence with subgroups of its fundamental group $\pi_1(\mathcal{K}, q_0)$, where $q_0$ is an arbitrary choice of basepoint in $\mathcal{K}$ that we now omit. In particular, let $H$ be a subgroup of $\pi_1(\mathcal{K})$. There exists a unique covering map,

$$p_H : \mathcal{K}_H \to \mathcal{K}, \qquad (12)$$

associated to $H$. It has degree $d = [\pi_1(\mathcal{K}) : H]$. The lifted code $C_H$ is the one which satisfies $\mathcal{K}(C_H) = \mathcal{K}_H$, with the assignment of checks and qubits to vertices prescribed in Definition 3.11.

We will first construct the covering of Equation (12), by starting with a covering of the 1-skeleton of $\mathcal{K}$. To do so, we have to consider the following subgroups and homomorphisms,

$$ \begin{array}{ccc} \pi_1(\mathcal{K}) & \ge & H \\ \phi & \updownarrow & \phi^{-1}, \\ \pi_1(\mathcal{K}^1) & \ge & H^1 \end{array} $$

<footnote n="12">¹²Quantum Reed-Muller codes are non LDPC, and one check has support on every qubit. As a general rule, taking cones over large subgraphs of a graph is likely to trivialize the fundamental group of the whole graph.</footnote>
where $\phi$ is the natural homomorphism, taking the quotient of $\pi_1(K^1)$ by the normal closure<fnref n="13" /> of the subgroup generated by relations coming from loops which bound a face in $K$. Moreover, $H^1$ is the preimage of $H$ in $\pi_1(K^1)$ by this homomorphism. We now use the shorthand notations, $\Gamma := \pi_1(K)/H$ and $\Gamma^1 := \pi_1(K^1)/H^1$. Whenever $H$ is normal, there is an isomorphism $\Gamma \cong \Gamma^1$. Otherwise, this is a bijection between the cosets, after specifying whether the cosets are taken from the left or right. Here, all cosets are taken on the right.

To construct the covering map $p_H : K_H \to K$, we must begin with a construction of the covering map

$$p_{H^1} : K_{H^1} \to K^1, \qquad (13)$$

which exists and is also unique by Theorem 2.7. It can be obtained as the lift of a graph as exposed in Definition 2.9, but with a choice of voltage assignment specifically designed to produce connected coverings. We explain the steps to create $p_{H^1}$ and $K_{H^1}^1$, the latter being a graph with sets of vertices $Q \times \Gamma^1 \cup X \times \Gamma^1 \cup Z \times \Gamma^1$ that we now describe how to connect by edges. Since $K^1$ is a connected graph, it admits a maximal spanning tree $T$ with basepoint $q_0$, and by definition a unique path from vertex to vertex. We define a specific type of voltage assignment on the set of oriented edges,

$$\nu^T : E^* \to \pi_1(K^1) \qquad (14)$$

mapping an edge $e = [u, v]$ to an element of $\pi_1(K^1)$ in the following manner. Let a path $\alpha$ from vertex $a$ to $b$ be denoted as a sequence of oriented edges, for example $\alpha = [a, u_1].[u_1, u_2]...[u_j, b]$. Moreover, let $((a, b))$ denote the path from $a$ to $b$ in the tree $T$. Then the equivalence class of loops obtained by adding $e$ to $T$ is $\nu^T(e) := [((q_0, u)).e.((v, q_0))]$, where $[\alpha]$ is the standard notation for the homotopy class of a loop $\alpha$ based at $q_0$. When we have an edge $[u, v]$, we note $\nu^T[u, v] := \nu^T([u, v])$, to make the notation less cluttered. We define a new construction of derived graphs associated to this voltage assignment.

**Definition 3.15** (Connected lift of a graph). Let $G = (V, E)$ be a connected graph, $T$ a spanning tree of $G$, $\nu^T : E^* \to \pi_1(G)$ a voltage assignment on oriented edges as described above, $H$ a subgroup of $\pi_1(G)$ and let $\Gamma := \pi_1(G)/H$. The right-derived graph $D(G, \nu^T, H)$ is a graph with set of vertices $V \times \Gamma$ and set of edges $E \times \Gamma$, so that a vertex or edge is written $(c, gH)$ with $c \in G$ and $g \in \pi_1(G)$. An oriented edge $e' = (e, gH)$ in the graph $D(G, \nu^T, H)$, with $g \in \pi_1(G)$ and $e = [u, v]$, connects $(u, gH)$ and $(v, g\nu^T(e)H)$, where the multiplication by $\nu^T(e)$ is always on the right.

In general, a graph admits more than one spanning tree. Following this procedure with another choice of spanning tree will modify the parametrization of the vertices and edges, but the graphs will be isomorphic, by the Galois correspondence.

When $H^1 \le \pi_1(K^1)$, this definition of lifts coincides with the one given in Definition 2.9 for the specific choice of voltage assignment given here. But while Definition 2.11 can generate all (connected and disconnected) regular covers, Definition 3.15 can generate all connected regular and non-regular covers.

With Definition 3.15 of right derived graph, we claim that $K_{H^1}^1 = D(K^1, \nu^T, H^1)$. For that, we define $p_{H^1}^1$ as the map which projects any cell of $K_{H^1}^1$, vertex or edge, to its first coordinate. This is a valid covering map, equivalent to what we have done in Section 2.5. It is also possible to prove that $p_{H^1}^1$ induces an isomorphism $p_{H^1}^1 : \pi_1(K_{H^1}^1, q_0') \to H^1$, for any choice of basepoint $q_0'$ in the preimage of $q_0$, by studying the image of loops in the cover (see [LS01], Chapter III. 3). Therefore, the graph $K_{H^1}^1 = (\{Q \times \Gamma^1, X \times \Gamma^1, Z \times \Gamma^1\}, E \times \Gamma)$ and the map $p_{H^1}^1$ define the covering of Equation (13).

We could describe how to complete the covering of Equation (13) into the one of Equation (12) by geometrical means. But this step is not required to derive the boundary maps of the lifted code. Their expression is summarized in the next proposition.

**Proposition 3.16.** Let $C := \mathbb{F}_2Z \xrightarrow{\partial_2} \mathbb{F}_2Q \xrightarrow{\partial_1} \mathbb{F}_2X$ be a CSS code, and denote the dual maps $\delta_i$ for $i = 1, 2$. Let $K := K(C)$, $T \subseteq K^1 = (E, V)$ a spanning tree of its 1-skeleton, $\nu^T : E^* \to \pi_1(K^1)$ a voltage assignment on oriented edges, and $\phi : \pi_1(K^1) \to \pi_1(K)$ the natural homomorphism. For a given choice of subgroup $H \le \pi_1(K)$ with finite index, let $C_H$ be the associated lifted CSS code of $C$. We write $\Gamma$ the set of $H$-coset in $\pi_1(T)$. Then, this code can be written as

$$C_H := \mathbb{F}_2^{m_Z \cdot |\Gamma|} \xrightarrow{\partial_{H,2}} \mathbb{F}_2^{n \cdot |\Gamma|} \xrightarrow{\partial_{H,1}} \mathbb{F}_2^{m_X \cdot |\Gamma|}.$$

The boundary maps of the lifted code and its dual (in the sense of chain complex) are defined on basis

<footnote n="13">¹³Let $\langle S | R \rangle$ be a presentation of a group $G$. The normal closure $N$ of $R$ in $F_S$, the free group generated by $S$, is the smallest normal subgroup of $F_S$ containing $R$, $N = \langle grg^{-1} : g \in F_S, r \in R \rangle$. Then, we have $\langle G = F_S/N \rangle$.</footnote>
elements of $C_H$ by

$$ 
\begin{align} 
\delta_{H,1}(x,gH) &= \sum_{q \in \mathrm{supp}(\delta_1 x)} (q, g\phi(\nu^T[x,q])H), \tag{15} \\ 
\partial_{H,1}(q,gH) &= \sum_{x \in \mathrm{supp}(\partial_1 q)} (x, g\phi(\nu^T[q,x])H), 
\end{align} 
$$

where $g \in \pi_1(K)$ is any group element. Similarly, we have

$$ 
\begin{align} 
\delta_{H,2}(q,gH) &= \sum_{z \in \mathrm{supp}(\delta_2 q)} (z, g\phi(\nu^T[q,z])H), \tag{16} \\ 
\partial_{H,2}(z,gH) &= \sum_{q \in \mathrm{supp}(\partial_2 z)} (q, g\phi(\nu^T[z,q])H). 
\end{align} 
$$

Their action is extended by linearity over chains.

*Proof.* The dimension of each vector space of the lifted code $C_H$ is multiplied by the degree of the cover $p: K_H \to K$ by Proposition 3.13; they are $m_Z|\Gamma|$ for the Z-checks, $m_X|\Gamma|$ for the X-checks and $n|\Gamma|$ the qubits.

To express the boundary maps, we recall that the graph $K_{H1}$, with $H^1 := \phi^{-1}(H)$, carries all the data needed to construct the H-lifted code of $C$, since the new Tanner graph is just a subgraph of the 1-skeleton. We can determine new incidence matrices, $(\delta_{H,i}, \partial_{H,i})$, $i = 1,2$, simply from the adjacency of vertices in $K_{H1}$. For instance, for $i = 1$ they are written as follows on basis vectors, $\delta_{H,1}(x,gH^1) = \sum_{q \in \mathrm{supp}(\delta_1 x)} (q, g\nu^T[x,q]H^1)$ and $\partial_{H,1}(q,gH^1) = \sum_{x \in \mathrm{supp}(\partial_1 q)} (x, g\nu^T[q,x]H^1)$, where $g \in \pi_1(K^1)$. However, since we start from a choice of group $H$, it is more adequate to use another parametrization of the fiber which depends on $H$. For this, we make use of the natural homomorphism $\phi$.

Proposition 3.10 ensures that the lifted boundary maps represent valid parity-check matrices for $C_H$, and that $K_H = K(C_H)$. $\square$

Finally, the total space of $p_H: K_H \to K$ can be reconstructed from the definition of the Tanner cone-complex, with $K_H = K(C_H)$. The map $p_H$ then sends a face $\{x', q', z'\}$ of $K_H$, to $\{p_H(x'), p_H(q'), p_H(z')\}$. This ends the definition of the covering map.

## 3.5 Relation to the fiber bundle code

We have detailed a method to lift a CSS code $C$ via a connected covering of its Tanner cone-complex. We now explain how this is related to the fiber bundle code construction of [HHO21].

The fiber bundle formulation of a lifted code is closely related to what we have done so far, but we need to restrict to normal covering maps and translate our formula to highlight the similarities. A normal covering map is also a principal $G$-bundle $\mathcal{F} \hookrightarrow \mathcal{E} \to \mathcal{B}$, over a base space $\mathcal{B}$, with total space $\mathcal{E}$, fiber $\mathcal{F}$, a discrete group, on which a group $G \subset \mathrm{Aut}(\mathcal{F})$ acts freely and transitively. The group $G$, called the structure group, is the group of automorphisms of the fiber. In our case, we consider covering maps over the base space $K := K(C)$. The fiber is the finite group $\Gamma := \pi_1(K)/H$, which is also the structure group.

Taking inspiration of principal $G$-bundles, we can form an algebraic analogue, where the base space and fiber are replaced by two different chain complexes. The chain complex of the base space is the complex of the code $C$. The fiber is the group ring $F_0 = \mathbb{F}_2[\Gamma]$, which may be extended into the trivial linear code $F := F_0 \xrightarrow{\partial_0^F} 0$. The action of $\Gamma$ on the fiber induces a linear action on the vector spaces of $F$, since we have trivially $\gamma \partial_0^F f = \partial_0^F \gamma f$, for any chain $f \in F_0$, and any $\gamma \in \Gamma$.

The Tanner cone-complex $K_H$, and hence the code $C_H$, inherits the original free transitive linear left action of the group of deck transformations of the covering Deck($p_H$) $\cong \Gamma^{14}$ and is hence a free $\Gamma$-module. Its dual complex $C_H^{\Gamma*}$ enjoys a similar right action of Deck($p_H$). Taking advantage of that, it is possible to define a fiber bundle code [HHO21], identified with the chain complex $C_H = (C_{H,\bullet}, \partial_{\bullet}^E)$, for which the chain spaces are written

$$ C_{H,n} = \bigoplus_{r+s=n} C_r \otimes F_s. \tag{17} $$

This is not the cellular chain complex$^{15}$ of $K_H$, which would have cells indexed by order of dimension. Equation (17) is a simple rewriting of a basis element $(q, Hg)$ into $q \otimes Hg$. To express the new boundary map

<footnote>$^{14}$we recall that the group of deck transformations is the group of homeomorphism with elements $d: K_H \to K_H$ such that $p_H \circ d = p_H$</footnote>

<footnote>$^{15}$The cellular chain complex of a cell complex $K$ is the chain complex indexed by dimension of cells, and whose $n$-chains are formal combination of $n$-dimensional cells, and boundary maps defined on a cell by formal sums of its boundary cells.</footnote>
$\partial_H$ we have to specify a chosen connection of the bundle, which is an assignment of a fiber automorphism element $\varphi : \{(u, v), v \in \text{supp}(\partial_i u)\} \to \text{Aut}(\mathcal{F})$. Then, it is possible to make the parallel with the code of [HHO21] more precise.

**Proposition 3.17.** Suppose $H$ is a normal subgroup of $\pi_1(K)$. Then, the $H$-lift of $C$ is identified with the fiber bundle code [HHO21] $C_H = (C_{H\bullet}, \partial_{H,\bullet})$, where $C_{H,n} = \bigoplus_{r+s=n} C_r \otimes F_s$. A connection is given on a pair $(u, v) \in C_{H,n}$ by $\varphi(u,v)f := f\nu^T[u,v]$. On basis elements, the boundary maps read

$$ \begin{aligned} \partial_{H,2}(z \otimes f) &= \sum_{q \in \text{supp}(\partial_2 z)} q \otimes \varphi(z, q)f, \\ \partial_{H,1}(q \otimes f) &= \sum_{x \in \text{supp}(\partial_1 q)} x \otimes \varphi(q, x)f. \end{aligned} \qquad (18) $$

*Proof.* Equation (18) is a particular case of Equation 6 of [HHO21]. They are merely a rewriting of the boundary maps given in Equations (15) and (16). $\square$

## 3.6 Relation to balanced product codes

In this section, we show how the lift is related to a certain balanced product operation, drawing a parallel with the construction in [BE21a]. This is inspired by the algebraic approach to local systems of coefficients [DK01, Hat02], which already found applications in linear coding [Mes18]. Usually, one defines a local coefficient system over the cellular chain complex of a space $K$, with the help of a covering map. Here, we slightly revisit the procedure to define an analogue over an input code $C := C_2 \xrightarrow{\partial_2} C_1 \xrightarrow{\partial_1} C_0$. Contrary to Section 3.5, this formulation is not restricted to the case of normal covering maps. In this section, we denote $\pi_1 := \pi_1(K)$.

The Tanner cone-complex $\mathcal{K} := \mathcal{K}(C)$ is a path connected space and has a universal cover, $p : \tilde{\mathcal{K}} \to \mathcal{K}$ which coincides with the quotient map $\tilde{\mathcal{K}} \to \pi_1 \setminus \tilde{\mathcal{K}}$, where $\pi_1$ acts on the left by deck transformation. This complex is related to a specific code.

**Definition 3.18.** Consider the CSS code $C := \mathbb{F}_2 Z \xrightarrow{\partial_2} \mathbb{F}_2 Q \xrightarrow{\partial_1} \mathbb{F}_2 X$, with $\mathcal{K} := \mathcal{K}(C)$ having universal cover $p : \tilde{\mathcal{K}} \to \pi_1 \setminus \tilde{\mathcal{K}}$. We call the *universal lift* of $C$, the chain complex $\tilde{\mathcal{C}} := \mathbb{F}_2 \tilde{Z} \xrightarrow{\partial_2} \mathbb{F}_2 \tilde{Q} \xrightarrow{\partial_1} \mathbb{F}_2 \tilde{X}$, such that $\tilde{\mathcal{K}} = \mathcal{K}(\tilde{\mathcal{C}})$, $\tilde{\mathcal{X}} = p^{-1}(X)$, $\tilde{\mathcal{Z}} = p^{-1}(Z)$ and $\tilde{\mathcal{Q}} = p^{-1}(Q)$.

Notice that we are careful not to call $\tilde{\mathcal{C}}$ a code, unless each of its spaces has finite dimension. For the Toric code, the universal lift is the cellular chain complex of a cellulation of $\mathbb{R}^2$ by finite-size squares.

**Proposition 3.19.** For a CSS code $C$, its universal lift $\tilde{\mathcal{C}}$ is a chain complex of left $\mathbb{F}_2[\pi_1]$-modules.

*Proof.* From the theory of covering map, the free transitive left action of $\pi_1$ on $\tilde{\mathcal{K}}$ induces a similar action of $\pi_1$ on the $\mathbb{F}_2$-cellular chain complex of $\tilde{\mathcal{K}}$ (seen as a 2D simplicial complex), $\tilde{S} := S(\tilde{\mathcal{K}}, \mathbb{F}_2)$, endowing it with the structure of a module over the group algebra $\mathbb{F}_2[\pi_1]$. The boundary maps of $\tilde{S}$, noted $\tilde{d}_{0 \le i \le 2}$, and its coboundary maps $\tilde{d}^{0 \le i \le 2}$, become $\mathbb{F}_2[\pi_1]$-module homomorphisms. This action of $\pi_1$ on $\tilde{S}$, in turn, induces an action of $\pi_1$ on each vector space $\tilde{C}_{0 \le i \le 2}$, defined by restricting the action of $\pi_1$ to the vertices of $\tilde{S}_0$, interpreted as abstract cells of $\tilde{C}$. This makes each space $\tilde{C}_{0 \le i \le 2}$ into a $\mathbb{F}_2[\pi_1]$-module. The boundary maps $\tilde{\partial}_i : \tilde{C}_i \to \tilde{C}_{i-1}$ are moreover $\mathbb{F}_2[\pi_1]$-module homomorphisms. Indeed, they can be constructed from the boundary maps of $\tilde{S}$ in the following way. For $r \in \mathbb{F}_2[\pi_1]$ and $z \in \tilde{Z}$, we can interpret the cell $rz$ both as a cell of $\tilde{S}$ or one of $\tilde{C}_2$. Then the map $\tilde{\partial}_2$ satisfies $\tilde{\partial}_2(rz) = (\tilde{d}_1 \tilde{d}^0 rz)|_Q = (r \tilde{d}_1 \tilde{d}^0 z)|_Q$ where $|_Q$ is the restriction map to the vertices representing cells (qubits) of $\tilde{C}_1$, which is also a $\mathbb{F}_2[\pi_1]$-module homomorphism. Therefore $\tilde{\partial}_2(rz) = r \tilde{\partial}_2 z$, making it a module homomorphism. The boundary map defined on basis vector by $\tilde{\partial}_1 q = (\tilde{d}_1 \tilde{d}^0 q)|_X$ has the same property. The coboundary maps of $\tilde{C}$ can be obtained similarly. $\square$

Let $A$ be a discrete Abelian group over which the group $\pi_1$ acts on the left via a homomorphism $\rho : \pi_1 \to \text{Aut}(A)$. This endows $A$ with the structure of a left $\mathbb{Z}[\pi_1]$-module. Applying the tensor product with $\mathbb{F}_2$, seen as a $\mathbb{Z}$-module, yield a $\mathbb{F}_2[\pi_1]$-module, noted $A_\rho$. For a cell complex $K$, a local coefficient system on $S := S(K, \mathbb{F}_2)$ is defined as a complex of modules and morphisms $\tilde{S} \otimes_{\mathbb{F}_2[\pi_1]} A_\rho := (\tilde{S}_\bullet \otimes_{\mathbb{F}_2[\pi_1]} A_\rho, \tilde{d}_\bullet \otimes \mathbb{1})$. The tensor product $\otimes_{\mathbb{F}_2[\pi_1]}$ of a left and a right $\mathbb{F}_2[\pi_1]$-module has the effect of operating a change of ring. We now replace $K$ with $\mathcal{K}(C)$, and consider a similar construction for the lifts of $C$ giving them a balanced product formulation.
**Proposition 3.20.** Let $C$ be a CSS code with Tanner cone-complex $\mathcal{K}$, $H$ be a subgroup of $\pi_1$ and $\Gamma = \pi_1/H$, the left cosets. Then we have an isomorphism of chain complexes,

$$ C_H \cong \tilde{C} \otimes_{\mathbb{F}_2[\pi_1]} \mathbb{F}_2[\Gamma]. \qquad (19) $$

*Proof.* We keep the notation as in the proof of Proposition 3.19.

In the description of local systems, we take $A = \mathbb{F}_2[\Gamma]$. This is an Abelian group, although $H$ is not necessarily a normal subgroup (in that case it corresponds to formal sums of coset elements). The ring $A$ can be endowed with the structure of a left $\mathbb{F}_2[\pi_1]$-module, with the natural action of the fundamental group on the coset space. From the Galois correspondence $H$ is associated to a covering space $p: \mathcal{K}_H \to \mathcal{K}$ and $H = p_*\pi_1(\mathcal{K}_H)$. For the present choice of $A$, it can be shown that $\tilde{S} \otimes_{\mathbb{F}_2[\pi_1]} A_\rho \cong S(\mathcal{K}_H, \mathbb{F}_2)$ (see [Hat02], Chapter 3.H).

Moreover, the left modules $\tilde{C}_{0 \le i \le 2}$ can be seen as right modules with the action $\sigma.g := g^{-1}\sigma$ on abstract chains $\sigma$. Therefore, the space $\tilde{C}_i \otimes_{\mathbb{F}_2[\pi_1]} A_\rho$ is well-defined and can be both seen as a $\mathbb{F}_2[\pi_1]$-module and a $\mathbb{F}_2[\Gamma]$-module.

Each module of $\tilde{S} \otimes_{\mathbb{F}_2[\pi_1]} A_\rho$, and in particular the $S_0(\mathcal{K}_H, \mathbb{F}_2)$ has a direct sum decomposition in terms of fibers $p^{-1}(v)$ of the covering map. As shown in the proof of Proposition 3.19, $\tilde{C}_i$ is constructed from $\tilde{S}_0$ by interpreting the cells of $\tilde{S}_0$ as abstract cells of $\tilde{C}_i$, i.e. each fiber $p^{-1}(v)$, where $v \in C_i$ is given a unique type $(Z, Q$ or $X)$, depending on the type of $v$. Therefore, we can also reconstruct each space $\tilde{C}_i \otimes_{\mathbb{F}_2[\pi_1]} A_\rho$ by the span of the cells in $p^{-1}(v)$, for $v$ interpreted as cells of $C_i$, making it a subspace of $\tilde{S}_0 \otimes_{\mathbb{F}_2[\pi_1]} A_\rho$ stable under the action of $\mathbb{F}_2[\pi_1]$. Then we form the chain complex $(\tilde{C}_\bullet \otimes_{\mathbb{F}_2[\pi_1]} A_\rho, \tilde{\partial}_\bullet \otimes \mathbb{1})$ by defining the boundary maps as in the proof of Proposition 3.19, i.e. $\tilde{\partial}_2 z = (\tilde{d}_1 \tilde{d}^0 z)|_Q$ and $\tilde{\partial}_1 q = (\tilde{d}_1 \tilde{d}^0 q)|_X$, which are also $\mathbb{F}_2[\pi_1]$-module homomorphism. Therefore, tensoring $\tilde{\partial}_i$ with the identity map on $A_\rho$ yields a unique $\mathbb{F}_2[\Gamma]$-module homomorphism. $\square$

The cochain groups and maps can be defined by considering the dual spaces $\text{Hom}_{\mathbb{F}_2[\pi_1]}(\tilde{C}_i, A_\rho)$, the set of module homomorphisms from $\tilde{C}$ to $A$.

**Remark 3.21.** Because the cellular chain complex $C_H$ is a right $\mathbb{F}_2[\Gamma]$-module, there is also a trivial balanced product relation, $C_H \otimes_{\mathbb{F}_2[\Gamma]} \mathbb{F}_2 = C$, corresponding to the space of coinvariants under the action of $\Gamma$, see [BE21a] Section IV.C.

# 4 Application to product codes

In this section, we analyze our construction for specific instances of input quantum CSS codes: hypergraph product codes. Then we present how the lift can be used as a first step to generate balanced product of quantum CSS codes.

## 4.1 Classification of lifts of HPC

Let $C$ be an HPC constructed from two classical codes $C_1$ and $C_2$. These codes can be represented by their Tanner graphs $T_1$ and $T_2$, which have free groups for fundamental group. Our first objective is to classify and analyze the codes that can obtained by lifts of HPC. The two main results of this section are Proposition 4.1 and 4.6. Proofs which do not appear in the present section are gathered in Appendix B. Here, the lower indices in $C_i$ do not point to the degree in the chain complex, but to a linear code labeled by $i$.

Given a Cartesian product of two groups $G = G_1 \times G_2$, Goursat quintuples are sets of the form $\{G_{11}, G_{12}, G_{21}, G_{22}, \psi\}$, where $G_{i2} \subseteq G_{i1} \le G_i$ for $i = 1, 2$, and $\psi: G_{11}/G_{12} \to G_{21}/G_{22}$ is an isomorphism. They serve to classify subgroups of $G$, as described later.

**Proposition 4.1.** Let $C = C_1 \otimes C_2^*$ be an HPC with $C_1$ and $C_2$ linear codes represented by their Tanner graphs $T_1$ and $T_2$. Lifts of $C$ can be classified by the set of Goursat quintuples $\{G_{11}, G_{12}, G_{21}, G_{22}, \psi\}$ corresponding to finite index subgroups of $\pi_1(T_1) \times \pi_1(T_2)$, where $G_{12} \subseteq G_{11} \le \pi_1(T_1)$, $G_{22} \subseteq G_{21} \le \pi_1(T_2)$, and $\psi: G_{11}/G_{12} \to G_{21}/G_{22}$ is an isomorphism.

The consequence of this proposition is the following. Given an HPC $C$ as above, with $\mathcal{K} := \mathcal{K}(C)$, and a covering map $p: \mathcal{K}_H \to \mathcal{K}$, associated to a subgroup $H \le \pi_1(\mathcal{K})$, suppose $H$ cannot be decomposed as a Cartesian product of subgroups of the factors $\pi_1(T_1)$ and $\pi_1(T_2)$. Then it is clear that $\mathcal{K}_H$ cannot either be decomposed as a Cartesian product of two spaces, since $\pi_1(T_i)$ is a free group. We can associate a certain lifted code to each of these non-product subgroups. Although this result was essentially obtained in
[PK22a], we show how to do this lift in the language of covering maps. This section hence establishes that our general notion of lift, Definition 3.11, agrees with the lifted product construction. All statements of this section related to fundamental group, covering spaces and group of deck transformations can be found in [Hat02].

We first clarify how the Tanner cone complex of $C$ is related to the product of the Tanner graphs $\mathcal{T}_1$ and $\mathcal{T}_2$.

**Lemma 4.2.** *The Tanner cone-complex $\mathcal{K}$ of $C = C_1 \otimes C_2^*$ has $\pi_1(\mathcal{K}) \cong \pi_1(\mathcal{T}_1) \times \pi_1(\mathcal{T}_2)$.*

*Proof.* The Tanner cone-complex of $C$ is obtained from the 2D complex $P := \mathcal{T}_1 \times \mathcal{T}_2$ by dividing every square faces into 2 triangular cells by an edge connecting the $X$ and $Z$ vertices at the corner of the faces. $\square$

The last theorem that we need to state before proving Proposition 4.1 is Goursat Lemma [Gou89, AC09].

**Lemma 4.3 (Goursat).** Let $G_1$ and $G_2$ be groups. There is a one-to-one correspondence between subgroups $\{H\}$ of $G_1 \times G_2$ and quintuples $\{G_{11}, G_{12}, G_{21}, G_{22}, \psi\}$, where each $G_{i2} \subseteq G_{i1} \subseteq G_i$, and $\psi: G_{11}/G_{12} \to G_{21}/G_{22}$ is an isomorphism. It is given by $H = \{(g_1, g_2) \in G_{11} \times G_{21} | \psi(g_1G_{12}) = g_2G_{22}\}$.

Moreover, $H$ is a normal subgroup iff $G_{i1}, G_{i2}$ are normal in $G_i$ and $G_{i1}/G_{i2} \le Z(G_i/G_{i2})$, the center of $G_i/G_{i2}$.

*Proof.* For the full proof of this correspondence, see [AC09] Theorem 4, or [BSZ11] Section 2. Here we only outline the main steps leading to the definition of the bijection.

Let $H$ be a subgroup of $G_1 \times G_2$. Define

$$G_{11} = \{g_1 \in G_1 | \exists g_2 \in G_2, (g_1, g_2) \in H\}, \quad (20)$$

$$G_{12} = \{g_1 \in G_1 | (g_1, e) \in H\}, \quad (21)$$

and write $G_{21}$ and $G_{22}$ similarly; they satisfy $G_{i2} \subseteq G_{i1}$. It can be proved that $\psi: G_{11}/G_{12} \to G_{21}/G_{22}$, defined by $\psi(g_1G_{12}) = g_2G_{22}$ for $(g_1, g_2) \in H$, is an isomorphism. Therefore, we obtain a map sending $H$ to the quintuple $\{G_{11}, G_{12}, G_{21}, G_{22}, \psi\}$. Conversely, given the quintuple $\{G_{11}, G_{12}, G_{21}, G_{22}, \psi\}$, we can check that $H$ is a subgroup of $G_{11} \times G_{21}$ and therefore of $G_1 \times G_2$. The correspondence is established by noticing that the two constructions are inverse of each other. $\square$

We are now ready for the proof of Proposition 4.1.

*Proof of Theorem 4.1.* Let $\mathcal{K} := \mathcal{K}(C)$ be the Tanner cone-complex of $C = C_1 \otimes C_2^*$, and $G_i = \pi_1(\mathcal{T}_i)$. Then we know by Lemma 4.2 that $\pi_1(\mathcal{K}) \cong \pi_1(\mathcal{T}_1) \times \pi_1(\mathcal{T}_2)$. By the Galois correspondence, connected covering of $\mathcal{K}$ are classified by subgroups of the fundamental group, which by Goursat Lemma 4.3 are classified by Goursat quintuples. Therefore, Goursat quintuples on $\pi_1(\mathcal{T}_1) \times \pi_1(\mathcal{T}_2)$ yield a complete classification. $\square$

The difficulty is to find families of codes related to these non product subgroups. In the following, we attempt to characterize and construct these subgroups. In our case, Goursat Lemma is applied for $G_1$ and $G_2$ free groups and therefore infinite. The next lemma implies that we can restrict our attention to the set of finite index subgroups and normal subgroups of free groups.

**Lemma 4.4.** Let $H$ be a subgroup of $G_1 \times G_2$ corresponding to the quintuple $\{G_{11}, G_{12}, G_{21}, G_{22}, \psi\}$. Then $[G_1 \times G_2 : H] = [G_1 : G_{11}] \cdot [G_2 : G_{22}] = [G_1 : G_{12}] \cdot [G_2 : G_{21}]$.

This is a classical result for finite groups, but as far the author knows, there is no standard reference treating the case of infinite groups. We therefore provide a proof in Appendix B.

From now on, we do not need the graphs to be bipartite for results to hold, unless it is clear from context that they should be interpreted as Tanner graphs of some linear codes. We explain a method to produce Goursat quintuples corresponding to finite index subgroups of $G_1 \times G_2$, with $G_i := \pi_1(T_i)$ and arbitrary finite graphs $T_i$, for $i = 1, 2$. Let $p_{11} : T_{11} \to T_1$ and $p_{21} : T_{21} \to T_2$ be two connected covering maps obtained from right derived graphs, generated by permutation voltage or (finite) group voltage. Therefore, $p_1$ and $p_2$ do not need to be regular, but they are finite $d_1$ and $d_2$ covers. Let $\Gamma$ be a finite group of order $d$ and $\nu_i : E^*(T_{i1}) \to \Gamma$ for $i = 1, 2$, be two voltage assignments. We note $T_{i2} := D(T_{i1}, \nu_i)$ the right $\Gamma$-lift of $T_{i1}$. The relations between these objects are summarized in the following diagram,

$$ \begin{tikzcd} T_{12} \arrow[r] \arrow[d, "p_{12}"] & T_{12} \times T_{22} \arrow[r, "\eta"] \arrow[d, "p_{22}"] & T_{22} \arrow[d] \\ T_{11} \arrow[r, "p_{11}", "(T_1 \times T_2)_H"] & T_1 \times T_2 \arrow[r, "p_H"] & T_2. \arrow[d] \end{tikzcd} \quad (22) $$
The next proposition indicates that Goursat quintuples of finite index subgroups can be obtained from the constituents of Equation (22).

**Lemma 4.5.** Let $p_{i1}: T_{i1} \to T_i$ and $p_{i2}: T_{i2} \to T_{i1}$, for $i=1,2$, be degree $d_i$ connected cover constructed as in Equation (22).

1. Then, the quintuple $\{G_{11}, G_{12}, G_{21}, G_{22}, \psi\}$, with $G_{i1} = p_{i1} * \pi_1(T_{i1})$, $G_{i2} = p_{i1} * p_{i2} * \pi_1(T_{i2})$, and $\psi: G_{11}/G_{12} \to G_{21}/G_{22}$ a choice of isomorphism, is a Goursat quintuple associated to a finite index subgroup $H$ of $\pi_1(T_1) \times \pi_1(T_2)$ of index $d_1|\Gamma| \cdot d_2$.

2. Moreover, every Goursat quintuple can be obtained in this way.

3. If $H$ is normal, then $p_{i1}$ and $p_{i1} \circ p_{i2}$ are normal covers and $p_{i2}$ is an Abelian cover, for $i=1,2$.

While this statement appears direct, we still detail a proof, later in this section, using induced maps on fundamental groups. The aim is to better understand the correspondence between the geometrical object, the Goursat quintuple and lifts of graphs, which are central to prove other statements.

Note that it is straightforward to obtain a non-trivial Goursat quintuple with this method, i.e. one which is not a product of subgroups. It suffices to take $\Gamma$ a non-trivial finite group, so that $p_{i1} * p_{i2} * \pi_1(T_{i2})$ is a proper subgroup of $p_{i1} * \pi_1(T_{i1})$.

We now make a parallel between our approach and the lifted product construction of Panteleev and Kalachev [PK22a].

**Proposition 4.6.** Consider the subgroup $H$ associated to the quintuple $\{G_1, G_2, G_{21}, G_{22}, \psi\}$. Let $\Xi := \pi_1/H$ and let $p_{i1}: T_{i1} \to T_i$ and $p_{i2}: T_{i2} \to \Gamma \setminus T_{i2} = T_{i1}$, for $i=1,2$, be connected cover constructed as above.

1. The $H$-cover of the product complex $T_1 \times T_2$ is normal iff $\Gamma$ is Abelian.

2. The lifted code $C^\Xi := (C_1 \otimes C_2^*)^\Xi$, with $T_i := \mathcal{T}(C_i)$ for $i=1,2$, is equal to the product code $C := C_1^\Gamma \otimes \Gamma C_2^*$ obtained by lifting the classical codes according to $p_{i2}$.

The first claim of Lemma 4.6 is in accordance with a Remark 6 in [PK22a]. In order to prove the results, we need to characterize more precisely the covering associated to a given Goursat quintuple.

**Lemma 4.7.** Let $H$ be the subgroup of $\pi_1 := \pi_1(T_1) \times \pi_1(T_2)$ associated to the quintuple $\{G_{11}, G_{12}, G_{21}, G_{22}, \psi\}$ constructed as in Lemma 4.5, where we identify directly $\Gamma = G_{11}/G_{12}$. Let $D$ be the set defined as follows $D := \{(\gamma, \psi(\gamma)), \gamma \in \Gamma\}$. Then $D$ is a multiplicative group and $\eta: T_{12} \times T_{22} \to (T_1 \times T_2)_H$ is a covering map with $\text{Deck}(\eta) \cong D$.

In other terms, Proposition 4.7 asserts the existence of a free transitive $D$-action on $T_{12} \times T_{22}$ and that $(T_1 \times T_2)_H \cong D \setminus T_{12} \times T_{22}$. The action of $D$ is equivalent to a diagonal action of $\Gamma$ on each factor $(\gamma, \psi(\gamma))((c_1, \gamma_1), (c_2, \gamma_2)) = ((c_1, \gamma\gamma_1), (c_2, \psi(\gamma)\gamma_2))$, where the first coordinate represents the $\Gamma$-lift of a cell $c_1 \in T_{11}$ and the second coordinate represents the $\Gamma$-lift of a cell $c_2 \in T_{12}$.

Furthermore, let us consider the following application, $R: \pi_1/G_{12} \times G_{22} \to \pi_1/H$, which as kernel $\ker(R) = D$. Supposing $H$ is normal in $\pi_1$, $R$ is an epimorphism<fnref n="16" /> and by the first isomorphism theorem,

$$ (\pi_1/G_{12} \times G_{22})/D \cong \pi_1/H. $$

This provides a practical way to assign coordinates for the construction of $(T_1 \times T_2)_H$. Let $c_i$ be a cell in $T_i$. Then a cell in $(T_1 \times T_2)_H$ can be given by $((c_1, c_2), D(g_1G_{12}, g_2G_{22}))$, where $g_i \in G_i$.

Our last corollary is a simple application of Proposition 4.6.

**Corollary 4.8.** There exists a code $C$ (an HPC), and an indexed family $\{C_n\}_{n \in \mathbb{N}}$ of LDPC codes with parameters $[[n, \Theta(n), \Theta(n)]]$ generated by the lift operations (covering maps) on the Tanner cone-complex $K(C)$.

The proof simply consists in translating the constituent of a lifted code in [PK22a] into the present language of covering maps over Tanner graphs.

The procedure to obtain the boundary maps in the approach of Section 3.4 requires fixing a spanning tree in the Tanner cone-complex of $C = C_1 \otimes C_2^*$. For completeness, we end this section by showing how to find an explicit spanning tree of a Cartesian product of graph by using the product structure.

<footnote n="16">¹⁶Surjective homomorphism.</footnote>
We can proceed as follows. Let $S_i = (V_i, E_i)$ be a spanning tree of $T_{i2}$, $i = 1, 2$ ($E_i$ is a subset of edges in $T_{i2}$ and $V_i$ contains all the vertices). We consider the 1-skeleton of the Cartesian product $(S_1 \times S_2)^1 = (V = V_1 \times V_2, E = E_1 \times V_2 \cup V_1 \times E_2)$. Then the following graph $T$ is a spanning tree of the Cartesian product $T_{i1} \times T_{i2}$,

$$T = (S_1 \times S_2)^1 - (V_1 \times E_2 - v_1 \times E),$$

with $v_1$ an arbitrary choice of vertex in $V_1$.

## 4.2 Balanced product of quantum CSS codes

The algebraic complex defined by the balanced product of chain complexes was identified in [BE21a] to be of major importance in the theory of quantum codes. The lifted product of [PK22b, PK22a] is in fact a particular case of balanced product complex. One difficulty addressed in this work, was the development of a systematic way of generating abstract 3-term chain complexes with a left or a right group action, which is a necessary ingredient to apply the balanced product to quantum codes.

Let $C$ and $D$ be two quantum CSS codes with Tanner cone-complex $K_1 := K(C)$ and $K_2 := K(D)$. Let $p_1 : K_{H_1} \to K_1$ and $p_2 : K_{H_2} \to K_2$ be normal covering maps such that $\pi_1(K_1)/H_1 \cong \pi_1(K_2)/H_2$. The associated codes, which satisfy $K_{H_1} = K(C^\Gamma)$ and $K_{H_2} = K(D^\Gamma)$, inherit the left action of the group of deck transformations, which is isomorphic for the two codes, $\text{Deck}(p_i) = \Gamma$. The action of $\text{Deck}(p_i)$ is properly discontinuous, and the covering are respectively equivalent to $\text{Deck}(p_i) \setminus K_{H_i} \cong K_i$. We can also define a right group action of the group of deck transformations by multiplying on the left by the inverse of a group element, or equivalently by the action of the opposite group $\Gamma^{\text{op}}$.

The new codes are the chain complexes over $\mathbb{F}_2$, $C^\Gamma = C_2^\Gamma \xrightarrow{\partial_2^C} C_1^\Gamma \xrightarrow{\partial_1^C} C_0^\Gamma$ and $D^\Gamma = D_2^\Gamma \xrightarrow{\partial_2^D} D_1^\Gamma \xrightarrow{\partial_1^D} D_0^\Gamma$. We can construct several new complexes out of these two chain complexes by considering them respectively as right and left $\Gamma$-modules, following Section 3.5.

**Definition 4.9.** The balanced product of quantum CSS codes is defined as the total complex of the tensor product double complex,

$$\mathcal{D}_{\bullet\bullet} := C_{\bullet\bullet}^{\Gamma} \otimes_{\Gamma} D_{\bullet\bullet}^{\Gamma}. \qquad (23)$$

That is, it is the complex $\mathcal{D} := C^\Gamma \otimes_\Gamma D^\Gamma$, with spaces indexed as $\mathcal{D}_n = \bigoplus_{i+j=n} C_i^\Gamma \otimes_\Gamma D_j^\Gamma$.

We can extract the 3-term complex $\mathcal{D}_3 \xrightarrow{\partial_3^D} \mathcal{D}_2 \xrightarrow{\partial_2^D} \mathcal{D}_1$, for which the constituent vector spaces are

$$\mathcal{D}_1 = (C_0^\Gamma \otimes_\Gamma D_1^\Gamma) \oplus (C_1^\Gamma \otimes_\Gamma D_0^\Gamma), \qquad (24)$$

$$\mathcal{D}_2 = (C_2^\Gamma \otimes_\Gamma D_0^\Gamma) \oplus (C_1^\Gamma \otimes_\Gamma D_1^\Gamma) \oplus (C_0^\Gamma \otimes_\Gamma D_2^\Gamma), \qquad (25)$$

$$\mathcal{D}_3 = (C_2^\Gamma \otimes_\Gamma D_1^\Gamma) \oplus (C_1^\Gamma \otimes_\Gamma D_2^\Gamma). \qquad (26)$$

The boundary maps are defined on an element $x \otimes y \in C_i^\Gamma \otimes_\Gamma D_j^\Gamma$ by $\partial_{i+j}^D(x \otimes y) = \partial_i^C x \otimes y + x \otimes \partial_j^D y$ and extended by linearity over chains of $\mathcal{D}_{i+j}$.

**Example 4.10.** The easiest variant of this construction involves $C = D$, $H_1 = H_2$. More precisely we consider the product of a right $G$-lift of $C$ and its dual $C^{\Gamma*}$, which inherits a right linear action of the group of deck transformations, $\mathcal{D} := C^\Gamma \otimes_\Gamma C^{\Gamma*}$.

**Remark 4.11.** The balanced product of quantum CSS codes can be obtained from the left-right complex

$$P := K_{H_1} \times_\Gamma K_{H_2} = K_{H_1} \times K_{H_2} / ((x_1, \gamma^{-1}g_1), (x_2, g_2)) \sim ((x_1, g_1), (x_2, \gamma g_2), \gamma \in \Gamma).$$

for which we must give an interpretation to the sets of vertices as $X$-checks, qubits and $Z$-checks.

# 5 New constructions and lifts

## 5.1 General method

In this section and the next, we introduce non-topological and non-product CSS code constructions which can be lifted into codes with improved parameters. We first explain the general procedure to produce them and, subsequently, we detail explicit examples and compute numerically parameters of some moderate-length lifted codes.
For any group $G$, there exists at least one space which has $G$ for fundamental group [Hat02]. When given a presentation $G = \langle S|R \rangle$, a possible construction of such space, called the *presentation complex*$^{17}$ associated to this presentation, goes as follows.

**Lemma 5.1** ([Hat02], Corollary 1.28.). For every group given with a presentation $G = \langle S|R \rangle$, there exists a 2-dimensional cell complex $M_G$, the presentation complex, having 1 vertex, $|S|$ edges and $|R|$ 2-cells, with $\pi_1(M_G) = G$.

*Proof*. Choose a presentation of $G$, $\langle S|R \rangle$ with $g_i \in S$ and $r_j \in R$. This is the quotient of a free group $F_{|S|}$ on the generators of $S$ by the normal closure of the group generated by $R$. The relations of $R$ are the generators of the kernel of the map $F_{|S|} \to G$. Now construct $M_G$ from a wedge of circles $\vee_i S_i^1$, by attaching one 2-cell, labeled $f_j^2$, along the loops specified by the word $r_j$. $\square$

According to the construction given in the proof, if we suppose $G$ finitely presented, i.e. $G$ admits a presentation $\langle S|R \rangle$ with $S$ and $R$ finite sets, then the associated presentation complex is a finite CW complex. Conversely, if the presentation isn't finite, then the associated complex will have an infinite number of cells. Therefore, we focus on groups which are finitely presented.

Homotopy equivalent complexes can also be obtained easily. For example, by taking any other graph with fundamental group $F_{|S|}$, one can add iteratively 2-cells in such a way that relations are added to the fundamental group until it is equal to $\langle S|R \rangle$. Alternatively, it is possible to refine the cellulation of the initial presentation complex of $G$, in order to make it a regular CW complex. In each case, we can regard the obtained cellular chain complex $\mathbb{F}_2F \xrightarrow{\partial_2} \mathbb{F}_2E \xrightarrow{\partial_1} \mathbb{F}_2V$ as a quantum CSS code, in which the qubits are represented by the edges.

As we will see, a particularly interesting cellulation is one with 2-cells for which the boundary is a cycle of 4 edges. We call such a cellulation of $M_G$ a *square cellulation* $M_G^{\square}$, and we denote its 1-skeleton $M_G^{\square,1}$. When an instance $M_G^{\square}$ is given, it is sometimes possible to make it finer and define a new *abstract quantum code* over that complex. By abstract, we mean a quantum code in which qubits and checks are not indexed by the dimension of cells$^{18}$. In this work, the codes are said to be of E or V-type, depending on whether qubits are placed on the edges or the vertices. An E-type code simply refers to a topological code, i.e. a code equivalent to the $\mathbb{F}_2$-cellular chain complex of a regular 2-dimensional CW complex $M$. But our intention is to present explicit and non-trivial V-type codes, which are not equivalent to any topological code over a 2D complex.

**Lemma 5.2.** There exists an infinite set of group presentations $\{G_i\}$, with $G_i$ admitting a presentation complex $M_{G_i}$ which can be refined into a square cellulation $M_{G_i}^{\square}$ and an assignment of checks and qubits to the vertices of $M_{G_i}^{\square}$, such that the associated V-type code is not equal to any E-type code over a cellulation of $M_{G_i}$. Moreover, the Tanner cone-complex of this code is homeomorphic to $M_{G_i}^{\square}$.

More precisely, the Tanner cone-complex of this code is simply obtained from $M_G^{\square}$ by subdividing each square 2-cell into 2 triangular cells in the right way, rendering the new complex simplicial.

The difficulty to construct such code lies in the fact that the V-type code should not be equal to any E-type code over $M_G$. It is indeed always possible to find a square cellulation of a presentation complex and an assignment of checks and qubits to subsets of vertices, producing a valid CSS code. However, in most cases, the constructed quantum code is equal to an E-type code. The proof of Lemma 5.2 consists of presenting specific groups for which the conditions are satisfied. For each of our case study, we first present these groups, labeled $L$, $R$ and $J$, from which we describe the presentation complex. We then define the codes EL, ER, EJ and VL, VR, VJ, and some specific instances of lift, obtained by covering of their Tanner cone-complex.

To compute subgroups and quotient groups, we use the GAP package LINS [GAP24]. To compute an upper bound on the distances $d_X$ and $d_Z$, we use the GAP package QDistRnd [PSK22], which operates with a probabilistic method based on information sets.

The criteria that we select to compare the performance of our codes is the quantity $\frac{kd^2}{n}$. For an HPC, it behaves asymptotically as $\Theta(n)$ when $k = \Theta(n)$ and $d = \Theta(\sqrt{n})$, while for a good code, it increases as $\Theta(n^2)$. For the rotated planar code [BMD07], which is among the most considered codes for practical implementation, it is constant, with $k = 1$ and $d^2/n = 2$.

<footnote n="17">¹⁷This complex is also related to the Cayley complex of $G$. Let $M_G$ be the complex associated to a presentation $G = \langle S|R \rangle$. Then $M_G = \text{Cay}^2(G, S)/G$, where $\text{Cay}^2(G, S)$ is the Cayley complex for this presentation. Moreover, $p: \text{Cay}^2(G, S) \to M_G$ is a covering map, and $\text{Cay}^2(G, S)$ is the universal cover of $M_G$. See [Hat02], Section 1.3.</footnote>

<footnote n="18">¹⁸There is always the FH-construction [FH21] which gives as 11-dimensional realization of a code into a manifold cellulation.</footnote>
<figure><img src="image_4.png" /><figcaption>FIG. 3: Presentation complex of $M_{2,3}$.</figcaption></figure>

<figure><img src="image_5.png" /><figcaption>FIG. 4: Square cellulation $M_{2,3}^{\square}$ corresponding to EL(2, 3, 1). Qubits are on the edges, while X-checks on the vertices and Z-checks on the faces. Non-labeled cells can be inferred from the others. Red edges represent the support of a minimal weight logical X-operator, while blue edges represent the support of a minimal weight logical Z-operator.</figcaption></figure>

## 5.2 Example 1: one-relator group

### 5.2.1 E-type code

In this section, we consider a one-relator group given with presentation

$$L(a, b) := \langle x, y \mid x^a = y^b \rangle,$$

for $a, b \ge 2$. The associated presentation complex, labeled $M_{a,b}$, is displayed in Figure 3 for $a = 2$ and $b = 3$. To be precise, instead of starting from the presentation complex (built from a bouquet of 2 circles) we use a complex where 2 circles are linked by an edge. This modification being minor, we still refer to it as the presentation complex.

This construction is discussed in Examples 1.24 and 1.35 of [Hat02]. Among its properties, we only mention that, when $a, b$ are coprime, $M_{a,b}$ is a deformation retract of the complement of the $(a, b)$-torus knot in $S^3$, and when $a, b$ are not coprime, $M_{a,b}$ cannot be embedded in $\mathbb{R}^3$.

We specify a regular cellulation of this topological space for each choice of $a, b$ and consider the code defined by its cellular chain complex.

**Definition 5.3.** Let $2 \le a \le b$ be integers, $g = \gcd(a, b)$, and $r \ge 1$ be an integer. We define the code EL$(a, b, r)$ to be the cellular chain complex of the minimal cellulation $M_{a,b}^{\square}$ with $r$ rows of $ab/g$ square faces if $g \ne a$, and $2b$ faces if $g = a$ (see Figure 4 for $r = 1$). The corresponding chain complex is
$$ \mathrm{EL}(a, b, r) := \mathbb{F}_2^{m_z} \xrightarrow{\partial_2=H_Z^T} \mathbb{F}_2^n \xrightarrow{\partial_1=H_X} \mathbb{F}_2^{m_x}, \text{ such that, if } g \ne a: $$

$$ \bullet \ n = rab/g + (r-1)ab/g + a/g + b/g, $$

$$ \bullet \ m_X = (r-1)ab/g + a/g + b/g, $$

$$ \bullet \ m_Z = rab/g. $$

If $g = a$:

$$ \bullet \ n = 2 + 2b/g + 2rb + 2(r-1)b, $$

$$ \bullet \ m_X = 2 + 2b/g + 2(r-1)b, $$

$$ \bullet \ m_Z = 2rb. $$

In both cases:
<table><caption>Table 1: Parameters of lifted codes VL(a, b)$_H$, for multiple choices of a, b. We note $W := \max(w_X, w_Z, q_X, q_Z)$. A group written $G' \cdot G/G'$ refers to a non split extension of $G/G'$ by $G'$. Numerical results of distance correspond to upper bounds obtained using the GAP package QDistRnd [PSK22].</caption><thead><tr><th>a</th><th>b</th><th>W</th><th>[π<sub>1</sub>(K) : H]</th><th>π<sub>1</sub>(K)/H</th><th>[[n, k, (d<sub>X</sub>, d<sub>Z</sub>)]]</th><th>kd<sup>2</sup>/n</th></tr></thead><tbody><tr><td rowspan="4">3</td><td rowspan="4">3</td><td rowspan="4">5</td><td>1</td><td>{e}</td><td>[[10, 1, (2, 2)]]</td><td>0.4</td></tr><tr><td>12</td><td>A<sub>4</sub></td><td>[[120, 6, (6, 6)]]</td><td>1.8</td></tr><tr><td>21</td><td>Z<sub>7</sub> &times; Z<sub>3</sub></td><td>[[210, 9, (6, 6)]]</td><td>1.5</td></tr><tr><td>24</td><td>SL(2, 3)</td><td>[[240, 10, (6, 6)]]</td><td>1.5</td></tr><tr><td rowspan="3">3</td><td rowspan="3">4</td><td rowspan="3">6</td><td>1</td><td>{e}</td><td>[[19, 1, (7, 3)]]</td><td>0.5</td></tr><tr><td>36</td><td>(Z<sub>3</sub> &times; Z<sub>3</sub>) &times; Z<sub>4</sub></td><td>[[684, 17, (12, 8)]]</td><td>1.6</td></tr><tr><td>48</td><td>A<sub>4</sub> &times; Z<sub>4</sub></td><td>[[912, 22, (12, 8)]]</td><td>1.5</td></tr><tr><td rowspan="5">6</td><td rowspan="5">6</td><td rowspan="5">8</td><td>1</td><td>{e}</td><td>[[16, 2, (2, 2)]]</td><td>0.5</td></tr><tr><td>8</td><td>Q<sub>8</sub></td><td>[[128, 2, (8, 8)]]</td><td>1</td></tr><tr><td>12</td><td>Z<sub>3</sub> &times; Z<sub>4</sub></td><td>[[192, 2, (12, 10)]]</td><td>1</td></tr><tr><td>32</td><td>Z<sub>4</sub> &times; D<sub>8</sub></td><td>[[512, 2, (16, 16)]]</td><td>1</td></tr><tr><td>40</td><td>Z<sub>5</sub> &times; Z<sub>8</sub></td><td>[[640, 2, (20, 18)]]</td><td>1</td></tr></tbody></table>

* $w_X = b + 2$,

* $w_Z = 4$,

* $q_X = 2$,

* $q_Z = b$.

In this work, as we only consider the case $r = 1$, we simply omit this parameter and note the code EL(a, b). Its presence in Definition 5.3 is merely intended to understand how cells are counted.

**Lemma 5.4.** The dimension of EL(a, b) is $k = 2$ when gcd(a, b) is even, and $k = 1$ otherwise.

*Proof.* The highest nontrivial homology group is $H_1(M_{a,b}, \mathbb{Z}) = \mathbb{Z} \oplus \mathbb{Z}_g$, with $g = \gcd(a, b)$. This comes from the Hurewicz theorem, Theorem 2.5. Indeed, a presentation of the abelianization of $L(a, b)$ is $L^{Ab}(a, b) = \langle x, y | x^a = y^b, xy = yx \rangle$, which can be shown, in a few steps, to be equivalent to $\langle s, t | t^g = 1, st = ts \rangle$, by specifying $t = x^a/y^b$ and $s = x$.

The dimension $k$ corresponds to the rank of $H_1(M_{a,b}, \mathbb{F}_2)$. We compute this homology, starting from $H_1(M_{a,b}, \mathbb{Z})$. The universal coefficient theorem states the existence of the short exact sequence

$$0 \to H_1(M_{a,b}, \mathbb{Z}) \otimes_{\mathbb{Z}} \mathbb{F}_2 \to H_1(M_{a,b}, \mathbb{F}_2) \to \mathrm{Tor}_1(H_0(M_{a,b}, \mathbb{Z}), \mathbb{F}_2) \to 0.$$

The Torsion term is defined as $H_1(E \otimes_{\mathbb{Z}} \mathbb{F}_2)$, where $E_\epsilon \xrightarrow{\epsilon} H_0(M_{a,b}, \mathbb{Z})$ is a free (left) resolution of $H_0(M_{a,b}, \mathbb{Z}) = \mathbb{Z}$, the number of connected components of $M_{a,b}$. This 0-th homology group being free, the resolution can be taken to be $0 \to E_0 \xrightarrow{\epsilon} \mathbb{Z} \to 0$, with $E_0 = \mathbb{Z}$ and $\epsilon$ is an isomorphism, implying that $E \otimes_{\mathbb{Z}} \mathbb{F}_2 \cong \mathbb{F}_2$. This chain complex has only trivial maps and therefore no homology, rendering the torsion term trivial, which implies $H_1(M_{a,b}, \mathbb{Z}) \otimes_{\mathbb{Z}} \mathbb{F}_2 \cong H_1(M_{a,b}, \mathbb{F}_2)$. Tensor product being distributive over direct sum of modules, and given that for any two integers $i, j$, $\mathbb{Z}_i \otimes_{\mathbb{Z}} \mathbb{Z}_j \cong \mathbb{Z}_{\gcd(i,j)}$, we have $H_1(M_{a,b}, \mathbb{F}_2) = \mathbb{F}_2$ if $g$ odd, and $H_1(M_{a,b}, \mathbb{F}_2) = \mathbb{F}_2^2$ if $g$ even. $\square$

Let $H$ be a finite index subgroup of $L(a, b)$. We define the code EL(a, b)$_H$ as the $H$-lift of EL(a, b). Its dimension can be determined by applying Theorem 2.5, namely we start from $H_1(M_{a,b,H}, \mathbb{Z}) \cong H/[H, H]$, with $M_{a,b,H}$ the $H$-cover of $M_{a,b}$. Then, as in the proof of Lemma 5.4, the universal coefficient theorem yields $H_1(M_{a,b,H}, \mathbb{Z}) \otimes_{\mathbb{Z}} \mathbb{F}_2 \cong H_1(M_{a,b,H}, \mathbb{F}_2)$.

There isn't, to our knowledge, a specific mean of calculating the distance of a lifted code using geometric properties of the presentation complex. For that reason, we adopt a numerical approach and generate all lifts of degree 1 to 59 for $3 \le a \le b \le 7$. Table 1 gathers a selection of the lifts with the highest values of $kd^2/n$, although not exceeding 1.8. For $a = b = 6$, the set of lifts that we report has constant dimension but distance increasing with the length of the code. Most of the other lifts that we haven't mentioned here had highly unbalanced X and Z distances, leading to a poor $kd^2/n$.
<figure><img src="image_6.png" /><figcaption>FIG. 5: Square cellulation $M_{2,3}^{\square}$ corresponding to VL(2, 3, 1). Qubits are on the vertices, alternating with X-checks and Z-checks. Each vertex labeled q, x, z represents a different basis vector. Non labeled vertices can be inferred from labeled ones.</figcaption></figure>

### 5.2.2 V-type code

In this section, we modify the topological construction EL(a, b) into a new abstract CSS code, i.e. one for which checks and qubits are no longer indexed by the dimension of topological cells.

**Definition 5.5.** Let $2 \le a \le b$ be integers, $g = \gcd(a, b)$ and $r \ge 1$ be an integer. Consider a square cellulation $M_{a,b}^{\square}$ with $2r+1$ rows of 2-cells, and number of vertices $|V| = (2a + 2b + 4rab)/g$ if $g \ne a$, and $|V| = 4 + 4b/a + 8rb$ if $g = a$. We define the code VL(a, b, r) by assigning both qubits and checks to the vertices of $M_{a,b}^{\square}$ in an alternating way, as shown in Figure 5, together with the identification $\mathcal{T}(\mathrm{VL}(a, b)) = M_{a,b}^{\square,1}$. The corresponding chain complex is $\mathrm{VL}(a, b, r) := \mathbb{F}_2^{mz} \xrightarrow{H_Z^T} \mathbb{F}_2^n \xrightarrow{H_X} \mathbb{F}_2^{mx}$, such that, if $g \ne a$:

* $n = (a + b + 2rab)/g$,

* $m_X = (b + rab)/g$,

* $m_Z = (a + rab)/g$.

If $g = a$:

* $n = 2 + 2b/a + 4rb$,

* $m_X = 2b/a + 2rb$,

* $m_Z = 2 + 2rb$.

In both cases:

* $w_X = 2 + a$,

* $w_Z = 2 + b$,

* $q_X = b$,

* $q_Z = a$.

For $a=2$, respectively $b=2$, the code is topological and X-checks, respectively Z-checks, can be viewed as faces. Apart from these choices, there are, a priori, no 2D cellular chain complex isomorphic to this code, since the (co)-boundary of a qubit has a weight greater than 2.

We emphasize the existence of a code having the following duality property.

**Lemma 5.6.** For $a=b$, there is an isomorphism $\mathrm{VL}(a, a, r) \cong \mathrm{VL}^*(a, a, r)$.

*Proof.* The code has the same number of qubits, X and Z-checks. The isomorphism can be obtained by starting from VL(a, a, r), by translating all the vertex labels (q, x, and z) horizontally by one position on the grid, and reflecting them with respect to the central horizontal line (which splits the sets of qubits into two sets of equal size). The obtained code is permutation-equivalent to the dual complex. $\square$

In this work, as we only consider the case $r=1$, we simply omit this parameter and note the code VL(a, b). It is specifically designed to verify the following lemma.
<table><caption>Table 2: Parameters of lifted codes $VL(a, b)_H$, for multiple choices of $a, b$. We note $W := \max(w_X, w_Z, q_X, q_Z)$. A group written $G'/G'$ refers to a non split extension of $G/G'$ by $G'$. Numerical results of distance correspond to upper bounds obtained using the GAP package QDistRnd [PSK22].</caption><thead><tr><th>a</th><th>b</th><th>W</th><th>[π<sub>1</sub>(K) : H]</th><th>π<sub>1</sub>(K) : /H</th><th>[[n, k, (d<sub>X</sub>, d<sub>Z</sub>)]]</th><th>kd<sup>2</sup>/n</th></tr></thead><tbody><tr><td rowspan="3">3</td><td rowspan="3">3</td><td rowspan="3">5</td><td>1</td><td>{e}</td><td>[[16, 0, 0]]</td><td>0</td></tr><tr><td>9</td><td>Z<sub>3</sub> × Z<sub>3</sub></td><td>[[144, 4, (6, 6)]]</td><td>1</td></tr><tr><td>27</td><td>Z<sub>9</sub> × Z<sub>3</sub></td><td>[[432, 4, (18, 18)]]</td><td>3</td></tr><tr><td rowspan="3">3</td><td rowspan="3">4</td><td rowspan="3">6</td><td>1</td><td>{e}</td><td>[[31, 1, (3, 7)]]</td><td>0.3</td></tr><tr><td>48</td><td>SL(2, 3) · Z<sub>2</sub></td><td>[[1488, 6, (24, 24)]]</td><td>2.3</td></tr><tr><td>48</td><td>GL(2, 3)</td><td>[[1488, 6, (24, 24)]]</td><td>2.3</td></tr><tr><td rowspan="3">4</td><td rowspan="3">4</td><td rowspan="3">6</td><td>1</td><td>{e}</td><td>[[20, 2, (2, 2)]]</td><td>0.4</td></tr><tr><td>32</td><td>(Z<sub>2</sub> × Z<sub>2</sub>) · (Z<sub>4</sub> × Z<sub>2</sub>)</td><td>[[640, 6, (16, 16)]]</td><td>2.4</td></tr><tr><td>32</td><td>(Z<sub>8</sub> × Z<sub>2</sub>) × Z<sub>2</sub></td><td>[[640, 6, (16, 16)]]</td><td>2.4</td></tr><tr><td rowspan="3">4</td><td rowspan="3">5</td><td rowspan="3">7</td><td>1</td><td>{e}</td><td>[[49, 1, (7, 5)]]</td><td>0.5</td></tr><tr><td>20</td><td>Z<sub>5</sub> × Z<sub>4</sub></td><td>[[980, 7, (20, 22)]]</td><td>2.9</td></tr><tr><td>40</td><td>Z<sub>5</sub> × Z<sub>8</sub></td><td>[[1960, 7, (40, 42)]]</td><td>5.7</td></tr><tr><td rowspan="2">4</td><td rowspan="2">6</td><td rowspan="2">8</td><td>1</td><td>{e}</td><td>[[29, 2, (2, 3)]]</td><td>0.3</td></tr><tr><td>48</td><td>(Z<sub>3</sub> × Q<sub>8</sub>) × Z<sub>2</sub></td><td>[[1392, 8, (20, 24)]]</td><td>2.3</td></tr><tr><td rowspan="2">6</td><td rowspan="2">6</td><td rowspan="2">8</td><td>1</td><td>{e}</td><td>[[28, 2, (2, 2)]]</td><td>0.3</td></tr><tr><td>24</td><td>Z<sub>3</sub> × Q<sub>8</sub></td><td>[[672, 2, (24, 26)]]</td><td>1.7</td></tr><tr><td rowspan="2">6</td><td rowspan="2">7</td><td rowspan="2">9</td><td>1</td><td>{e}</td><td>[[97, 1, (10, 7)]]</td><td>0.5</td></tr><tr><td>42</td><td>Z<sub>7</sub> × Z<sub>6</sub></td><td>[[4074, 11, (50, 50)]]</td><td>6.8</td></tr></tbody></table>

**Lemma 5.7.** There is an isomorphism $\pi_1(K(VL(a, b))) \cong L(a, b)$.

*Proof.* This is direct: the Tanner cone-complex corresponds to a triangulation of $M_{a,b}^{\square}$.

Because this code is not a cellular chain complex, the lift presented in Section 3 is a particularly effective method to build codes of increasing size from a single input code.

As before, for $H$ a (finite index) subgroup of $\pi_1(K)$, we define the code $VL(a, b)_H$ as the $H$-lift of $VL(a, b)$. We generate numerically the lifts of degree 1 to 59 for $3 \le a \le b \le 7$ and report parameters of input codes and lifted codes in Table 2. Notice that the dimension of the input codes behaves differently from the one of the EL-codes, which always have $k > 0$ as shown in Lemma 5.4. Moreover, although the dimension of the input codes can vanish, this can change in the lifted codes<fnref n="19" />. Overall, the parameters of the lifts here are greater than the ones of the EL-codes, which had $kd^2/n$ not exceeding 1.8, and for several input codes we observe a noteworthy increase of this quantity.

## 5.3 Example 2: group presentation with more relations

### 5.3.1 E-type code

In this section, we consider a generalization of the previous codes. This is associated to the group given with presentation

$$R(a, b, c, d) := \langle x_1, \dots, x_c, y_1, \dots, y_d \mid x_1^a = \dots = x_c^a = y_1^b = \dots = y_d^b \rangle,$$

for integers $a, b \ge 2$ and $c, d \ge 1$. For $c = d = 1$, we have $R(a, b, 1, 1) = L(a, b)$. The presentation complex $M_{a,b,c,d}$, for the code $R(3, 2, 2, 3)$, is depicted in Figure 6. Using a square cellulation for this complex, we define the following topological code.

**Definition 5.8.** Let $2 \le a \le b$, $1 \le c, d$ be integers, $g = \gcd(a, b)$. Consider the square cellulation $M_{a,b,c,d}^{\square}$, for which each 2-cell of $M_{a,b,c,d}$ is subdivided into a row of $ab/g$ square faces if $g \ne a$, and $2b$ square faces if $g = a$. We define the code $ER(a, b, c, d)$ to be the cellular chain complex of $M_{a,b,c,d}^{\square}$. The corresponding chain complex is $ER(a, b, c, d) := \mathbb{F}_2^{m_Z} \xrightarrow{\partial_2=H_Z^T} \mathbb{F}_2^n \xrightarrow{\partial_1=H_X} \mathbb{F}_2^{m_X}$, such that, if $g \ne a$:

$$\bullet n = ab/g + ad/g + bc/g + (c+d)ab/g,$$

$$\bullet m_X = ab/g + ad/g + bc/g,$$

<footnote n="19">¹⁹Recall that our convention is to set $d = 0$ when $k = 0$.</footnote>
<figure><img src="image_7.png" /><figcaption>FIG. 6: Presentation complex of $R(3, 2, 2, 3)$. Sides decorated with arrows of the same color and type are identified.</figcaption></figure>

$$ \bullet m_Z = (c+d)ab/g. $$

If $g = a$:

$$ \bullet n = 2d + 2bc/g + 2b(c+d), $$

$$ \bullet m_X = 2d + 2bc/g, $$

$$ \bullet m_Z = 2b(c+d). $$

In both cases:

$$ \bullet w_X = \max(b+2, c+d+2), $$

$$ \bullet w_Z = 4, $$

$$ \bullet q_X = 2, $$

$$ \bullet q_Z = \max(b, c+d). $$

Note that here, in contrast to EL$(a, b)$, we only consider the case $r = 1$ (number of rows of 2-cells). This is because otherwise the number of qubits would increase linearly in both $r$ and $c+d$.

**Remark 5.9.** We could consider even more general groups, for which each generator $x_i, y_j$ has its own independent exponent, $a_i, b_j$. Both for simplicity and economy of qubits, we reduce the possible choices by setting $a_i = a$ and $b_j = b$. Indeed, otherwise the number of qubits would scale as $\text{lcm}(a_1, \dots, a_c, b_1, \dots, b_d)$.

### 5.3.2 V-type code: symmetric version

There are two ways to define an abstract code from the presentation complex of $R(a, b, c, d)$. In this section, we consider a version that we refer to as symmetric, because under specific choices of integers $a, b, c, d$, the chain complex of the code can be made isomorphic to its dual.

**Definition 5.10.** Let $2 \le a \le b, 1 \le c, d$ be integers and $g = \gcd(a, b)$. Consider the square cellulation $M_{a,b,c,d}^{\square}$, constructed by starting with the one of Definition 5.8, to which we add a row of square 2-cells in between the faces coming from relations $x_i^a = 1$ and the one coming from relations $y_j^b = 1$. We define the code VR$(a, b, c, d)$ by assigning both qubits and checks to the vertices of $M_{a,b,c,d}^{\square}$ in an alternating way as shown in Figure 7, together with the identification $\mathcal{T}(\text{VR}(a, b, c, d)) = M_{a,b,c,d}^{\square, 1}$. The corresponding chain complex is $\text{VR}(a, b, c, d) := \mathbb{F}_2^{m_Z} \xrightarrow{H_Z^T} \mathbb{F}_2^n \xrightarrow{H_X} \mathbb{F}_2^{m_X}$, such that, if $g \ne a$:

$$ \bullet n = (ad + bc + 2ab)/g, $$

$$ \bullet m_X = (bc + ab)/g, $$

$$ \bullet m_Z = (ad + ab)/g. $$

If $g = a$:

$$ \bullet n = 2d + 2bc/a + 4b, $$

$$ \bullet m_X = 2bc/a + 2b, $$
<figure><img src="image_8.png" /><figcaption>FIG. 7: Square cellulation of $M_{2,2,3,3}$ corresponding to VR(2, 2, 3, 3). Sides decorated with arrows of the same color and type are identified.</figcaption></figure>

$$ \bullet m_Z = 2d + 2b. $$

In both cases:

$$ \bullet w_X = \max(a + 2, d + 3), $$

$$ \bullet w_Z = \max(b + 2, c + 3), $$

$$ \bullet q_X = \max(b, c + 1), $$

$$ \bullet q_Z = \max(a, d + 1). $$

Among these constructions, we emphasize the existence of the codes VR(a, b, c, bc/a) when $a|bc$, such as VR(a, b, a, b), which have the same number of X and Z-checks. Another code of interest has the following duality property.

**Lemma 5.11.** For $a = b$ and $c = d$, we have $VR(a, a, c, c) \cong VR^*(a, a, c, c)$.

*Proof.* The code has the same number of X and Z-checks. The isomorphism can be obtained by starting from VR(a, a, c, c), translating all the vertex labels horizontally by one position, and reflecting them with respect to the central horizontal line which splits the sets of qubits into two sets of equal size. This is permutation-equivalent to the dual complex. $\square$

By construction, the Tanner cone-complex of these code satisfies the following lemma.

**Lemma 5.12.** There is an isomorphism $\pi_1(K(VR(a, b, c, d))) \cong R(a, b, c, d)$.

*Proof.* This is direct: the Tanner cone-complex corresponds to a triangulation of $M_{a,b,c,d}$. $\square$

For $b > 2$ or $c > 2$, this code cannot be associated to any cellular chain complex of a 2D complex because of the value taken by $q_X$ and $q_Z$. Therefore, the lift of Definition 3.11 is a pertinent method to generate new codes. For $H$ a (finite index) subgroup of $\pi_1(K)$, we define the code $VR(a, b, c, d)_H$ as the $H$-lift of $VR(a, b, c, d)$. We report parameters of 2 selected lifted codes in Table 3, due to the enormous amount of subgroups of $R(a, b, c, d)$, that we could not to investigate in its entirety. Observe that, while the relative distance of the $\mathbb{Z}_3 \times \mathbb{Z}_3$-lift is lower than the one we had for the $\mathbb{Z}_3 \times \mathbb{Z}_3$-lift of the VL-code, the quantity $kd^2/2$ is increased by a factor of 2 due to the change of $k$. This suggests that, by adding few qubits in the input code, as controlled by the value of $(c, d)$, the quantity of logical qubits stored in a lifted code can increase drastically.

### 5.3.3 V-type code: asymmetric version

In this section, we consider a restriction of the group $R(a, b, c, d)$ and a variation of the previous code. For clarity, we define a new group given with the presentation

$$ J(a, b) = \langle x_1, \dots, x_a \mid x_1^b = \dots = x_a^b \rangle. $$

In particular, we have $J(a, b) = R(a, a, b - 1, 1)$. Therefore, the presentation complex for this code is constructed similarly to the previous one. Using a square cellulation for this complex, we define a new V-type code.
<table><caption>Table 3: Parameters of selected lifted codes VR(a, b, c, d)$_H$, with $W := \max(w_X, w_Z, q_X, q_Z)$. A group written $G' \cdot G/G'$ refers to a non split extension of $G/G'$ by $G'$. Numerical results of distance correspond to upper bounds obtained using the GAP package QDistRnd [PSK22].</caption><thead><tr><th>a</th><th>b</th><th>c</th><th>d</th><th>W</th><th>[π<sub>1</sub>(K) : H]</th><th>π<sub>1</sub>(K)/H</th><th>[[n, k, (d<sub>X</sub>, d<sub>Z</sub>)]]</th><th>kd<sup>2</sup>/n</th></tr></thead><tbody><tr><td rowspan="2">3</td><td rowspan="2">3</td><td rowspan="2">2</td><td rowspan="2">2</td><td rowspan="2">5</td><td>1</td><td rowspan="2">{e}<br>Z<sub>3</sub> × Z<sub>3</sub></td><td>[[20, 2, (2, 2)]]</td><td>0.4</td></tr><tr><td>9</td><td>[[180, 10, (6, 6)]]</td><td>2</td></tr><tr><td rowspan="2">4</td><td rowspan="2">4</td><td rowspan="2">2</td><td rowspan="2">2</td><td rowspan="2">6</td><td>1</td><td rowspan="2">{e}<br>Z<sub>12</sub></td><td>[[24, 4, (2, 2)]]</td><td>0.7</td></tr><tr><td>12</td><td>[[288, 6, (10, 10)]]</td><td>2.1</td></tr></tbody></table>

<figure><img src="image_9.png" /><figcaption>FIG. 8: Square cellulation of $M_{3,3}$ corresponding to VJ(3,3). Sides decorated with arrows of the same color and type are identified.</figcaption></figure>

**Definition 5.13.** Let $2 \le a, b$ be integers. Consider the cellulation $M_{a,a,b-1,1}^{\square}$, constructed by subdividing each 2-cell of $M_{a,a,b-1,1}$ into $2b$ square faces. We define the code VJ$(a, b)$ by assigning both qubits and checks to the vertices of $M_{a,a,b-1,1}^{\square}$, such that Z-checks are assigned to vertices of the central circle, alternating with qubits as shown in Figure 8, other qubits and X-checks being assigned accordingly, together with the identification $\mathcal{T}(\text{VJ}(a, b)) = M_{a,a,b-1,1}^{\square,1}$. The corresponding chain complex is $\text{VJ}(a, b) := \mathbb{F}_2^{mZ} \xrightarrow{H_Z^T} \mathbb{F}_2^n \xrightarrow{H_X}$ $\mathbb{F}_2^{mx}$, with number of qubits and checks:

* $n = 2a + 2b$,

* $m_X = 2a$,

* $m_Z = 2b$.

The weights of parity-check matrices are:

* $w_X = b + 2$,

* $w_Z = a + 2$,

* $q_X = a$,

* $q_Z = b$.

For $a = 2$, respectively $b = 2$, this code is topological and Z-checks, respectively X-checks, can be viewed as faces. More precisely, for $a = 2$, this code is EL$(b, b)$. Aside from these choices, there are no 2D cellular chain complex isomorphic to this code. Nevertheless, its Tanner cone-complex still satisfies the following lemma.

**Lemma 5.14.** There is an isomorphism $\pi_1(\mathcal{K}(\text{VJ}(a, b))) \cong \mathcal{J}(a, b)$.

*Proof.* The Tanner cone-complex is the triangulation obtained from $M_{a,a,b-1,1}$ by subdividing each face by a diagonal edge. $\square$

Let $H$ be a (finite index) subgroup of $\pi_1(\mathcal{K})$. We define the code $\text{VJ}(a, b)_H$ as the $H$-lift of $\text{VJ}(a, b)$ and report parameters of a selection of lifted codes in Table 4. We only mention a few due to the enormous set of subgroups of $\mathcal{J}(a, b)$, that we were not able to investigate in its entirety. Notice that the values of $kd^2/n$ (and $d/n$) for the $Z_3 \times Z_3$ and $Z_9 \times Z_3$-lifts of VJ(3,3) are slightly increased compared with the corresponding lifts of VL(3,3).
<table><caption>Table 4: Parameters of selected lifted codes VJ(a, b)<sub>H</sub>, with W := max(w<sub>X</sub>, w<sub>Z</sub>, q<sub>X</sub>, q<sub>Z</sub>). A group written G'.G/G' refers to a non split extension of G/G' by G'. Numerical results of distance correspond to upper bounds obtained using the GAP package QDistRnd [PSK22].</caption><thead><tr><th>a</th><th>b</th><th>W</th><th>[π<sub>1</sub>(K) : H]</th><th>π<sub>1</sub>(K)/H</th><th>[[n, k, (d<sub>X</sub>, d<sub>Z</sub>)]]</th><th>kd<sup>2</sup>/n</th></tr></thead><tbody><tr><td rowspan="3">3</td><td rowspan="3">3</td><td rowspan="3">5</td><td>1</td><td>{e}</td><td>[[12, 2, (2, 2)]]</td><td>0.7</td></tr><tr><td>9</td><td>Z<sub>3</sub> × Z<sub>3</sub></td><td>[[108, 8, (6, 6)]]</td><td>2.7</td></tr><tr><td>27</td><td>Z<sub>9</sub> × Z<sub>3</sub></td><td>[[324, 4, (18, 18)]]</td><td>4</td></tr><tr><td rowspan="2">4</td><td rowspan="2">3</td><td rowspan="2">6</td><td>1</td><td>{e}</td><td>[[14, 3, (2, 2)]]</td><td>0.9</td></tr><tr><td>42</td><td>Z<sub>2</sub> × (Z<sub>7</sub> × Z<sub>3</sub>)</td><td>[[588, 11, (12, 12)]]</td><td>2.7</td></tr></tbody></table>

# 6 Discussion and perspectives

This work started the investigation of lifted codes beyond LPCs. In Section 3, we have given a definition of the lift based on the idea of covering of the Tanner cone-complex and in Section 5, we introduced a method to construct liftable CSS codes based on the presentation complex of certain groups. Let us now give a few comments and new directions.

Firstly, there might exist alternative approaches to lift a CSS code, possibly generalizing Definition 3.11. There are, undoubtedly, coverings of the Tanner graph of a given CSS code, which represent valid codes and cannot be obtained as the lifts of the Tanner cone-complex. We believe that such notions might rely more on the use of an algebraic structure rather than geometrical ones.

Secondly, we have only introduced examples of non-topological codes associated to a specific instances of the group presentation R(a, b, c, d) of Section 5.3. At the time of the writing, we are aware of other group presentations yielding non-topological liftable codes, but these codes, being of much greater length, are challenging to investigate numerically. It is therefore necessary to understand the behavior of the dimension and distance of a given lifted code analytically. Nevertheless, a less ambitious goal is to devise new examples of moderate length codes, based on certain group presentations, in order to improve on the codes presented here. The parameters exposed in Tables 2, 3 and 4 are indeed very far from the ones of the recently introduced group algebra codes [LP24], or even Abelian lifted product codes [PK21]. Notice, however, that we have only dealt with regular coverings of the Tanner cone-complex, while, as shown in Section 4, the asymptotically good codes are obtained as non-regular coverings of HPCs.

Finally, while it seems that the V-type codes VR(a, b, c, d)<sub>H</sub> and VJ(a, b)<sub>H</sub> are likely to reach interesting parameters at moderate length, we haven't been able to analyze all the lifts, due to the very large amount of them. There is therefore a potential need to generate them by other means. For example, a simple method to produce a subset of them is as follows: given b copies of EL(a, a)<sub>H</sub>, we can create a lift of VJ(a, b) by gluing them along the inverse image (by the covering map) of the central circle in $\mathcal{T}(EL(a, a))$. We can do a similar construction of certain lifts of VR(a, b, c, d), starting with copies of VL(a, b)<sub>H'</sub>. We leave a more rigorous description and analysis of these codes for future work.

# Acknowledgement

The author would like to thank Benjamin Audoux and Anthony Leverrier for valuable discussions throughout this work, as well as for carefully reading and commenting the manuscript. The author would also like to thank Allen Hatcher for answering a question on a forum. We acknowledge the Plan France 2030 through the project NISQ2LSQ ANR-22-PETQ-0006.

# References

[AC09] D. D. Anderson and V. Camillo. Subgroups of direct products of groups, ideals and subrings of direct products of rings, and Goursat's lemma, 2009.

[AC19] Benjamin Audoux and Alain Couvreur. On tensor products of CSS codes. *Annales de l'Institut Henri Poincaré D, Combinatorics, Physics and their Interactions*, 6(2):239-287, March 2019.

[BE21a] Nikolas P. Breuckmann and Jens N. Eberhardt. Balanced Product Quantum Codes. *IEEE Transactions on Information Theory*, 67(10):6653-6674, October 2021.

[BE21b] Nikolas P. Breuckmann and Jens Niklas Eberhardt. Quantum Low-Density Parity-Check Codes. *PRX Quantum*, 2(4), October 2021.
[BMD07] H. Bombin and M. A. Martin-Delgado. Optimal resources for topological two-dimensional stabilizer codes: Comparative study. *Physical Review A*, 76(1), July 2007.

[Bro82] Kenneth S. Brown. Some Homological Algebra, pages 4–32. Springer New York, New York, NY, 1982.

[BSZ11] Kristine Bauer, Debasis Sen, and Peter Zvengrowski. A Generalized Goursat Lemma, 2011.

[CS96] A. R. Calderbank and Peter W. Shor. Good quantum error-correcting codes exist. *Physical Review A*, 54(2):1098–1105, August 1996.

[CW75] R. R. Crawford and K. D. Wallace. On the Number of Subgroups of Index Two-An Application of Goursat's Theorem for Groups. *Mathematics Magazine*, 48(3):172, May 1975.

[DEL+21] Irit Dinur, Shai Evra, Ron Livne, Alexander Lubotzky, and Shahar Mozes. Locally Testable Codes with constant rate, distance, and locality, 2021.

[DHLV23] Irit Dinur, Min-Hsiu Hsieh, Ting-Chun Lin, and Thomas Vidick. Good Quantum LDPC Codes with Linear Time Decoders. In *Proceedings of the 55th Annual ACM Symposium on Theory of Computing*, STOC 2023, page 905–918, New York, NY, USA, 2023. Association for Computing Machinery.

[DK01] James F. Davis and Paul A. Kirk. Lecture notes in algebraic topology. 2001.

[FH21] Michael Freedman and Matthew Hastings. Building manifolds from quantum codes. *Geometric and Functional Analysis*, 31(4):855–894, June 2021.

[FM01] Michael H. Freedman and David A. Meyer. Projective Plane and Planar Quantum Codes. *Foundations of Computational Mathematics*, 1(3):325–332, July 2001.

[GAP24] The GAP Group. GAP – Groups, Algorithms, and Programming, Version 4.13.0, 2024.

[Gou89] Edouard Goursat. Sur les substitutions orthogonales et les divisions régulières de l'espace. *Annales scientifiques de l'École Normale Supérieure*, 3e série, 6:9–102, 1889.

[GT77] Jonathan L. Gross and Thomas W. Tucker. Generating all graph coverings by permutation voltage assignments. *Discrete Mathematics*, 18(3):273–283, 1977.

[Gue24] Virgile Guemard. Geometric approach to lift from the Freedman-Hastings construction. 2024.

[Hat02] Allen Hatcher. *Algebraic topology*. Cambridge University Press, Cambridge, 2002.

[HHO21] Matthew B. Hastings, Jeongwan Haah, and Ryan O'Donnell. Fiber bundle codes: breaking the n1/2 polylog(n) barrier for Quantum LDPC codes. In *Proceedings of the 53rd Annual ACM SIGACT Symposium on Theory of Computing*, STOC 2021, page 1276–1288, New York, NY, USA, 2021. Association for Computing Machinery.

[Joh90] F. E. A. Johnson. On normal subgroups of direct products. *Proceedings of the Edinburgh Mathematical Society*, 33(2):309–319, June 1990.

[Kit03] A. Yu. Kitaev. Fault-tolerant quantum computation by anyons. *Annals of Physics*, 303(1):2–30, January 2003.

[LH22] Ting-Chun Lin and Min-Hsiu Hsieh. Good quantum LDPC codes with linear time decoder from lossless expanders, 2022.

[LP24] Hsiang-Ku Lin and Leonid P. Pryadko. Quantum two-block group algebra codes. *Physical Review A*, 109:022407, Feb 2024.

[LPS88] A. Lubotzky, R. Phillips, and P. Sarnak. Ramanujan graphs. *Combinatorica*, 8(3):261–277, September 1988.

[LS01] Roger C. Lyndon and Paul E. Schupp. *Combinatorial Group Theory*. Springer Berlin Heidelberg, 2001.

[LZ22] Anthony Leverrier and Gilles Zémor. Quantum Tanner codes. In *FOCS 2022 - IEEE 63rd Annual Symposium on Foundations of Computer Science*, pages 872–883, Denver, United States, October 2022. IEEE.
[LZ23] Anthony Leverrier and Gilles Zémor. Decoding quantum tanner codes. *IEEE Transactions on Information Theory*, 69(8):5100–5115, 2023.

[Mes18] Roy Meshulam. Graph codes and local systems, 2018.

[PK21] Pavel Panteleev and Gleb Kalachev. Degenerate Quantum LDPC Codes With Good Finite Length Performance. *Quantum*, 5:585, November 2021.

[PK22a] Pavel Panteleev and Gleb Kalachev. Asymptotically good Quantum and locally testable classical LDPC codes. In *Proceedings of the 54th Annual ACM SIGACT Symposium on Theory of Computing*, STOC '22. ACM, June 2022.

[PK22b] Pavel Panteleev and Gleb Kalachev. Quantum ldpc codes with almost linear minimum distance. *IEEE Transactions on Information Theory*, 68(1):213–229, 2022.

[PK24] Pavel Panteleev and Gleb Kalachev. Maximally extendable sheaf codes, 2024.

[PSK22] Leonid P. Pryadko, Vadim A. Shabashov, and Valerii K. Kozin. QDistRnd: A GAP package for computing the distance of quantum error-correcting codes. *Journal of Open Source Software*, 7(71):4120, 2022.

[PSVC11] Ali E. Pusane, Roxana Smarandache, Pascal O. Vontobel, and Daniel J. Costello. Deriving Good LDPC Convolutional Codes from LDPC Block Codes. *IEEE Transactions on Information Theory*, 57(2):835–857, 2011.

[Sho95] Peter W. Shor. Scheme for reducing decoherence in quantum computer memory. *Physical Review A*, 52(4):R2493–R2496, October 1995.

[SS96] M. Sipser and D.A. Spielman. Expander codes. *IEEE Transactions on Information Theory*, 42(6):1710–1722, 1996.

[Ste96a] A. M. Steane. Error Correcting Codes in Quantum Theory. *Physical Review Letters*, 77(5):793–797, July 1996.

[Ste96b] A. M. Steane. Multiple-particle interference and quantum error correction. *Proceedings of the Royal Society of London. Series A: Mathematical, Physical and Engineering Sciences*, 452(1954):2551–2577, November 1996.

[Tan81] Robert Michael Tanner. A recursive approach to low complexity codes. *IEEE Trans. Inf. Theory*, 27:533–547, 1981.

[Tho03] J. Thorpe. Low-Density Parity-Check (LDPC) Codes Constructed from Protographs. *Interplanetary Network Progress Report*, 42-154:1–7, August 2003.

[TZ09] Jean-Pierre Tillich and Gilles Zemor. Quantum LDPC codes with positive rate and minimum distance proportional to $n^{1/2}$, 2009.

[ZP19] Weilei Zeng and Leonid P. Pryadko. Higher-Dimensional Quantum Hypergraph-Product Codes with Finite Rates. *Phys. Rev. Lett.*, 122:230501, Jun 2019.
<figure><img src="image_10.png" /><figcaption>FIG. 9: Cone on an induced subgraph $\mathcal{T}_z$ with two disconnected components, linked by a path $\alpha_z$ in $\mathcal{T}(C_X)$.</figcaption></figure>

## A Further restrictions on covering maps

In general, for a code $C$ with $\mathcal{T} := \mathcal{T}(C)$ and $\mathcal{K} := \mathcal{K}(C)$, some of the induced subgraphs $\mathcal{T}_z$ for $z \in Z$, or $\mathcal{T}_x$ for $x \in X$, and even the Tanner graphs $\mathcal{T}(C_X)$, $\mathcal{T}(C_Z)$ can be disconnected. This happens, for instance, in Shor's 9-qubit code [Sho95]. In this case, when we create the Tanner cone-complex following Proposition 3.6, taking the cone on a disconnected subgraph produces new generators in the fundamental group of the complex.

**Lemma A.1.** Suppose $\mathcal{T}_z$ has $p$ disjoint components, and $\pi_1(\mathcal{T}_z) \cong G$. There exists a subgroup $H \leq G$, such that

$$ \pi_1(\mathcal{T} \cup C \mathcal{T}_z) \cong G/H * F_{p-1} $$

This has no impact on the definition of the lift given in Definition 3.11, but when doing numerical studies, it can be desirable to produce coverings of $\mathcal{K}$ according to subgroups of $\pi_1(\mathcal{K})$ not involving these generators. To this end, we can trivialize the corresponding generators of the fundamental group by adding new faces in $\mathcal{K}$. In the following procedure, these faces have usually more than 3 edges in their boundaries. Let $z$ be such that $\mathcal{T}_z$ is disconnected, as illustrated in Figure 9, then

1. Choose a basepoint for each connected component of $\mathcal{T}_z$.

2. For each connected component of $\mathcal{T}(C_X)$, fix an embedded simply-connected path $\alpha_z$ in $\mathcal{T}(C_X)$, going from subgraphs to subgraphs, through each basepoint. For a specific component of $\mathcal{T}(C_X)$ containing $r$ connected components of $\mathcal{T}_z$, label the basepoints according to this path $v_{z,1 \leq i \leq r}$, by specifying the starting and end points.

3. For each reduced subpath of $\alpha_z$ between $v_i$ and $v_{i+1}$, add a (non-triangular) face along the loop formed by $[z, v_{z,i}]$, the subpath from $v_{z,i}$ to $v_{z,i+1}$ and $[v_{z,i+1}, z]$.

4. Repeat steps 1. to 3. for all connected component of $\mathcal{T}(C_X)$ and $\mathcal{T}_z$ and for all $z \in Z$ with disconnected induced subgraphs.

We call the result $\mathcal{K}(C)_{\text{Filled}}$. According to Lemma 2.4, any covering of $\mathcal{K}(C)_{\text{Filled}}$ defines one for $\mathcal{K}(C)$, but not the other way around. Then, everything in Section 3.4 remains true if we replace $\mathcal{K}(C)$ with $\mathcal{K}(C)_{\text{Filled}}$.

## B Proofs for Section 4.1

We now proceed with the proof of each statement of Section 4.1.

*Proof (of Lemma 4.4):* See [CW75] Corollary 4, when the groups are finite. From Lemma 4.3, $H$ has its elements from the set $\{(g_1, g_2) \in G_{11} \times G_{21} | \psi(g_1 G_{12}) = g_2 G_{22}\}$. The index $[G_1 \times G_2 : H]$ is the number of $H$-cosets in $G_1 \times G_2/H$.

Let $(g_1, g_2)H$ be an element in a $H$-coset. We change coset if we multiply by an element not in $H$. According to the definition, fixing $g_1 \in G_{11}$, we change $H$-coset every time we change $G_{22}$-coset, and there are $[G_2 : G_{22}]$ of them for each $G_{11}$-coset. Therefore, there are $[G_1 : G_{11}] \cdot [G_2 : G_{22}]$ $H$-cosets. The second equality is obtained by considering the symmetric definition of the set of $H$, since $\psi$ is an isomorphism. $\square$

*Proof (of Lemma 4.5).* 1. The covering space $T_{i2}$ being a right $\Gamma$-lift of $T_{i1}$, it has a discontinuous and free left $\Gamma$-action. Therefore, $p_{i2}$ is the finite regular cover $p_{i2} : T_{i2} \to \Gamma \backslash T_{i2}$ with $\text{Deck}(p_{i2}) \cong \Gamma$. Moreover, this cover is associated to the subgroup $p_{i2*}\pi_1(T_{i2})$ of $\pi_1(T_{i1})$ and $\text{Deck}(p_{i2}) \cong \pi_1(T_{i1})/p_{i2*}\pi_1(T_{i2})$. We hence have a first isomorphism $i : \pi_1(T_{11})/p_{12*}\pi_1(T_{12}) \to \pi_1(T_{12})/p_{22*}\pi_1(T_{22})$.
From the theory of covering maps, the cover $p_{i1}$ being finite connected, it is associated to a finite index subgroup of $\pi_1(T_i)$ and there is an isomorphism $p_{i1*}$ from $\pi_1(T_{i1})$ onto this subgroup, identified with $p_{i1*}\pi_i(T_{i1})$. Choosing the normal subgroup $p_{i2*}\pi_1(T_{i2})$ of $\pi_1(T_{i1})$, this induces another isomorphism $\rho_i : \pi_1(T_{i1})/p_{i2*}\pi_1(T_{i2}) \to p_{i1*}\pi_1(T_i)/p_{i1*}p_{i2*}\pi_1(T_{i2})$. Composing this isomorphism with $i$, we have an isomorphism

$$ \psi : p_{11*}\pi_1(T_1)/p_{11*}p_{12*}\pi_1(T_{12}) \to p_{21*}\pi_1(T_2)/p_{21*}p_{22*}\pi_1(T_{22}), $$

defined as $\psi := \rho_2 \circ i \circ \rho_1^{-1}$.

The covering map $p_i$ being also finite connected, the composition $p_{i1} \circ p_{i2}$ is a well-defined degree $d_i \cdot |\Gamma|$ covering map and induces a homomorphism $(p_{i1} \circ p_{i2})_* = p_{i1*}p_{i2*}$. This chain of isomorphisms defines triples, $p_{i1*}p_{i2*}\pi_1(T_{i2}) \le p_{i1*}\pi_1(T_{i1}) \le \pi_1(T_i)$, as in the proposition. All these subgroups $G_{ij}$ being associated to finite covers, they have finite index in $\pi_1(T_i)$ and are free groups of finite rank given by

$$ [\pi_1(T_i) : G_{ij}] = \frac{\mathrm{rank}(G_{ij}) - 1}{\mathrm{rank}(\pi_1(T_i)) - 1}. $$

Therefore $\psi$ is a valid isomorphism which defines a Goursat quintuple as claimed.

It is straightforward to determine the index of the subgroup $H$ associated to this quintuple. Indeed $[\pi_1(T_i) : G_{i1}] = d_i$ and $[G_{i1} : G_{i2}] = |\Gamma|$. From, Lemma 4.4, the associated subgroup is of index $[\pi_1(T_1) \times \pi_1(T_2) : H] = d_1 \cdot |\Gamma| \cdot d_2$.

2. Let $\{G_{11}, G_{12}, G_{21}, G_{22}, \psi\}$ be any Goursat quintuples of the product of free groups, $G_1 \times G_2$ and let $T_i$ be a graph with $\pi_1(T_i) = G_i$. We know from [GT77] that every subgroup of $\pi_1(T_i)$ can be obtained as an element $p_{i1*}\pi_1(T_{i1})$ for some permutation voltage $T_{i1}$ of $T_i$ such that the associated cover is connected. Moreover, we have access to all normal subgroups of $\pi_1(T_{i1})$ by creating normal connected covers with group voltage $T_{i2}$ of $T_{i1}$. Therefore, we can obtain all subgroups of $p_{i1*}\pi_1(T_{i1})$ in the form of $p_{i2*}\pi_1(T_{i2})$, for some $T_{i2}$. It only remains to fix an isomorphism equal to $\psi$.

3. To obtain a normal subgroup $H$, it is also necessary for $p_{i1}$ and $p_{i1} \circ p_{i2}$ to be connected regular covers. This is direct from the correspondence established in the proof of the 1st claim and Lemma 4.3. Therefore, $p_{i1}$ can also be obtained from a finite connected $\Lambda_i$-lift of $T_i$ for some group $\Lambda_i$. Moreover, since we must have $G_{i1}/G_{i2} \le Z(G_i/G_{i2})$, then $\Gamma$ needs to be Abelian. Notice however that it is not a sufficient condition. $\square$

*Proof (of Proposition 4.7).* First, it is easily verified that $G_{12} \times G_{22} \le H$ but in general $G_{12} \times G_{22}$ is not a normal subgroup of $\pi_1$ unless $H$ is a normal subgroup. According to Lemma 2.8, $\eta : T_{12} \times T_{22} \to (T_1 \times T_2)_H$ is a normal cover with group of deck transformations $\mathrm{Deck}(\eta) \cong \pi((T_1 \times T_2)_H)/\eta_*\pi_1(T_{12} \times T_{22})$ and therefore $\mathrm{Deck}(\eta) \setminus (T_{12} \times T_{22}) \cong (T_1 \times T_2)_H$.

It is straightforward to see, from the definition of $H$, that $D = H/G_{12} \times G_{22}$ but we give several steps for completeness. Indeed, let $Q : \pi_1 \to \pi_1/G_{12} \times G_{22}$, then $Q$ is not a homomorphism, but its restriction to $H$ is a surjective one. $Q$ can be decomposed as $Q_1 \times Q_2$ with $Q_i : G_i \to G_i/G_{i2}$, which are also not homeomorphism. For an element $\gamma \in \Gamma$, $(\gamma, \psi(\gamma)) \in G_{11}/G_{12} \times G_{21}/G_{22}$, we show that any element in the preimage $(Q_1^{-1}(\gamma), Q_2^{-1}(\psi(\gamma)))$ is in $H$. Indeed, let $a \in Q_1^{-1}(\gamma)$ and $b \in Q_2^{-1}(\psi(\gamma))$ then $(a, b) \in G_{11} \times G_{21}$. Moreover $\psi(aG_{12}) = \psi(\gamma)$ and $Q_2^{-1}(\psi(\gamma))G_{22} = \psi(\gamma)$, hence $(a, b) \in H$ and $Q^{-1}(D) \subseteq H$. Moreover, let $(a, b) \in H$, Then, $\psi(aG_{12}) = bG_{22}$ and let us call $\gamma := aG_{12}$. Since $\psi$ is an isomorphism, we have the unique identification $bG_{22} = \psi(\gamma)$. Hence, each element $(a, b) \in H$ is mapped surjectively by $Q$ onto an element $(\gamma, \psi(\gamma))$, and we showed that $Q^{-1}(D) = H$. Therefore $D = H/G_{12} \times G_{22}$.

We proceed to show that $\mathrm{Deck}(\eta) \cong D$. Indeed, the main covering $p_H$ gives the isomorphism $\pi_1((T_1 \times T_2)_H) \cong p_{H_*}\pi_1((T_1 \times T_2)_H) = H$ and a chain of covering $p_H \circ \eta$ yields the isomorphism $\eta_*\pi_1(T_{12} \times T_{22}) \cong p_{H_*}\eta_*\pi_1(T_{12} \times T_{22}) = G_{12} \times G_{22}$, and $\eta_*\pi_1(T_{12} \times T_{22}) \le \pi_1((T_1 \times T_2)_H)$. We look at the homomorphism $P := Q|_H \circ p_{H_*}$ where $Q|_H$ is the restriction of $Q$ to $H$. The map $p_{H_*}$ is an injective homomorphism, but its restriction to its image is an isomorphism onto $H$, and $Q|_H$ is surjective. Therefore, $P : \pi_1((T_1 \times T_2)_H \to H/G_{12} \times G_{22}$ is an epimorphism and it is direct to compute its kernel. Indeed, $\ker Q = G_{12} \times G_{22}$ yields $\ker P = p_{H_*}^{-1}(G_{12} \times G_{22}) = \eta_*\pi_1(T_{12} \times T_{22})$. Therefore, by the first isomorphism theorem,

$$ \pi_1((T_1 \times T_2)_H)/\eta_*\pi_1(T_{12} \times T_{22}) \cong H/G_{12} \times G_{22}. $$

This finishes the proof by reminding that the l.h.s is isomorphic to $\mathrm{Deck}(\eta)$ and the r.h.s is $D$. $\square$

It is now possible to prove the equivalence between the lifted product code and the lift of a quantum code stated in Proposition 4.6
*Proof (of Proposition 4.6).* 1. In this setting the subgroups satisfy $G_{i1} = G_i$, hence the covering maps $p_{i1}: T_{i1} \to T_i$ are trivial and in particular normal. For the cover of $T_1 \times T_2$ to be normal, we require $H \subset \pi_1$, which in this case is reduced to $G_i/G_{i2} \le Z(G_i/G_{i2})$, and therefore $\Gamma \le Z(\Gamma)$.

2. There is an obvious similarity between the geometrical complexes which represent the code $C^\Xi$ and $\mathcal{C}$. The Tanner graph of $C^\Xi$ is the 1-skeleton of the complex $D\setminus T_{12} \times T_{22}$ while the Tanner graph of $\mathcal{C}$ is the 1-skeleton of the complex $T_{12} \times_\Gamma T_{22}$. These graphs are the same because $D\setminus T_{12} \times T_{22} = T_{12} \times T_{22}/\sim$, with $\sim$ the relation

$$((c_1, \gamma_1), (c_2, \gamma_2)) \sim ((c_1, \gamma\gamma_1), (c_2, \psi(\gamma)\gamma_2)) \Leftrightarrow ((c_1, \gamma^{-1}\gamma_1), (c_2, \gamma_2)) \sim ((c_1, \gamma_1), (c_2, \psi(\gamma)\gamma_2)),$$

and the equivalence on the r.h.s is the one defining $T_{12} \times_\Gamma T_{22}$. The CSS codes represented by these Tanner graphs are equal if the interpretation that we make of subsets of vertices as qubits, X-checks and Z-checks are the same. Let $A_i$ and $B_i$ denote the sets of respectively check nodes and bit nodes in $T_{i2}$. The condition is satisfied as for both graphs, the set of qubits is identified with the set $V_1 := B_1 \times B_2 \cup A_1 \times A_2/\sim$, and the set of checks is identified with the set $V_2 := B_1 \times A_2 \cup A_1 \times B_2/\sim$. $\square$

*Proof (of Corollary 4.8).* Let $D_w^i$, $i = 1,2$, be the bipartite graph with 2 vertices, noted $v_L$ and $v_R$, and $w$ edges $\{e_1 \le i \le w\}$ connecting them. This is the graph considered in [PK22a], in which bit variables are assigned to the edges, and parity-checks to the vertices. Let $\hat{D}_w^i$ denote the Tanner graphs of these codes $C_i$, where each edge in $D_w^i$ has been split in two by a bit vertex $\{v_1 \le i \le w\}$. For each bit vertex we call left and right the edges with endpoint respectively the vertex $v_L$ and $v_R$. The code $\mathcal{C}$ corresponds to $C_1 \otimes C_2^*$. Let $h_1 \in \mathbb{F}_2^{r_1 \times w}$, $h_2 \in \mathbb{F}_2^{r_2 \times w}$ be two parity-check matrices verifying the condition in the proof of Proposition 1 of [PK22a] and $T_i := \mathcal{T}(C(D_w^i, h_i))$ be the Tanner graph of the Tanner code [SS96] defined by the graph $D_w^i$ and the local codes $\ker h_1, \ker h_2$. We can infer a covering of $T_i$ from one of $D_w^i$, reproducing the Tanner code $C(\bar{X}_i, h_i)$ over the Cayley graph $\bar{X}_i$ with Ramanujan properties [LPS88] used in [PK22a]. For this, we create a covering of $T_i$ from a specific voltage assignment.

Notice that in the Tanner code construction, each edge $e_{i,L} = \{v_i, v_L\}$ or $e_{i,R} = \{v_i, v_R\}$ in $\hat{D}_w^i$ is replaced by a group of left or right edges $E_{i,L}$ or $E_{i,R}$. Let $\nu$ denotes the voltage assignment on $D_w$ giving rise to the derived graph $\bar{X}$ and $\hat{\nu}$, the one in $T_i$. If $\nu$ assigns element $\gamma$ to $e_i$ running from $v_L$ to $v_R$, then $\hat{\nu}$ assigns the same element $\gamma$ to all edges of $E_{i,L}^*$ running from $v_L$ to $v_i$ and the identity element to edges of $E_{i,R}^*$. With this choice of $\hat{\nu}$, the derived graph $T_{i2}$ of the cover is equal to the Tanner graph of $C(\bar{X}, h)$.

We can then use the covering $T_{i1} \times T_{i2} \to D \setminus T_{i1} \times T_{i2}$ as described in Proposition 4.6 to create the code $\mathcal{C} = C(\bar{X}, h_1) \otimes_\Gamma C^*(\bar{X}, h_2)$. $\square$