bracket type

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
### Context
#### Type theory
+-- {: .hide}
[[!include type theory - contents]]
=--
=--
=--

#Contents#
* table of contents
{:toc}

## Idea

There are various different paradigms for the interpretation of
[[predicate logic]] in [[type theory]].  In "logic-enriched type theory", there is a separate class of "[[propositions]]" from the class of "[[types]]".  But we can also identify propositions with particular types.  In the _[[propositions as types]]_-paradigm, every proposition is a type, and also every type is identified with a proposition (the proposition that it is an [[inhabited type]]).

By contrast, in the paradigm that may be called [[propositions as some types]], every proposition is a type, but not every type is a proposition.  The types which are propositions are generally those which "have at most one inhabitant" --- in [[homotopy type theory]] this is called being of [[h-level 1]] or being a [[homotopy n-type|(-1)-type]].  This paradigm is often used in the [[categorical semantics]] of type theory, such as the [[internal logic]] of various kinds of categories.

Under "propositions as types", all type-theoretic operations represent corresponding logical operations ([[dependent sum]] is the [[existential quantifier]], [[dependent product]] the [[universal quantifier]], and so on).  However, under "propositions as some types", not every such operation preserves the class of propositions; this is particularly the case for [[dependent sum]] and [[disjunction]]([[or]]).  Thus, in order to obtain the correct logical operations, we need to reflect these constructions back into propositions somehow, finding the "underlying proposition", corresponding to the [[truncated|(-1)-truncation]]/[[h-level 1|h-level 1-projection]].  This operation in type theory is called the **bracket type** (when denoted $[A]$); in [[homotopy type theory]] it can be identified with the [[higher inductive type]] $isInhab$.

## Definition

### In homotopy type theory

{#DefinitionInHomotopyTypeTheory}

In [[homotopy type theory]], the propositional truncation of a type $A$ is defined as the [[higher inductive type]] generated by the two constructors

$$\mathrm{isinhab} \colon A \to [A]$$

$$\mathrm{supp} \colon \prod_{x:A} \prod_{y:A} \mathrm{isinhab}(x) =_{[A]} \mathrm{isinhab}(y)$$

Equivalently, it is the [[higher inductive type]] generated by the two constructors

$$\mathrm{isinhab} \colon A \to [A]$$

$$\mathrm{supp} \colon \prod_{f:\mathrm{bool} \to [A]} f(\mathrm{false}) =_{[A]} f(\mathrm{true})$$

### More generally

In any [[dependent type theory]] with [[identity types]], given type $A$, the **support**  of $A$ denoted $supp(A)$ or $isInhab(A)$ or $\tau_{-1} A$ or $\| A \|_{-1}$ or $\| A \|$ or, lastly, $[A]$, is the [[higher inductive type]] defined by the two constructors

$$
  a \colon A \;\vdash \; isinhab(a) \colon supp(A)
$$

$$
  x \colon supp(A) \;,\; y \colon supp(A)
  \;\vdash \;
  inpath(x,y) \colon (x = y)
 \,,
$$

where in the last [[sequent]] on the right we have the [[identity type]]. ([Voevodsky](#Voevodsky), [HoTTLibrary](#HoTTLibrary))

This says that $supp(A)$ is the type which is [[universal property|universal]] with the property that the [[terms]] of $A$ map to it and that any two term of $A$ become [[equivalence in homotopy type theory|equivalent]] in $supp(A)$.

In [[Agda]] [[syntax]] this is

    data isinhab {i : Level} (A : Set i) : Set i where
      inhab : A → isinhab A
      inhab-path : (x y : isinhab A) → x ≡ y

The [[recursion principle]] for $supp(A)$ says that if $B$ is a [[mere proposition]] and we have $f: A \to B$, then there is an induced $g : supp(A) \to B$ such that $g(isinhab(a)) \equiv f(a)$ for all $a:A$. In other words, any mere proposition which follows from (the inhabitedness of) $A$ already follows from $supp(A)$. Thus, $supp(A)$, as a mere proposition, contains no more information than the inhabitedness of $A$.

### With a type of all propositions

Suppose the [[dependent type theory]] has a [[univalent]] [[type of all propositions]] $(\mathrm{Prop}, \mathrm{El})$. Then the bracket type of $A$ could be defined as the type

$$[A] \coloneqq \prod_{P:\mathrm{Prop}} (A \to \mathrm{El}(P)) \to \mathrm{El}(P)$$

### As localization

Let $\mathbb{1}$ be the [[unit type]] and let $\mathbb{2}$ be the [[boolean domain]]. The bracket type of a type $A$ is the [[localization of a type at a family of functions|localization]] of $A$ at the unique function $\mathbb{2} \to \mathbb{1}$.

$$\left[A\right] \coloneqq L_\mathbb{2}(A)$$

By definition, the type of functions $(\mathbb{1} \to \left[A\right]) \to (\mathbb{2} \to \left[A\right])$ is an [[equivalence of types]].

This is the special case of the [[n-truncation modality]] as the [[n-truncation modality]] is localization at the unique map from the $(n + 1)$-dimensional sphere type to the unit type, and $\mathbb{2}$ is the zero-dimensional [[sphere type]].

For more see at _[[n-truncation modality]]_.

### As a sequential colimit

Let $A * B$ denote the [[join type]] of $A$ and $B$, and let $A^{*(n)}$ be the iterated join type, inductively defined on the natural numbers by $A^{*(0)} \coloneqq \emptyset$ and $A^{*(n + 1)} \coloneqq A^{*(n)} * A$.

Then the propositional truncation of $A$ is the [[sequential colimit]] of the sequence of functions

$$A^{*(0)} \overset{\mathrm{inr}}\to A^{*(1)} \overset{\mathrm{inr}}\to A^{*(2)} \overset{\mathrm{inr}}\to \ldots$$

### Using hubs and spokes

In section 7.3 of the [[HoTT Book]] [UFP13](#UFP13), the authors give another definition of the propositional truncation using the hubs and spokes construction developed in section 6.7. Since the [[boolean domain]] is the zero-[[dimensional]] [[sphere]], the propositional truncation of $A$ is a [[higher inductive type]] generated by

* A function $[-]:A \to [A]$

* For each function $r:\mathrm{bool} \to A$, a hub point $h(r):A$

* For each function $r:\mathrm{bool} \to A$ and each boolean $x:\mathrm{bool}$, a spoke path $s_r(x):r(x) =_A h(r)$

## Properties

### Weakly constant functions

In [[dependent type theory]], a [[weakly constant function]] from type $A$ to $B$ is a function $f:A \to B$ with a dependent function $p:\prod_{x:A} \prod_{y:A} f(x) =_B f(y)$.

Given a weakly constant function $f:A \to B$ with $p:\prod_{x:A} \prod_{y:A} f(x) =_B f(y)$, by the recursion principle of bracket types, one has

$$\mathrm{rec}_{[A]}^B(f, p):[A] \to B$$

such that

$$\mathrm{rec}_{[A]}^B(f, p)(\mathrm{isinhab}(x)) \equiv f(x):B$$

$$\mathrm{ap}_{\mathrm{rec}_{[A]}^B(f, p)}(\mathrm{supp}(x, y)) \equiv p(x, y):f(x) =_B f(y)$$

In particular, by the judgmental [[congruence rule]] for the introduction rule of [[function types]], every weakly constant function $f:A \to B$ with $p:\prod_{x:A} \prod_{y:A} f(x) =_B f(y)$ factors through $[A]$ by

$$f \equiv \mathrm{rec}_{[A]}^B(f, p) \circ \mathrm{isinhab}$$

Weakly constant functions can also be regarded directly as functions $[A] \to B$, similar to how paths in $A$ can be regarded as functions $\mathbb{I} \to A$ from the the [[interval type]] rather than the application of said function along the path generator of the interval type.

### Functions from the interval type

Given a type $A$, there exists a function $A \to A \to \mathbb{I} \to [A]$ defined by

$$\lambda x:A.\lambda y:A.\mathrm{rec}_{\mathbb{I}}([x], [y], \mathrm{supp}(x, y)):A \to A \to \mathbb{I} \to [A]$$

## Semantics

One presentation of the [[internal logic|internal]] [[type theory]] of
[[regular categories]] consists of [[dependent type theory]] with the [[unit type]],
[[strong extensional equality types]], strong [[dependent sums]], and bracket types.  (The internal logic of a regular category can alternatively be presented as a [[logic-enriched type theory]].)

The [[semantics]] of bracket types in a [[regular category]] $C$ is as follows.

A [[dependent type]] (a type in [[context]] $X$)

$$x\colon X \vdash A(x) \colon Type$$

is interpreted in $C$ as an arbitrary [[morphism]]

$$
  \array{
    A
    \\
    \downarrow
    \\
    X
  }
  \,.
$$

The corresponding bracket type

$$ x\colon X \vdash [A(x)] \colon Type $$

is interpreted then as the [[image]]-[[(epi, mono) factorization system|factorization]]

$$
  \array{
     A &&\to&& [A] & := im(A \to X)
     \\
     & \searrow && \swarrow
     \\
     && X
    \,.
  }
$$

Therefore $[A] \to X$ is a [[monomorphism]], and hence the interpretation of a [[proposition]] about the elements of $X$.

## Related concepts

* [[image]], [[inhabited type]]

* [[cone type]], [[bracket type]], [[set truncation]]

* [[n-truncation modality]]

* [[weakly constant function]]

* [[propositional truncation object]]

[[!include homotopy n-types - table]]

## References

The original articles are

* M.E. Maietti, _The Type Theory of Categorical Universes_ PhD thesis, Università Degli Studi di Padova, 1998

(which speaks of "mono types") and

* [[Frank Pfenning]], _Intensionality, extensionality, and proof irrelevance in modal type theory_, In Proceedings of the 16th Annual Symposium on Logic in Computer Science (LICS'01), June 2001.

* [[Steve Awodey]], [[Andrej Bauer]], *Propositions as $[$Types$]$*, Journal of Logic and Computation, **14**  (2004) 447-471 [[doi:10.1093/logcom/14.4.447](https://doi.org/10.1093/logcom/14.4.447), [pdf](http://andrej.com/papers/brackets_letter.pdf)]

Discussion in the context of [[homotopy type theory]]:

* {#UFP13} [[Univalent Foundations Project]], §3.7 *[[Homotopy Type Theory -- Univalent Foundations of Mathematics]]* (2013) [[web](http://homotopytypetheory.org/book/), [pdf](http://hottheory.files.wordpress.com/2013/03/hott-online-323-g28e4374.pdf)]

Exposition:

* {#Shulman} [[Mike Shulman]], _Minicourse on homotopy type theory_ (2012) ([web](http://www.sandiego.edu/~shulman/hottminicourse2012/))

Formalization:

* {#Voevodsky} [[Vladimir Voevodsky]], _The hProp version of the "inhabited" construction._ ([web](http://www.math.ias.edu/~vladimir/Foundations_library/hProp.html#lab140))

* [[Coq]] [HoTT library](https://github.com/HoTT/HoTT/tree/master/Coq), _[IsInhab.v](https://github.com/HoTT/HoTT/blob/master/Coq/HIT/IsInhab.v)_
 {#HoTTLibrary}

Discussion in the more general context of [[n-truncation modality|$n$-truncations]]:

* [[Guillaume Brunerie]], _Truncations and truncated higher inductive types_ ([web](http://homotopytypetheory.org/2012/09/16/truncations-and-truncated-higher-inductive-types/))

More on the [[universal property]] of propositional truncation:

* [[Nicolai Kraus]], *The General Universal Property of the Propositional Truncation*, in *TYPES 2014* Leibniz International Proceedings in Informatics (LIPIcs) **39** (2015) [[arXiv:1411.2682](https://arxiv.org/abs/1411.2682), [doi:10.4230/LIPIcs.TYPES.2014.111](https://doi.org/10.4230/LIPIcs.TYPES.2014.111)]

For propositional truncations as sequential colimits, see section 26.5 of

* {#RijkeDraft22} [[Egbert Rijke]] (2022), *[[Introduction to Homotopy Type Theory]]*, draft. ([pdf](https://raw.githubusercontent.com/martinescardo/HoTTEST-Summer-School/main/HoTT/hott-intro.pdf))

as well as section 16.2 of the lecture notes:

* [[Egbert Rijke]], *The homotopy image of a map*, Lecture 16 in: *[[Introduction to Homotopy Type Theory]]*, lecture notes, CMU (2018) [[pdf](http://www.andrew.cmu.edu/user/erijke/hott/hott_intro.pdf), [[Rijke-IntroductionHoTT-2018.pdf:file]], [webpage](https://www.andrew.cmu.edu/user/erijke/hott/)]

For [[n-truncations]] as [[localizations]] at [[sphere types]], see:

* [[David Jaz Myers]], Orbifolds as microlinear types in synthetic differential cohesive homotopy type theory ([arXiv:2205.15887](https://arxiv.org/abs/2205.15887))

[[!redirects bracket type]]
[[!redirects bracket types]]

[[!redirects propositional truncation]]
[[!redirects propositional truncations]]
[[!redirects propositionally truncated]]
[[!redirects isInhab]]


braid category

#Contents#
* table of contents
{:toc}

## Definition

The **braid category** $\mathbf{B}$ is the strict [[monoidal category|monoidal]] [[groupoid]] obtained as the [[disjoint union]] of all the [[braid group|braid groups]] $B_n$, $n \geq 0$ (thus, the [[coproduct]] of [[delooping groupoids]] in the category [[Grpd]] of groupoids).

The objects of $\mathbf{B}$ are thus identified with [[natural numbers]] $n$, and all morphisms are [[automorphisms]] $n \to n$ given by elements in braid groups $B_n$.

The monoidal product

$$\mathbf{B} \times \mathbf{B} \to \mathbf{B}$$

is given objectwise by addition of integers $n$, and on morphisms it is given by group homomorphisms

$$B_m \times B_n \to B_{m+n}$$

which may be described as juxtaposition of braids.

$\mathbf{B}$ is also a [[braided monoidal category]], with the braiding $m+n \to n+m$ given by the "$m$-over-$n$" braid:

\begin{imagefromfile}
        "file_name": "braiding.jpg",
        "width": 300
    \end{imagefromfile}

## Properties

The braid category came into prominence with the celebrated paper _Braided Monoidal Categories_ by Joyal and Street, who showed that the category of Artin braids (hitherto a thoroughly geometric construction) was the [[free construction|free]] [[braided monoidal category|braided]] ([[strict monoidal category|strict]]) [[monoidal category]] on the [[terminal category]], and that the free [[braided monoidal category]] on a general category $C$ could be pictured as the category of braids whose strands are colored by [[morphisms]] in $C$.

Joyal and Street also showed that the braid category could be regarded as a "[[walking structure|walking]] Yang-Baxter object". Recall that a [[Yang-Baxter object]] in a monoidal category $(M, \otimes, I)$ is an object $C$ equipped with an invertible "twist" map

$$R: C \otimes C \to C \otimes C$$

such that

$$\array{
C \otimes C \otimes C & \overset{R \otimes 1}{\to} & C \otimes C \otimes C & \overset{1 \otimes R}{\to} & C \otimes C \otimes C \\
1 \otimes R \downarrow & & & & \downarrow R \otimes 1 \\
C \otimes C \otimes C & \underset{R \otimes 1}{\to} & C \otimes C \otimes C & \underset{1 \otimes R}{\to} & C \otimes C \otimes C
}$$

commutes (as usually done, we work in strict monoidal categories for convenience). The statement now is that the braid category is initial in the category of strict monoidal categories equipped with a Yang-Baxter object. The $R$ in this case is a generator of $B_2 \cong \mathbb{Z}$, which is a braid with one crossing, and the commutativity may be pictured as an equality across a Reidemeister III move (and may be proven using the axioms of a braided monoidal category).

This result gave a conceptual framework in which to interpret quantum group representations as giving knot invariants.

## Related concepts

* [[braid group]]

* [[vine monoid]]

* [[FinSet]]

* [[permutation category]]


braid cobordism

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
###Context###
#### Manifolds and cobordisms
+--{: .hide}
[[!include manifolds and cobordisms - contents]]
=--
=--
=--

#Contents#
* table of contents
{:toc}

## Idea

A *braid cobordism* [[Khovanov & Thomas (2007)](#KhovanovThomas07)] is a kind of [[cobordism]] of [[braids]], considered in [[categorifications]] of [[braid representations]].

## References

* {#KhovanovThomas07} [[Mikhail Khovanov]], [[Richard Thomas]], *Braid cobordisms, triangulated categories, and flag varieties*, Homology, Homotopy and Applications **9**(2007) 19-94 [[arXiv:math/0609335](https://arxiv.org/abs/math/0609335), [euclid](https://projecteuclid.org/journals/homology-homotopy-and-applications/volume-9/issue-2/Braid-cobordisms-triangulated-categories-and-flag-varieties/hha/1201127331.full)]

* {#Kohno16} [[Toshitake Kohno]], *Higher holonomy of formal homology connections and braid cobordisms*,  Journal of Knot Theory and Its Ramifications **25** 12  (2016) 1642007 [[doi:10.1142/S0218216516420074](https://doi.org/10.1142/S0218216516420074), [pdf](https://www.ms.u-tokyo.ac.jp/~kohno/papers/hhc.pdf)]

  > (via [[higher holonomy]])

[[!redirects braid cobordisms]]


braid group

+-- {: .rightHandSide}
+-- {: .toc .clickDown tabindex="0"}
###Context###
#### Group Theory
+-- {: .hide}
[[!include group theory - contents]]
=--
#### Manifolds and cobordisms
+--{: .hide}
[[!include manifolds and cobordisms - contents]]
=--
=--
=--

#Contents#
* table of contents
{:toc}

## Idea
 {#Idea}

By a *braid group* [[Artin (1925)](#Artin25)] one means the [[group]] of joint continuous *motions* [cf. [Goldsmith (1981)](#Goldsmith81)] of a fixed number $n+1$ of non-coincident points in the [[plane]], from any fixed [[configuration space of points|configuration]] back to that fixed configuration. The  "[[worldlines]]" traced out by such points in space-time under such an operation look like a braid with $n+1$ strands, whence the name.

As with actual braids, here it is understood that two such operations are identified if they differ only by continuous deformations of the "strands" without breaking or intersecting these, hence that one identifies those such systems of [[worldlines]] which are [[isotopy|isotopic]] in $\mathbb{R}^3$. (This is just the kind of invariance considered for [[link diagrams]] --- such as under [[Reidemeister moves]] --- and in fact every link diagram may be obtained by "closing up" a braid diagram, in the evident sense.)

A quick way of saying this with  precision is to observe that
a braid group is thus the *[[fundamental group]]* $\pi_1$ of a [[configuration space of points]] in the plane (see [below](#AsFundamentalGroupOfConfigurationSpace) for more).

Here it makes a key difference whether:

* one considers the points in a configuration as *ordered* (labeled by numbers $1, \cdots, n+1$) in which case one speaks of the *[[pure braid group]]*,

* or as indistinguishable (albeit in any case with distinct positions!) in which case one speaks of the *braid group* proper.

Namely, after traveling along a general braid $b$ the order of the given points may come out permuted by a [[permutation]] $\mathrm{perm}(b)$, and the braid is called *pure* precisely if this permutation is trivial:

More explicitly, braid groups admit [[finitely presented group|finite presentations]] by [[generators and relations]]. To these we now turn first:

\linebreak

## Definitions and characterizations
 {#DefinitionsAndCharacterizations}

* *[Via generators and relations](#ByGeneratorsAndRelations)*

* *[As the fundamental group of a configuration space of points](#AsFundamentalGroupOfConfigurationSpace)*

* *[As mapping class group of a punctured disk](#AsMappingClassGroupOfAPuncturedDisk)*

* *[As automorphisms of a free group](#AsAutomorphismsOfAFreeGroup)*

#### Via generators and relations
 {#ByGeneratorsAndRelations}

##### Presentation of general braids

We discuss the braid group as  a [[finitely generated group]]
([Artin 1925, (5)-(6)](#Artin25); [Artin 1947, (18)-(19)](#Artin47);
review in, e.g.:  [Fox & Neuwirth 1962, §7](#FoxNeuwirth62)):

\begin{definition}\label{ArtinPresentation}
**(Artin presentation)**

The **Artin braid group**, $Br({n+1})$, on $n+1$ strands is the [[finitely generated group]] given via [[generators and relations]] by (this and the following graphics are taken from [[schreiber:Topological Quantum Gates in Homotopy Type Theory|Myers et al. (2023)]]):

* generators:

  \[
    \label{ArtinGenerators}
    b_i\;\; i = 1, \ldots, n
  \]

\begin{tikzcd}
b_i
\;:=\;
\color{orange}
\left[
\color{black}
\raisebox{6pt}{
\begin{tikzpicture}

\begin{scope}[shift={(-1.6,0)}]
\draw[line width=1.4]
  (-.5,1) to (-.5,-1);
\draw[line width=1.2]
  (+.5,1) to (+.5,-1);
\draw
  (-0,-.1) node {$\mathclap{\cdots}$};
\end{scope}

\draw[line width=1.4]
  (-.35,-1)
  .. controls (-.35,0) and (+.35,0)  ..
  (+.35,1);

\draw[line width=4.5, white]
  (+.35,-1)
  .. controls (+.35,0) and (-.35,0)  ..
  (-.35,1);
\draw[line width=1.4]
  (+.35,-1)
  .. controls (+.35,0) and (-.35,0)  ..
  (-.35,1);

\begin{scope}[shift={(+1.6,0)}]
\draw[line width=1.4]
  (-.5,1) to (-.5,-1);
\draw[line width=1.2]
  (+.5,1) to (+.5,-1);
\draw
  (-0,-.1) node {$\mathclap{\cdots}$};
\end{scope}

\draw
  (-2.1, -1.3) node {\color{blue}\scalebox{.5}{$1$}};

\draw
  (-1.1, -1.3) node {\color{blue}\scalebox{.5}{$i\!-\!1$}};

\draw
  (-.4, -1.3) node {\color{blue}\scalebox{.5}{$i$}};

\draw
  (+.35, -1.3) node {\color{blue}\scalebox{.5}{$i\!+\!1$}};

\draw
  (+1.1, -1.3) node {\color{blue}\scalebox{.5}{$i\!+\!2$}};

\draw
  (+2.1, -1.3) node {\color{blue}\scalebox{.5}{$n+1$}};

\end{tikzpicture}
}
\color{orange}
\right]
\color{black}
\end{tikzcd}

\begin{tikzcd}
b_i^{-1}
\;:=\;
\color{orange}
\left[
\color{black}
\raisebox{6pt}{
\begin{tikzpicture}

\begin{scope}[shift={(-1.6,0)}]
\draw[line width=1.4]
  (-.5,1) to (-.5,-1);
\draw[line width=1.2]
  (+.5,1) to (+.5,-1);
\draw
  (-0,-.1) node {$\mathclap{\cdots}$};
\end{scope}

\draw[line width=1.4]
  (+.35,-1)
  .. controls (+.35,0) and (-.35,0)  ..
  (-.35,1);

\draw[line width=4.5, white]
  (-.35,-1)
  .. controls (-.35,0) and (+.35,0)  ..
  (+.35,1);
\draw[line width=1.4]
  (-.35,-1)
  .. controls (-.35,0) and (+.35,0)  ..
  (+.35,1);

\begin{scope}[shift={(+1.6,0)}]
\draw[line width=1.4]
  (-.5,1) to (-.5,-1);
\draw[line width=1.2]
  (+.5,1) to (+.5,-1);
\draw
  (-0,-.1) node {$\mathclap{\cdots}$};
\end{scope}

\draw
  (-2.1, -1.3) node {\color{blue}\scalebox{.5}{$1$}};

\draw
  (-1.1, -1.3) node {\color{blue}\scalebox{.5}{$i\!-\!1$}};

\draw
  (-.4, -1.3) node {\color{blue}\scalebox{.5}{$i$}};

\draw
  (+.35, -1.3) node {\color{blue}\scalebox{.5}{$i\!+\!1$}};

\draw
  (+1.1, -1.3) node {\color{blue}\scalebox{.5}{$i\!+\!2$}};

\draw
  (+2.1, -1.3) node {\color{blue}\scalebox{.5}{$n+1$}};

\end{tikzpicture}
}
\color{orange}
\right]
\color{black}
\end{tikzcd}

* relations I:

  \[
    \label{ArtinRelations}
    \underset{
      i+1 \lt j
    }{\forall}
    \;\;\;
     b_i \cdot b_j
     \;=\;
     b_j \cdot b_i
  \]

\begin{tikzcd}
\color{orange}
\left[
\color{black}
\raisebox{-20pt}{
\begin{tikzpicture}

\begin{scope}

\begin{scope}[shift={(-1.6,0)}]
\draw[line width=1.4]
  (-.5,1) to (-.5,-1);
\draw[line width=1.2]
  (+.5,1) to (+.5,-1);
\draw
  (-0,-.1) node {$\mathclap{\cdots}$};
\end{scope}

\draw[line width=1.4]
  (-.35,-1)
  .. controls (-.35,0) and (+.35,0)  ..
  (+.35,1);

\draw[line width=4.5, white]
  (+.35,-1)
  .. controls (+.35,0) and (-.35,0)  ..
  (-.35,1);
\draw[line width=1.4]
  (+.35,-1)
  .. controls (+.35,0) and (-.35,0)  ..
  (-.35,1);

\begin{scope}[shift={(+1.6,0)}]
\draw[line width=1.4]
  (-.5,1) to (-.5,-1);
\draw[line width=1.2]
  (+.5,1) to (+.5,-1);
\draw
  (-0,-.1) node {$\mathclap{\cdots}$};
\end{scope}

\begin{scope}[shift={(3.2,0)}]
\draw[line width=1.4]
  (-.35,-1)
  --
  (-.35,1);

\draw[line width=1.4]
  (+.35,-1)
  --
  (+.35,1);
\end{scope}

\begin{scope}[shift={(+4.8,0)}]
\draw[line width=1.4]
  (-.5,1) to (-.5,-1);
\draw[line width=1.2]
  (+.5,1) to (+.5,-1);
\draw
  (-0,-.1) node {$\mathclap{\cdots}$};
\end{scope}

\draw
  (-2.1, -1.3) node {\color{blue}\scalebox{.5}{$1$}};

\draw
  (-1.1, -1.3) node {\color{blue}\scalebox{.5}{$i\!-\!1$}};

\draw
  (-.4, -1.3) node {\color{blue}\scalebox{.5}{$i$}};

\draw
  (+.35, -1.3) node {\color{blue}\scalebox{.5}{$i\!+\!1$}};

\draw
  (+1.1, -1.3) node {\color{blue}\scalebox{.5}{$i\!+\!2$}};

\draw
  (+2.1, -1.3) node {\color{blue}\scalebox{.5}{$j\!-\!1$}};

\draw
  (+2.8, -1.3) node {\color{blue}\scalebox{.5}{$j$}};

\draw
  (+3.5, -1.3) node {\color{blue}\scalebox{.5}{$j\!+\!1$}};

\draw
  (+4.3, -1.3) node {\color{blue}\scalebox{.5}{$j\!+\!2$}};

\draw
  (+5.3, -1.3) node {\color{blue}\scalebox{.5}{$n\!+\!1$}};

\end{scope}

\begin{scope}[shift={(0,2)}]

\begin{scope}[shift={(-1.6,0)}]
\draw[line width=1.4]
  (-.5,1) to (-.5,-1);
\draw[line width=1.2]
  (+.5,1) to (+.5,-1);
\draw
  (-0,-.1) node {$\mathclap{\cdots}$};
\end{scope}

\begin{scope}
\draw[line width=1.4]
  (-.35,-1)
  --
  (-.35,1);

\draw[line width=1.4]
  (+.35,-1)
  --
  (+.35,1);
\end{scope}

\begin{scope}[shift={(+1.6,0)}]
\draw[line width=1.4]
  (-.5,1) to (-.5,-1);
\draw[line width=1.2]
  (+.5,1) to (+.5,-1);
\draw
  (-0,-.1) node {$\mathclap{\cdots}$};
\end{scope}

\begin{scope}[shift={(3.2,0)}]
\draw[line width=1.4]
  (-.35,-1)
  .. controls (-.35,0) and (+.35,0)  ..
  (+.35,1);
\draw[line width=4.5, white]
  (+.35,-1)
  .. controls (+.35,0) and (-.35,0)  ..
  (-.35,1);
\draw[line width=1.4]
  (+.35,-1)
  .. controls (+.35,0) and (-.35,0)  ..
  (-.35,1);
\end{scope}

\begin{scope}[shift={(+4.8,0)}]
\draw[line width=1.4]
  (-.5,1) to (-.5,-1);
\draw[line width=1.2]
  (+.5,1) to (+.5,-1);
\draw
  (-0,-.1) node {$\mathclap{\cdots}$};
\end{scope}

\end{scope}

\end{tikzpicture}
}
\color{orange}
\right]
\color{black}
\;\;\;\;\;
  =
\;\;\;\;\;
\color{orange}
\left[
\color{black}
\raisebox{-20pt}{
\begin{tikzpicture}

\begin{scope}[shift={(0,2)}]

\begin{scope}

\begin{scope}[shift={(-1.6,0)}]
\draw[line width=1.4]
  (-.5,1) to (-.5,-1);
\draw[line width=1.2]
  (+.5,1) to (+.5,-1);
\draw
  (-0,-.1) node {$\mathclap{\cdots}$};
\end{scope}

\draw[line width=1.4]
  (-.35,-1)
  .. controls (-.35,0) and (+.35,0)  ..
  (+.35,1);

\draw[line width=4.5, white]
  (+.35,-1)
  .. controls (+.35,0) and (-.35,0)  ..
  (-.35,1);
\draw[line width=1.4]
  (+.35,-1)
  .. controls (+.35,0) and (-.35,0)  ..
  (-.35,1);

\begin{scope}[shift={(+1.6,0)}]
\draw[line width=1.4]
  (-.5,1) to (-.5,-1);
\draw[line width=1.2]
  (+.5,1) to (+.5,-1);
\draw
  (-0,-.1) node {$\mathclap{\cdots}$};
\end{scope}

\begin{scope}[shift={(3.2,0)}]
\draw[line width=1.4]
  (-.35,-1)
  --
  (-.35,1);

\draw[line width=1.4]
  (+.35,-1)
  --
  (+.35,1);
\end{scope}

\begin{scope}[shift={(+4.8,0)}]
\draw[line width=1.4]
  (-.5,1) to (-.5,-1);
\draw[line width=1.2]
  (+.5,1) to (+.5,-1);
\draw
  (-0,-.1) node {$\mathclap{\cdots}$};
\end{scope}

\end{scope}

\end{scope}

\begin{scope}[shift={(0,0)}]

\begin{scope}[shift={(-1.6,0)}]
\draw[line width=1.4]
  (-.5,1) to (-.5,-1);
\draw[line width=1.2]
  (+.5,1) to (+.5,-1);
\draw
  (-0,-.1) node {$\mathclap{\cdots}$};
\end{scope}

\begin{scope}
\draw[line width=1.4]
  (-.35,-1)
  --
  (-.35,1);

\draw[line width=1.4]
  (+.35,-1)
  --
  (+.35,1);
\end{scope}

\begin{scope}[shift={(+1.6,0)}]
\draw[line width=1.4]
  (-.5,1) to (-.5,-1);
\draw[line width=1.2]
  (+.5,1) to (+.5,-1);
\draw
  (-0,-.1) node {$\mathclap{\cdots}$};
\end{scope}

\begin{scope}[shift={(3.2,0)}]
\draw[line width=1.4]
  (-.35,-1)
  .. controls (-.35,0) and (+.35,0)  ..
  (+.35,1);
\draw[line width=4.5, white]
  (+.35,-1)
  .. controls (+.35,0) and (-.35,0)  ..
  (-.35,1);
\draw[line width=1.4]
  (+.35,-1)
  .. controls (+.35,0) and (-.35,0)  ..
  (-.35,1);
\end{scope}

\begin{scope}[shift={(+4.8,0)}]
\draw[line width=1.4]
  (-.5,1) to (-.5,-1);
\draw[line width=1.2]
  (+.5,1) to (+.5,-1);
\draw
  (-0,-.1) node {$\mathclap{\cdots}$};
\end{scope}

\draw
  (-2.1, -1.3) node {\color{blue}\scalebox{.5}{$1$}};

\draw
  (-1.1, -1.3) node {\color{blue}\scalebox{.5}{$i\!-\!1$}};

\draw
  (-.4, -1.3) node {\color{blue}\scalebox{.5}{$i$}};

\draw
  (+.35, -1.3) node {\color{blue}\scalebox{.5}{$i\!+\!1$}};

\draw
  (+1.1, -1.3) node {\color{blue}\scalebox{.5}{$i\!+\!2$}};

\draw
  (+2.1, -1.3) node {\color{blue}\scalebox{.5}{$j\!-\!1$}};

\draw
  (+2.8, -1.3) node {\color{blue}\scalebox{.5}{$j$}};

\draw
  (+3.5, -1.3) node {\color{blue}\scalebox{.5}{$j\!+\!1$}};

\draw
  (+4.3, -1.3) node {\color{blue}\scalebox{.5}{$j\!+\!2$}};

\draw
  (+5.3, -1.3) node {\color{blue}\scalebox{.5}{$n\!+\!1$}};

\end{scope}

\end{tikzpicture}
}
\color{orange}
\right]
\color{black}
\end{tikzcd}

\linebreak

* relations II

  \[
    \underset{
      1 \leq i \lt n
    }{\forall}
    \;\;\;
    b_i \cdot b_{i+1} \cdot b_i
    \;=\;
    b_{i+1} \cdot b_i \cdot b_{i+1}
  \]

\begin{tikzcd}
\color{orange}
\left[
\color{black}
\raisebox{-24pt}{
\begin{tikzpicture}[yscale=.5]

\begin{scope}[shift={(-1.6,0)}]
\draw[line width=1.4]
  (-.5,5) to (-.5,-1);
\draw[line width=1.2]
  (+.5,5) to (+.5,-1);
\draw
  (-0,2.2) node {$\mathclap{\cdots}$};
\end{scope}

\begin{scope}[shift={(0,4)}]
\draw[line width=1.4]
  (-.35,-1)
  .. controls (-.35,0) and (+.35,0)  ..
  (+.35,1);

\draw[line width=4.5, white]
  (+.35,-1)
  .. controls (+.35,0) and (-.35,0)  ..
  (-.35,1);
\draw[line width=1.4]
  (+.35,-1)
  .. controls (+.35,0) and (-.35,0)  ..
  (-.35,1);
\end{scope}

\draw[line width=1.4]
  (-.35,3)
  --
  (-.35,1);

\draw[line width=1.4]
  (+1.05,5)
  --
  (+1.05,3);

\begin{scope}[shift={(.7,2)}]
\draw[line width=1.4]
  (-.35,-1)
  .. controls (-.35,0) and (+.35,0)  ..
  (+.35,1);

\draw[line width=4.5, white]
  (+.35,-1)
  .. controls (+.35,0) and (-.35,0)  ..
  (-.35,1);
\draw[line width=1.4]
  (+.35,-1)
  .. controls (+.35,0) and (-.35,0)  ..
  (-.35,1);
\end{scope}

\begin{scope}
\draw[line width=1.4]
  (-.35,-1)
  .. controls (-.35,0) and (+.35,0)  ..
  (+.35,1);

\draw[line width=4.5, white]
  (+.35,-1)
  .. controls (+.35,0) and (-.35,0)  ..
  (-.35,1);
\draw[line width=1.4]
  (+.35,-1)
  .. controls (+.35,0) and (-.35,0)  ..
  (-.35,1);
\end{scope}

 \draw[line width=1.4]
   (1.05,1) to (1.05,-1);

\begin{scope}[shift={(+2.4,0)}]
\draw[line width=1.4]
  (-.5,5) to (-.5,-1);
\draw[line width=1.2]
  (+.5,5) to (+.5,-1);
\draw
  (-0,2.2) node {$\mathclap{\cdots}$};
\end{scope}

\draw
  (-2.1, -1.4) node {\color{blue}\scalebox{.5}{$1$}};

\draw
  (-1.1, -1.4) node {\color{blue}\scalebox{.5}{$i\!-\!1$}};

\draw
  (-.4, -1.4) node {\color{blue}\scalebox{.5}{$i$}};

\draw
  (+.35, -1.4) node {\color{blue}\scalebox{.5}{$i\!+\!1$}};

\draw
  (+1.1, -1.4) node {\color{blue}\scalebox{.5}{$i\!+\!2$}};

\draw
  (+1.9, -1.4) node {\color{blue}\scalebox{.5}{$i\!+\!3$}};

\draw
  (+2.9, -1.4) node {\color{blue}\scalebox{.5}{$n\!+\!1$}};
\end{tikzpicture}
}
\color{orange}
\right]
\color{black}
\;\;\;\;\;
=
\;\;\;\;
\color{orange}
\left[
\color{black}
\raisebox{-24pt}{
\begin{tikzpicture}[yscale=.5]

\begin{scope}[shift={(-1.6,0)}]
\draw[line width=1.4]
  (-.5,5) to (-.5,-1);
\draw[line width=1.2]
  (+.5,5) to (+.5,-1);
\draw
  (-0,2.2) node {$\mathclap{\cdots}$};
\end{scope}

\begin{scope}[shift={(.7,4)}]
\draw[line width=1.4]
  (-.35,-1)
  .. controls (-.35,0) and (+.35,0)  ..
  (+.35,1);

\draw[line width=4.5, white]
  (+.35,-1)
  .. controls (+.35,0) and (-.35,0)  ..
  (-.35,1);
\draw[line width=1.4]
  (+.35,-1)
  .. controls (+.35,0) and (-.35,0)  ..
  (-.35,1);
\end{scope}

\draw[line width=1.4]
  (1.05,3)
  --
  (1.05,1);

\draw[line width=1.4]
  (-.35,5)
  --
  (-.35,3);

\draw[line width=1.4]
  (-.35,1)
  --
  (-.35,-1);

\begin{scope}[shift={(0,2)}]
\draw[line width=1.4]
  (-.35,-1)
  .. controls (-.35,0) and (+.35,0)  ..
  (+.35,1);

\draw[line width=4.5, white]
  (+.35,-1)
  .. controls (+.35,0) and (-.35,0)  ..
  (-.35,1);
\draw[line width=1.4]
  (+.35,-1)
  .. controls (+.35,0) and (-.35,0)  ..
  (-.35,1);
\end{scope}

\begin{scope}[shift={(.7,0)}]
\draw[line width=1.4]
  (-.35,-1)
  .. controls (-.35,0) and (+.35,0)  ..
  (+.35,1);

\draw[line width=4.5, white]
  (+.35,-1)
  .. controls (+.35,0) and (-.35,0)  ..
  (-.35,1);
\draw[line width=1.4]
  (+.35,-1)
  .. controls (+.35,0) and (-.35,0)  ..
  (-.35,1);
\end{scope}

\begin{scope}[shift={(+2.4,0)}]
\draw[line width=1.4]
  (-.5,5) to (-.5,-1);
\draw[line width=1.2]
  (+.5,5) to (+.5,-1);
\draw
  (-0,2.2) node {$\mathclap{\cdots}$};
\end{scope}

\draw
  (-2.1, -1.4) node {\color{blue}\scalebox{.5}{$1$}};

\draw
  (-1.1, -1.4) node {\color{blue}\scalebox{.5}{$i\!-\!1$}};

\draw
  (-.4, -1.4) node {\color{blue}\scalebox{.5}{$i$}};

\draw
  (+.35, -1.4) node {\color{blue}\scalebox{.5}{$i\!+\!1$}};

\draw
  (+1.1, -1.4) node {\color{blue}\scalebox{.5}{$i\!+\!2$}};

\draw
  (+1.9, -1.4) node {\color{blue}\scalebox{.5}{$i\!+\!3$}};

\draw
  (+2.9, -1.4) node {\color{blue}\scalebox{.5}{$n\!+\!1$}};
\end{tikzpicture}
}
\color{orange}
\right]
\color{black}
\end{tikzcd}

\end{definition}

##### Presentation of pure braids
 {#PresentationOfPureBraids}

Similarly, the [[pure braid group]] has a [[finitely presented group|finite presentation]].

One possible set of generators (also originally considered by Artin) are the "weave" braids where one strands lassos exactly one other strand:

\begin{tikzcd}
b_{ij}
\;\;
  :=
\;\;
\color{orange}
\left[
\color{black}
\raisebox{5pt}{
\begin{tikzpicture}[yscale=1, xscale=1.3]

\draw[line width=1.4]
  (.55,0)
  .. controls (.55, +.5) and (-.8, +.5) ..
  (-.8,+1);

\begin{scope}[shift={(-1.4,0)}]
\draw[line width=1.4]
  (-.3,1) to (-.3,-1);
\draw[line width=1.4]
  (+.4,1) to (+.4,-1);
\draw
  (+.05,-.1) node {$\mathclap{\cdots}$};
\end{scope}

\begin{scope}[shift={(-0,0)}]
\draw[line width=1.4]
  (-.6,1) to (-.6,-1);
\draw[line width=1.4]
  (-.4,1) to (-.4,-1);
\draw[line width=4, white]
  (+.4,1) to (+.4,-1);
\draw[line width=1.4]
  (+.4,1) to (+.4,-1);
\draw[line width=4, white]
  (+.2,1) to (+.2,-1);
\draw[line width=1.4]
  (+.2,1) to (+.2,-1);
\draw
  (-.1,-.1) node {$\mathclap{\cdots}$};
\end{scope}

\begin{scope}[shift={(+.8,0)}]
\draw[line width=1.4]
  (-.4,1) to (-.4,-1);
\draw[line width=1.2]
  (+.3,1) to (+.3,-1);
\draw
  (-.01,-.1) node {$\mathclap{\cdots}$};
\end{scope}

\draw[line width=4, white]
  (-.8,-1)
  .. controls   (-.8, -.5)  and (.55, -.5)  ..
  (.55,0);
\draw[line width=1.4]
  (-.8,-1)
  .. controls   (-.8, -.5)  and (.55, -.5)  ..
  (.55,0);

\begin{scope}
\clip
  (-.9,0) rectangle (+.3,1.2);
\draw[line width=4, white]
  (.55,0)
  .. controls (.55, +.5) and (-.8, +.5) ..
  (-.8,+1);
\draw[line width=1.4]
  (.55,0)
  .. controls (.55, +.5) and (-.8, +.5) ..
  (-.8,+1);
\end{scope}

\draw
  (-.8,-1.3) node {
    \scalebox{.7}{
      \color{blue}
      $i$
    }
  };

\draw
  (+.4,-1.3) node {
    \scalebox{.7}{
      \color{blue}
      $j$
    }
  };

\end{tikzpicture}
}
\color{orange}
\right]
\color{black}
\;\;
=
\;\;
\color{orange}
\left[
\color{black}
\raisebox{5pt}{
\begin{tikzpicture}[yscale=-1, xscale=-1.3]

\draw[line width=1.4]
  (.55,0)
  .. controls (.55, +.5) and (-.8, +.5) ..
  (-.8,+1);

\begin{scope}[shift={(-1.4,0)}]
\draw[line width=1.4]
  (-.3,1) to (-.3,-1);
\draw[line width=1.4]
  (+.4,1) to (+.4,-1);
\draw
  (+.05,-.1) node {$\mathclap{\cdots}$};
\end{scope}

\begin{scope}[shift={(-0,0)}]
\draw[line width=1.4]
  (-.6,1) to (-.6,-1);
\draw[line width=1.4]
  (-.4,1) to (-.4,-1);
\draw[line width=4, white]
  (+.4,1) to (+.4,-1);
\draw[line width=1.4]
  (+.4,1) to (+.4,-1);
\draw[line width=4, white]
  (+.2,1) to (+.2,-1);
\draw[line width=1.4]
  (+.2,1) to (+.2,-1);
\draw
  (-.1,-.1) node {$\mathclap{\cdots}$};
\end{scope}

\begin{scope}[shift={(+.8,0)}]
\draw[line width=1.4]
  (-.4,1) to (-.4,-1);
\draw[line width=1.2]
  (+.3,1) to (+.3,-1);
\draw
  (-.01,-.1) node {$\mathclap{\cdots}$};
\end{scope}

\draw[line width=4, white]
  (-.8,-1)
  .. controls   (-.8, -.5)  and (.55, -.5)  ..
  (.55,0);
\draw[line width=1.4]
  (-.8,-1)
  .. controls   (-.8, -.5)  and (.55, -.5)  ..
  (.55,0);

\begin{scope}
\clip
  (-.9,0) rectangle (+.3,1.2);
\draw[line width=4, white]
  (.55,0)
  .. controls (.55, +.5) and (-.8, +.5) ..
  (-.8,+1);
\draw[line width=1.4]
  (.55,0)
  .. controls (.55, +.5) and (-.8, +.5) ..
  (-.8,+1);
\end{scope}

\draw
  (-.8,+1.3) node {
    \scalebox{-.7}{
      \color{blue}
      $j$
    }
  };

\draw
  (+.4,+1.3) node {
    \scalebox{-.7}{
      \color{blue}
      $i$
    }
  };

\end{tikzpicture}
}
\color{orange}
\right]
\color{black}
\end{tikzcd}

{#LeeRelationsForPureBraidGroup} In terms of these generators, the [[pure braid group]] is obained by quotienting out the following relations --- an optimization of Artin's original pure braid relations, due to [Lee (2010, Thm. 1.1, Rem. 3.1)](#Lee10):

\begin{tikzcd}
\color{orange}
\left[
\color{black}
\raisebox{7pt}{
\begin{tikzpicture}[line width=1.2]

\begin{scope}[shift={(0,+1)}]

\begin{scope}[shift={(-2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (-2,-1) to (-2,1);

\begin{scope}[shift={(-1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (-1,-1) to (-1,1);

\begin{scope}[shift={(0,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\begin{scope}[shift={(+1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (+1,-1) to (+1,1);

\begin{scope}[shift={(+2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\begin{scope}[shift={(2,0)}]
\draw[line width=4, white]
  (-2,-1)
    --
  (-2,-.8)
    .. controls (-2,-.4) and (-.85, -.4) ..
  (-.85, 0)
    .. controls (-.85, +.4) and (-2, +.4) ..
  (-2,+.8)
    --
  (-2, 1);
\draw
  (-2,-1)
    --
  (-2,-.8)
    .. controls (-2,-.4) and (-.85, -.4) ..
  (-.85, 0)
    .. controls (-.85, +.4) and (-2, +.4) ..
  (-2,+.8)
    --
  (-2, 1);
\end{scope}

\draw[line width=4, white]
  (+1,0) to (+1,1);
\draw
  (+1,0) to (+1,1);

\end{scope}

\begin{scope}[shift={(0,-1)}]

\begin{scope}[shift={(-2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\begin{scope}[shift={(-1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (-1,-1) to (-1,0);

\begin{scope}[shift={(0,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (0,-1) to (0,1);

\begin{scope}[shift={(+1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (+1,-1) to (+1,1);

\begin{scope}[shift={(+2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw[line width=4, white]
  (-2,-1)
    --
  (-2,-.8)
    .. controls (-2,-.4) and (-.85, -.4) ..
  (-.85, 0)
    .. controls (-.85, +.4) and (-2, +.4) ..
  (-2,+.8)
    --
  (-2, 1);
\draw
  (-2,-1)
    --
  (-2,-.8)
    .. controls (-2,-.4) and (-.85, -.4) ..
  (-.85, 0)
    .. controls (-.85, +.4) and (-2, +.4) ..
  (-2,+.8)
    --
  (-2, 1);

\draw[line width=4, white]
  (-1,0) to (-1,1);
\draw
  (-1,0) to (-1,1);

\end{scope}

\node
  at (-2,-2.4) {
    \color{blue}
    $i$
  };

\node
  at (-1,-2.4) {
    \color{blue}
    $j$
  };

\node
  at (0,-2.4) {
    \color{blue}
    $k$
  };

\node
  at (+1,-2.4) {
    \color{blue}
    $l$
  };

\end{tikzpicture}
}
\color{orange}
\right]
\color{black}
\;\;\;
=
\;\;\;
\color{orange}
\left[
\color{black}
\raisebox{7pt}{
\begin{tikzpicture}[line width=1.2]

\begin{scope}[shift={(0,-1)}]

\begin{scope}[shift={(-2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (-2,-1) to (-2,1);

\begin{scope}[shift={(-1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (-1,-1) to (-1,1);

\begin{scope}[shift={(0,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\begin{scope}[shift={(+1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (+1,-1) to (+1,1);

\begin{scope}[shift={(+2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\begin{scope}[shift={(2,0)}]
\draw[line width=4, white]
  (-2,-1)
    --
  (-2,-.8)
    .. controls (-2,-.4) and (-.85, -.4) ..
  (-.85, 0)
    .. controls (-.85, +.4) and (-2, +.4) ..
  (-2,+.8)
    --
  (-2, 1);
\draw
  (-2,-1)
    --
  (-2,-.8)
    .. controls (-2,-.4) and (-.85, -.4) ..
  (-.85, 0)
    .. controls (-.85, +.4) and (-2, +.4) ..
  (-2,+.8)
    --
  (-2, 1);
\end{scope}

\draw[line width=4, white]
  (+1,0) to (+1,1);
\draw
  (+1,0) to (+1,1);

\end{scope}

\begin{scope}[shift={(0,+1)}]

\begin{scope}[shift={(-2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\begin{scope}[shift={(-1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (-1,-1) to (-1,0);

\begin{scope}[shift={(0,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (0,-1) to (0,1);

\begin{scope}[shift={(+1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (+1,-1) to (+1,1);

\begin{scope}[shift={(+2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw[line width=4, white]
  (-2,-1)
    --
  (-2,-.8)
    .. controls (-2,-.4) and (-.85, -.4) ..
  (-.85, 0)
    .. controls (-.85, +.4) and (-2, +.4) ..
  (-2,+.8)
    --
  (-2, 1);
\draw
  (-2,-1)
    --
  (-2,-.8)
    .. controls (-2,-.4) and (-.85, -.4) ..
  (-.85, 0)
    .. controls (-.85, +.4) and (-2, +.4) ..
  (-2,+.8)
    --
  (-2, 1);

\draw[line width=4, white]
  (-1,0) to (-1,1);
\draw
  (-1,0) to (-1,1);

\end{scope}

\node
  at (-2,-2.4) {
    \color{blue}
    $i$
  };

\node
  at (-1,-2.4) {
    \color{blue}
    $j$
  };

\node
  at (0,-2.4) {
    \color{blue}
    $k$
  };

\node
  at (+1,-2.4) {
    \color{blue}
    $l$
  };

\end{tikzpicture}
}
\color{orange}
\right]
\color{black}
\end{tikzcd}

\begin{tikzcd}
\color{orange}
\left[
\color{black}
\raisebox{5pt}{
\begin{tikzpicture}[line width=1.2]

\begin{scope}[shift={(0,-1)}]

\begin{scope}[shift={(-1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (-1,-1) to (-1,1);

\begin{scope}[shift={(0,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (0,0) to (0,1);

\begin{scope}[shift={(+1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw[line width=4, white]
  (+1,-1)
  --
  (+1,-.8)
   .. controls (+1, -.4) and (-.15, -.4) ..
  (-.15, 0)
   .. controls (-.15, +.4) and (+1, +.4) ..
  (+1,+.8)
  --
  (+1,+1);
\draw
  (+1,-1)
  --
  (+1,-.8)
   .. controls (+1, -.4) and (-.15, -.4) ..
  (-.15, 0)
   .. controls (-.15, +.4) and (+1, +.4) ..
  (+1,+.8)
  --
  (+1,+1);

\draw[line width=4, white]
  (0,-1) to (0,0);
\draw
  (0,-1) to (0,0);

\begin{scope}[shift={(+2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\end{scope}

\begin{scope}[shift={(0,1)}]

\begin{scope}[shift={(-1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\begin{scope}[shift={(0,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (0,-1) to (0,0);

\begin{scope}[shift={(+1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (+1,-1) to (+1,0);

\begin{scope}[shift={(+2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw[line width=4, white]
  (-1,-1)
    --
  (-1, -.8)
    .. controls (-1, -.4) and (1.15, -.4) ..
  (+1.15,0)
    .. controls (1.15, .4) and (-1, .4) ..
  (-1, +.8)
    --
  (-1,+1);
\draw
  (-1,-1)
    --
  (-1, -.8)
    .. controls (-1, -.4) and (1.15, -.4) ..
  (+1.15,0)
    .. controls (1.15, .4) and (-1, .4) ..
  (-1, +.8)
    --
  (-1,+1);

\draw[line width=4, white]
  (0,0) to (0,1);
\draw
  (0,0) to (0,1);

\draw[line width=4, white]
  (+1,0) to (+1,1);
\draw
  (+1,0) to (+1,1);

\end{scope}

\node
  at (-1,-2.4)
  {
    \scalebox{.9}{
      \color{blue}
      $r$
    }
  };

\node
  at (-0,-2.4)
  {
    \scalebox{.9}{
      \color{blue}
      $i$
    }
  };

\node
  at (+1,-2.4)
  {
    \scalebox{.9}{
      \color{blue}
      $j$
    }
  };

\end{tikzpicture}
}
\color{orange}
\right]
\color{black}
\;\;
=
\;\;
\color{orange}
\left[
\color{black}
\raisebox{5pt}{
\begin{tikzpicture}[line width=1.2]

\begin{scope}[shift={(0,+1)}]

\begin{scope}[shift={(-1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (-1,-1) to (-1,1);

\begin{scope}[shift={(0,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (0,0) to (0,1);

\begin{scope}[shift={(+1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw[line width=4, white]
  (+1,-1)
  --
  (+1,-.8)
   .. controls (+1, -.4) and (-.15, -.4) ..
  (-.15, 0)
   .. controls (-.15, +.4) and (+1, +.4) ..
  (+1,+.8)
  --
  (+1,+1);
\draw
  (+1,-1)
  --
  (+1,-.8)
   .. controls (+1, -.4) and (-.15, -.4) ..
  (-.15, 0)
   .. controls (-.15, +.4) and (+1, +.4) ..
  (+1,+.8)
  --
  (+1,+1);

\draw[line width=4, white]
  (0,-1) to (0,0);
\draw
  (0,-1) to (0,0);

\begin{scope}[shift={(+2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\end{scope}

\begin{scope}[shift={(0,-1)}]

\begin{scope}[shift={(-1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\begin{scope}[shift={(0,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (0,-1) to (0,0);

\begin{scope}[shift={(+1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (+1,-1) to (+1,0);

\begin{scope}[shift={(+2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw[line width=4, white]
  (-1,-1)
    --
  (-1, -.8)
    .. controls (-1, -.4) and (1.15, -.4) ..
  (+1.15,0)
    .. controls (1.15, .4) and (-1, .4) ..
  (-1, +.8)
    --
  (-1,+1);
\draw
  (-1,-1)
    --
  (-1, -.8)
    .. controls (-1, -.4) and (1.15, -.4) ..
  (+1.15,0)
    .. controls (1.15, .4) and (-1, .4) ..
  (-1, +.8)
    --
  (-1,+1);

\draw[line width=4, white]
  (0,0) to (0,1);
\draw
  (0,0) to (0,1);

\draw[line width=4, white]
  (+1,0) to (+1,1);
\draw
  (+1,0) to (+1,1);

\end{scope}

\node
  at (-1,-2.4)
  {
    \scalebox{.9}{
      \color{blue}
      $r$
    }
  };

\node
  at (-0,-2.4)
  {
    \scalebox{.9}{
      \color{blue}
      $i$
    }
  };

\node
  at (+1,-2.4)
  {
    \scalebox{.9}{
      \color{blue}
      $j$
    }
  };

\end{tikzpicture}
}
\color{orange}
\right]
\color{black}
\end{tikzcd}

\begin{tikzcd}
\color{orange}
\left[
\color{black}
\raisebox{5pt}{
\begin{tikzpicture}[line width=1.2]

\begin{scope}[shift={(0,-1)}]

\begin{scope}[shift={(-1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (-1,0) to (-1,1);

\begin{scope}[shift={(0,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (1,-1) to (1,1);

\begin{scope}[shift={(+1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\begin{scope}[shift={(-1,0)}]
\draw[line width=4, white]
  (+1,-1)
  --
  (+1,-.8)
   .. controls (+1, -.4) and (-.15, -.4) ..
  (-.15, 0)
   .. controls (-.15, +.4) and (+1, +.4) ..
  (+1,+.8)
  --
  (+1,+1);
\draw
  (+1,-1)
  --
  (+1,-.8)
   .. controls (+1, -.4) and (-.15, -.4) ..
  (-.15, 0)
   .. controls (-.15, +.4) and (+1, +.4) ..
  (+1,+.8)
  --
  (+1,+1);

\draw[line width=4, white]
  (0,-1) to (0,0);
\draw
  (0,-1) to (0,0);

\end{scope}

\begin{scope}[shift={(+2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\end{scope}

\begin{scope}[shift={(0,1)}, scale=-1]

\begin{scope}[shift={(-1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\begin{scope}[shift={(0,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (0,-1) to (0,0);

\begin{scope}[shift={(+1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (+1,-1) to (+1,0);

\begin{scope}[shift={(+2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw[line width=4, white]
  (-1,-1)
    --
  (-1, -.8)
    .. controls (-1, -.4) and (1.15, -.4) ..
  (+1.15,0)
    .. controls (1.15, .4) and (-1, .4) ..
  (-1, +.8)
    --
  (-1,+1);
\draw
  (-1,-1)
    --
  (-1, -.8)
    .. controls (-1, -.4) and (1.15, -.4) ..
  (+1.15,0)
    .. controls (1.15, .4) and (-1, .4) ..
  (-1, +.8)
    --
  (-1,+1);

\draw[line width=4, white]
  (0,0) to (0,1);
\draw
  (0,0) to (0,1);

\draw[line width=4, white]
  (+1,0) to (+1,1);
\draw
  (+1,0) to (+1,1);

\end{scope}

\node
  at (-1,-2.4)
  {
    \scalebox{.9}{
      \color{blue}
      $r$
    }
  };

\node
  at (-0,-2.4)
  {
    \scalebox{.9}{
      \color{blue}
      $i$
    }
  };

\node
  at (+1,-2.4)
  {
    \scalebox{.9}{
      \color{blue}
      $j$
    }
  };

\end{tikzpicture}
}
\color{orange}
\right]
\color{black}
\;\;
=
\;\;
\color{orange}
\left[
\color{black}
\raisebox{5pt}{
\begin{tikzpicture}[line width=1.2]

\begin{scope}[shift={(0,+1)}]

\begin{scope}[shift={(-1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (-1,0) to (-1,1);

\begin{scope}[shift={(0,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (1,-1) to (1,1);

\begin{scope}[shift={(+1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\begin{scope}[shift={(-1,0)}]
\draw[line width=4, white]
  (+1,-1)
  --
  (+1,-.8)
   .. controls (+1, -.4) and (-.15, -.4) ..
  (-.15, 0)
   .. controls (-.15, +.4) and (+1, +.4) ..
  (+1,+.8)
  --
  (+1,+1);
\draw
  (+1,-1)
  --
  (+1,-.8)
   .. controls (+1, -.4) and (-.15, -.4) ..
  (-.15, 0)
   .. controls (-.15, +.4) and (+1, +.4) ..
  (+1,+.8)
  --
  (+1,+1);

\draw[line width=4, white]
  (0,-1) to (0,0);
\draw
  (0,-1) to (0,0);

\end{scope}

\begin{scope}[shift={(+2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\end{scope}

\begin{scope}[shift={(0,-1)}, scale=-1]

\begin{scope}[shift={(-1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\begin{scope}[shift={(0,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (0,-1) to (0,0);

\begin{scope}[shift={(+1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (+1,-1) to (+1,0);

\begin{scope}[shift={(+2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw[line width=4, white]
  (-1,-1)
    --
  (-1, -.8)
    .. controls (-1, -.4) and (1.15, -.4) ..
  (+1.15,0)
    .. controls (1.15, .4) and (-1, .4) ..
  (-1, +.8)
    --
  (-1,+1);
\draw
  (-1,-1)
    --
  (-1, -.8)
    .. controls (-1, -.4) and (1.15, -.4) ..
  (+1.15,0)
    .. controls (1.15, .4) and (-1, .4) ..
  (-1, +.8)
    --
  (-1,+1);

\draw[line width=4, white]
  (0,0) to (0,1);
\draw
  (0,0) to (0,1);

\draw[line width=4, white]
  (+1,0) to (+1,1);
\draw
  (+1,0) to (+1,1);

\end{scope}

\node
  at (-1,-2.4)
  {
    \scalebox{.9}{
      \color{blue}
      $r$
    }
  };

\node
  at (-0,-2.4)
  {
    \scalebox{.9}{
      \color{blue}
      $i$
    }
  };

\node
  at (+1,-2.4)
  {
    \scalebox{.9}{
      \color{blue}
      $j$
    }
  };

\end{tikzpicture}
}
\color{orange}
\right]
\color{black}
\end{tikzcd}

\begin{tikzcd}
\color{orange}
\left[
\color{black}
\raisebox{8pt}{
\begin{tikzpicture}[line width=1.2]

\begin{scope}[shift={(0,+1)}]

\begin{scope}[shift={(-1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (-1,0) to (-1,1);

\begin{scope}[shift={(0,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (0,-1) to (0,1);

\begin{scope}[shift={(+1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\begin{scope}[shift={(+2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw[line width=4, white]
  (+1, -1)
    --
  (+1, -.8)
    .. controls (+1, -.4) and (-1.14, -.4) ..
  (-1.15, 0)
    .. controls (-1.15, .4) and (+1, .4) ..
  (+1, .8)
    --
  (+1, 1);
\draw
  (+1, -1)
    --
  (+1, -.8)
    .. controls (+1, -.4) and (-1.14, -.4) ..
  (-1.15, 0)
    .. controls (-1.15, .4) and (+1, .4) ..
  (+1, .8)
    --
  (+1, 1);

\draw[line width=4, white]
  (-1,-1) to (-1,0);
\draw
  (-1,-1) to (-1,0);

\end{scope}

\begin{scope}[shift={(0,-1)}]

\begin{scope}[shift={(-1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (-1,-.35) to (-1,1);

\begin{scope}[shift={(0,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\begin{scope}[shift={(+1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (+1,-1) to (+1,.4);

\begin{scope}[shift={(+2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw[line width=4, white]
  (0,-1)
    --
  (0,-.8)
    .. controls (0,-.6) and (-1.15, -.6) ..
  (-1.15, -.4)
    .. controls (-1.15, 0) and (+1.15, 0) ..
  (+1.15, +.4)
    .. controls (+1.15, .6) and (0, .6) ..
  (0, +.8)
    --
  (0,1);
\draw
  (0,-1)
    --
  (0,-.8)
    .. controls (0,-.6) and (-1.15, -.6) ..
  (-1.15, -.4)
    .. controls (-1.15, 0) and (+1.15, 0) ..
  (+1.15, +.4)
    .. controls (+1.15, .6) and (0, .6) ..
  (0, +.8)
    --
  (0,1);

\draw[line width=4, white]
  (-1,-1) to (-1,-.35);
\draw
  (-1,-1) to (-1,-.35);

\draw[line width=4, white]
  (+1, .4) to (+1, 1);
\draw
  (+1, .4) to (+1, 1);

\end{scope}

\node
  at (-1, -2.4) {
    \color{blue}
    $r$
  };

\node
  at (0, -2.4) {
    \color{blue}
    $i$
  };

\node
  at (+1, -2.4) {
    \color{blue}
    $j$
  };

\end{tikzpicture}
}
\color{orange}
\right]
\color{black}
\;\;\;
=
\;\;\;
\color{orange}
\left[
\color{black}
\raisebox{8pt}{
\begin{tikzpicture}[line width=1.2]

\begin{scope}[shift={(0,-1)}]

\begin{scope}[shift={(-1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (-1,0) to (-1,1);

\begin{scope}[shift={(0,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (0,-1) to (0,1);

\begin{scope}[shift={(+1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\begin{scope}[shift={(+2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw[line width=4, white]
  (+1, -1)
    --
  (+1, -.8)
    .. controls (+1, -.4) and (-1.14, -.4) ..
  (-1.15, 0)
    .. controls (-1.15, .4) and (+1, .4) ..
  (+1, .8)
    --
  (+1, 1);
\draw
  (+1, -1)
    --
  (+1, -.8)
    .. controls (+1, -.4) and (-1.14, -.4) ..
  (-1.15, 0)
    .. controls (-1.15, .4) and (+1, .4) ..
  (+1, .8)
    --
  (+1, 1);

\draw[line width=4, white]
  (-1,-1) to (-1,0);
\draw
  (-1,-1) to (-1,0);

\end{scope}

\begin{scope}[shift={(0,+1)}]

\begin{scope}[shift={(-1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (-1,-.35) to (-1,1);

\begin{scope}[shift={(0,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\begin{scope}[shift={(+1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (+1,-1) to (+1,.4);

\begin{scope}[shift={(+2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw[line width=4, white]
  (0,-1)
    --
  (0,-.8)
    .. controls (0,-.6) and (-1.15, -.6) ..
  (-1.15, -.4)
    .. controls (-1.15, 0) and (+1.15, 0) ..
  (+1.15, +.4)
    .. controls (+1.15, .6) and (0, .6) ..
  (0, +.8)
    --
  (0,1);
\draw
  (0,-1)
    --
  (0,-.8)
    .. controls (0,-.6) and (-1.15, -.6) ..
  (-1.15, -.4)
    .. controls (-1.15, 0) and (+1.15, 0) ..
  (+1.15, +.4)
    .. controls (+1.15, .6) and (0, .6) ..
  (0, +.8)
    --
  (0,1);

\draw[line width=4, white]
  (-1,-1) to (-1,-.35);
\draw
  (-1,-1) to (-1,-.35);

\draw[line width=4, white]
  (+1, .4) to (+1, 1);
\draw
  (+1, .4) to (+1, 1);

\end{scope}

\node
  at (-1, -2.4) {
    \color{blue}
    $r$
  };

\node
  at (0, -2.4) {
    \color{blue}
    $i$
  };

\node
  at (+1, -2.4) {
    \color{blue}
    $j$
  };

\end{tikzpicture}
}
\color{orange}
\right]
\color{black}
\end{tikzcd}

\begin{tikzcd}
\color{orange}
\left[
\color{black}
\raisebox{8pt}{

\begin{tikzpicture}[line width=1.2]

\begin{scope}[shift={(0,+1)}]

\begin{scope}[shift={(-1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (-1,0) to (-1,1);

\begin{scope}[shift={(0,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (0,-1) to (0,1);

\begin{scope}[shift={(+1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\begin{scope}[shift={(+2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (+2,-1) to (+2,1);

\begin{scope}[shift={(+3,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw[line width=4, white]
  (+1, -1)
    --
  (+1, -.8)
    .. controls (+1, -.4) and (-1.14, -.4) ..
  (-1.15, 0)
    .. controls (-1.15, .4) and (+1, .4) ..
  (+1, .8)
    --
  (+1, 1);
\draw
  (+1, -1)
    --
  (+1, -.8)
    .. controls (+1, -.4) and (-1.14, -.4) ..
  (-1.15, 0)
    .. controls (-1.15, .4) and (+1, .4) ..
  (+1, .8)
    --
  (+1, 1);

\draw[line width=4, white]
  (-1,-1) to (-1,0);
\draw
  (-1,-1) to (-1,0);

\end{scope}

\begin{scope}[shift={(0,-1)}]

\begin{scope}[shift={(-1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (-1,-1) to (-1,1);

\begin{scope}[shift={(0,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (0,-1) to (0,1);

\begin{scope}[shift={(+1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (+1,-1) to (+1,1);

\begin{scope}[shift={(+2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\begin{scope}[shift={(+3,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw[line width=4, white]
  (+2, -1)
    --
  (+2, -.8)
    .. controls (2, -.4) and (-1.15, -.4) ..
  (-1.15, 0)
    .. controls (-1.15, +.4) and (2, +.4) ..
  (+2, +.8)
    --
  (+2, 1);
\draw
  (+2, -1)
    --
  (+2, -.8)
    .. controls (2, -.4) and (-1.15, -.4) ..
  (-1.15, 0)
    .. controls (-1.15, +.4) and (2, +.4) ..
  (+2, +.8)
    --
  (+2, 1);

\draw[line width=4, white]
  (-1,-1) to (-1,0);
\draw
  (-1,-1) to (-1,0);

\draw[line width=4, white]
  (0,-1) to (0,0);
\draw
  (0,-1) to (0,0);

\draw[line width=4, white]
  (1,-1) to (1,0);
\draw
  (1,-1) to (1,0);

\end{scope}

\node
  at (-1, -2.4) {
    \color{blue}
    $r$
  };

\node
  at (0, -2.4) {
    \color{blue}
    $i$
  };

\node
  at (+1, -2.4) {
    \color{blue}
    $s$
  };

\node
  at (+2, -2.4) {
    \color{blue}
    $j$
  };

\end{tikzpicture}
}
\color{orange}
\right]
\color{black}
\;\;\;
=
\;\;\;
\color{orange}
\left[
\color{black}
\raisebox{8pt}{

\begin{tikzpicture}[line width=1.2]

\begin{scope}[shift={(0,-1)}]

\begin{scope}[shift={(-1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (-1,0) to (-1,1);

\begin{scope}[shift={(0,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (0,-1) to (0,1);

\begin{scope}[shift={(+1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\begin{scope}[shift={(+2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (+2,-1) to (+2,1);

\begin{scope}[shift={(+3,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw[line width=4, white]
  (+1, -1)
    --
  (+1, -.8)
    .. controls (+1, -.4) and (-1.14, -.4) ..
  (-1.15, 0)
    .. controls (-1.15, .4) and (+1, .4) ..
  (+1, .8)
    --
  (+1, 1);
\draw
  (+1, -1)
    --
  (+1, -.8)
    .. controls (+1, -.4) and (-1.14, -.4) ..
  (-1.15, 0)
    .. controls (-1.15, .4) and (+1, .4) ..
  (+1, .8)
    --
  (+1, 1);

\draw[line width=4, white]
  (-1,-1) to (-1,0);
\draw
  (-1,-1) to (-1,0);

\end{scope}

\begin{scope}[shift={(0,+1)}]

\begin{scope}[shift={(-1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (-1,-1) to (-1,1);

\begin{scope}[shift={(0,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (0,-1) to (0,1);

\begin{scope}[shift={(+1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (+1,-1) to (+1,1);

\begin{scope}[shift={(+2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\begin{scope}[shift={(+3,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw[line width=4, white]
  (+2, -1)
    --
  (+2, -.8)
    .. controls (2, -.4) and (-1.15, -.4) ..
  (-1.15, 0)
    .. controls (-1.15, +.4) and (2, +.4) ..
  (+2, +.8)
    --
  (+2, 1);
\draw
  (+2, -1)
    --
  (+2, -.8)
    .. controls (2, -.4) and (-1.15, -.4) ..
  (-1.15, 0)
    .. controls (-1.15, +.4) and (2, +.4) ..
  (+2, +.8)
    --
  (+2, 1);

\draw[line width=4, white]
  (-1,-1) to (-1,0);
\draw
  (-1,-1) to (-1,0);

\draw[line width=4, white]
  (0,-1) to (0,0);
\draw
  (0,-1) to (0,0);

\draw[line width=4, white]
  (1,-1) to (1,0);
\draw
  (1,-1) to (1,0);

\end{scope}

\node
  at (-1, -2.4) {
    \color{blue}
    $r$
  };

\node
  at (0, -2.4) {
    \color{blue}
    $i$
  };

\node
  at (+1, -2.4) {
    \color{blue}
    $s$
  };

\node
  at (+2, -2.4) {
    \color{blue}
    $j$
  };

\end{tikzpicture}
}
\color{orange}
\right]
\color{black}
\end{tikzcd}

Here we repeatedly used products of pure braid generators of the following form:

\begin{tikzcd}
\color{orange}
\left[
\color{black}
\raisebox{30pt}{
\begin{tikzpicture}[line width=1.2]

\begin{scope}[shift={(0,-3)}]

\begin{scope}[shift={(-1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\begin{scope}[shift={(0,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (0,-1) to (0,1);

\begin{scope}[shift={(+1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (+1,-1) to (+1,1);

\begin{scope}[shift={(+2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (+2,-1) to (+2,1);

\begin{scope}[shift={(+3,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw[line width=4pt, white]
  (-1,-1)
    --
  (-1, -.8)
    .. controls (-1, -.4) and (2.15, -.4) ..
  (2.15, 0)
    .. controls (2.15, .4) and (-1, .4) ..
  (-1, .8)
    --
  (-1,1);
\draw
  (-1,-1)
    --
  (-1, -.8)
    .. controls (-1, -.4) and (2.15, -.4) ..
  (2.15, 0)
    .. controls (2.15, .4) and (-1, .4) ..
  (-1, .8)
    --
  (-1,1);

\draw[line width=4pt, white]
  (2, 0) to (2,1);
\draw
  (2, 0) to (2,1);

\end{scope}

\begin{scope}[shift={(0,-1)}]

\begin{scope}[shift={(-1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\begin{scope}[shift={(0,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (0,-1) to (0,1);

\begin{scope}[shift={(+1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (+1,-1) to (+1,1);

\begin{scope}[shift={(+2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (+2,-1) to (+2,1);

\begin{scope}[shift={(+3,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw[line width=4pt, white]
  (-1,-1)
    --
  (-1, -.8)
    .. controls (-1, -.4) and (1.15, -.4) ..
  (1.15, 0)
    .. controls (1.15, .4) and (-1, .4) ..
  (-1, .8)
    --
  (-1,1);
\draw
  (-1,-1)
    --
  (-1, -.8)
    .. controls (-1, -.4) and (1.15, -.4) ..
  (1.15, 0)
    .. controls (1.15, .4) and (-1, .4) ..
  (-1, .8)
    --
  (-1,1);

\draw[line width=4pt, white]
  (1, 0) to (1,1);
\draw
  (1, 0) to (1,1);

\end{scope}

\begin{scope}[shift={(0,+1)}]

\begin{scope}[shift={(-1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\begin{scope}[shift={(0,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (0,-1) to (0,1);

\begin{scope}[shift={(+1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (+1,-1) to (+1,1);

\begin{scope}[shift={(+2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (+2,-1) to (+2,1);

\begin{scope}[shift={(+3,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw[line width=4, white]
  (-1,-1)
    --
  (-1,-.8)
    .. controls (-1, -.4) and (.15, -.4) ..
  (.15, 0)
    .. controls (.15, .4) and (-1, .4) ..
  (-1, .8)
    --
  (-1, 1);
\draw
  (-1,-1)
    --
  (-1,-.8)
    .. controls (-1, -.4) and (.15, -.4) ..
  (.15, 0)
    .. controls (.15, .4) and (-1, .4) ..
  (-1, .8)
    --
  (-1, 1);

\draw[line width=4, white]
  (0, 0) to (0,1);
\draw
  (0, 0) to (0,1);

\end{scope}

\end{tikzpicture}
}
\color{orange}
\right]
\color{black}
\;\;\;
=
\;\;\;
\color{orange}
\left[
\color{black}
\raisebox{30pt}{
\begin{tikzpicture}[line width=1.2]

\begin{scope}[shift={(0,-2)}, yscale=2]

\begin{scope}[shift={(-1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\begin{scope}[shift={(0,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (0,-1) to (0,1);

\begin{scope}[shift={(+1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (+1,-1) to (+1,1);

\begin{scope}[shift={(+2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (+2,-1) to (+2,1);

\begin{scope}[shift={(+3,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw[line width=4pt, white]
  (-1,-1)
    --
  (-1, -.8)
    .. controls (-1, -.4) and (2.15, -.4) ..
  (2.15, 0)
    .. controls (2.15, .4) and (-1, .4) ..
  (-1, .8)
    --
  (-1,1);
\draw
  (-1,-1)
    --
  (-1, -.8)
    .. controls (-1, -.4) and (2.15, -.4) ..
  (2.15, 0)
    .. controls (2.15, .4) and (-1, .4) ..
  (-1, .8)
    --
  (-1,1);

\draw[line width=4pt, white]
  (2, 0) to (2,1);
\draw
  (2, 0) to (2,1);

\draw[line width=4pt, white]
  (1, 0) to (1,1);
\draw
  (1, 0) to (1,1);

\end{scope}

\begin{scope}[shift={(0,+1)}]

\begin{scope}[shift={(-1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\begin{scope}[shift={(0,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (0,-1) to (0,1);

\begin{scope}[shift={(+1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (+1,-1) to (+1,1);

\begin{scope}[shift={(+2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (+2,-1) to (+2,1);

\begin{scope}[shift={(+3,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw[line width=4, white]
  (-1,-1)
    --
  (-1,-.8)
    .. controls (-1, -.4) and (.15, -.4) ..
  (.15, 0)
    .. controls (.15, .4) and (-1, .4) ..
  (-1, .8)
    --
  (-1, 1);
\draw
  (-1,-1)
    --
  (-1,-.8)
    .. controls (-1, -.4) and (.15, -.4) ..
  (.15, 0)
    .. controls (.15, .4) and (-1, .4) ..
  (-1, .8)
    --
  (-1, 1);

\draw[line width=4, white]
  (0, 0) to (0,1);
\draw
  (0, 0) to (0,1);

\end{scope}

\end{tikzpicture}
}
\color{orange}
\right]
\color{black}
\;\;\;
=
\;\;\;
\color{orange}
\left[
\color{black}
\raisebox{30pt}{
\begin{tikzpicture}[line width=1.2]

\begin{scope}[shift={(0,-1)}, yscale=3]

\begin{scope}[shift={(-1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\begin{scope}[shift={(0,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (0,-1) to (0,1);

\begin{scope}[shift={(+1,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (+1,-1) to (+1,1);

\begin{scope}[shift={(+2,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw (+2,-1) to (+2,1);

\begin{scope}[shift={(+3,0)}, gray]
\draw (-.75,-1) to (-.75,1);
\draw (-.25,-1) to (-.25,1);
\draw (-.5,-.6) node {\scalebox{.7}{$\cdots$}};
\end{scope}

\draw[line width=4pt, white]
  (-1,-1)
    --
  (-1, -.8)
    .. controls (-1, -.4) and (2.15, -.4) ..
  (2.15, 0)
    .. controls (2.15, .4) and (-1, .4) ..
  (-1, .8)
    --
  (-1,1);
\draw
  (-1,-1)
    --
  (-1, -.8)
    .. controls (-1, -.4) and (2.15, -.4) ..
  (2.15, 0)
    .. controls (2.15, .4) and (-1, .4) ..
  (-1, .8)
    --
  (-1,1);

\draw[line width=4pt, white]
  (2, 0) to (2,1);
\draw
  (2, 0) to (2,1);

\draw[line width=4pt, white]
  (1, 0) to (1,1);
\draw
  (1, 0) to (1,1);

\draw[line width=4pt, white]
  (0, 0) to (0,1);
\draw
  (0, 0) to (0,1);

\end{scope}

\end{tikzpicture}
}
\color{orange}
\right]
\color{black}
\end{tikzcd}

#### As fundamental group of a configuration space of points
 {#AsFundamentalGroupOfConfigurationSpace}

Geometrically, one may understand the group of braids in $\mathbb{R}^3$ as the [[fundamental group]] of the [[configuration space of points]] in the [[plane]] $\mathbb{R}^2$ (traditionally regarded as the [[complex plane]] $\mathbb{C}$ in this context, though the [[complex structure]] plays no role in the definition of the braid group as such).

(originally due to [Hurwitz 1891, §II](#Hurwitz1891), then re-discovered/re-vived in [Fadell & Neuwirth 1962, p. 118](#FadellNeuwirth62), [Fox & Neuwirth 1962, §7](#FoxNeuwirth62), review includes [Birman 1975, §1](#Birman75), [Williams 2020, pp. 9](#Williams20))

\linebreak

**In the plane**

We say this in more detail:

Let $C_n \hookrightarrow \mathbb{C}^n$ denote the space of [[configuration space of points|configurations of n ordered  points]] in the [[complex plane]], whose elements are those [[n-tuples]] $(z_1, \ldots, z_n)$ such that $z_i \neq z_j$ whenever $i \neq j$. In other words, $C_n$ is the [[complement]] of the [[fat diagonal]]:

$$
  C_n
    \;\coloneqq\;
  \mathbb{C}^n \setminus \mathbf{\Delta}^n_{\mathbb{C}}
  \,.
$$

The [[symmetric group]] $S_n$ [[group action|acts]] on $C_n$ by [[permutation|permuting]] coordinates. Let:

* $C_n/S_n$  denote the [[quotient]] by this group action, hence the [[orbit]] space (the space of $n$-element subsets of $\mathbb{C}$ if one likes),

* $[z_1, \ldots, z_n]$ denote the image of $(z_1, \ldots, z_n)$ under the quotient [[coprojection]] $\pi \colon C_n \to C_n/S_n$ (i.e. its the [[equivalence class]]).

We understand $p = (1, 2, \ldots, n)$ as the basepoint for $C_n$, and $[p] = [1, 2, \ldots n]$ as the basepoint for the [[configuration space of unordered points]] $C_n/S_n$, making it a [[pointed topological space]].

+-- {: .num_defn}
###### Definition

The _braid group_ is the [[fundamental group]] of the [[configuration space of unordered points|configuration space of n unordered points]]:

$$
  Br(n)
    \;\coloneqq\;
  \pi_1
  \big(
    C_n/S_n, [p]
  \big)
$$

The _pure braid group_  is the [[fundamental group]] of the [[configuration space of ordered points|configuration space of n ordered points]]:

$$
  PBr(n)
    \;\coloneqq\;
  \pi_1
  \big(
    C_n, p
  \big)
  \,.
$$

=--

Evidently a braid $\beta$ is represented by a path $\alpha: I \to C_n/S_n$ with $\alpha(0) = [p] = \alpha(1)$. Such a path may be uniquely lifted through the [[covering]] projection $\pi: C_n \to C_n/S_n$ to a path $\tilde{\alpha}$ such that $\tilde{\alpha}(0) = p$. The end of the path $\tilde{\alpha}(1)$ has the same underlying subset as $p$ but with coordinates permuted: $\tilde{\alpha}(1) = (\sigma(1), \sigma(2), \ldots, \sigma(n))$. Thus the braid $\beta$ is exhibited by $n$ non-intersecting strands, each one connecting an $i$ to $\sigma(i)$, and we have a map $\beta \mapsto \sigma$ appearing as the quotient map of an exact sequence

$$1 \to PBr(n) \to Br(n) \to Sym(n) \to 1$$

which is part of a [[long exact sequence of homotopy groups|long exact homotopy sequence]] corresponding to the [[fibration]] $\pi \colon C_n \to C_n/S_n$.

\linebreak

**In general surfaces or graphs**
 {#ForMoreGeneralTopologicalSpaces}

Since the notion of a [[configuration space of points]] makes sense for points in any [[topological space]], not necessarily the [[plane]] $\mathbb{R}^2$, the [above](#GeometricDefinition) geometric definition has an immediate generalization:

For $\Sigma$ any [[surface]], the [[fundamental group]] of the (ordered) [[configuration space of points]] in $\Sigma$ may be regarded as generalized (pure) braid group.
These *surface braid groups are of interest in [[3d topological field theory]] and in particular in [[topological quantum computation]] where it models [[non-abelian anyons]].

Yet more generally, one may consider the fundamental group of the configuration space of points of any topological space $X$.

For example for $X$ a 1-dimensional [[CW-complex]], hence an ([[undirected graph|undirected]]) [[graph]], one speaks of *graph braid groups* (e.g. [Farley & Sabalka 2009](#FarleySabalka2009)).

> The following should maybe not be here in the Definition-section, but in some Properties- or Examples-section, or maybe in a dedicated entry on *[[graph braid groups]]*:

It has been shown ([An & Maciazek 2006](#AnMaciazek2006), using discrete [[Morse theory]] and combinatorial analysis of small graphs) that graph braid groups are generated by particular particle moves with the following description:

1. Star-type generators: exchanges of particle pairs on vertices of the particular graph

2. loop type generators: circular moves of a single particle around a simple cycle of the graph

\linebreak

#### As mapping class group of punctured disk
 {#AsMappingClassGroupOfAPuncturedDisk}

The braid group $Br(n)$ may be alternatively described as the [[mapping class group]] of a 2-disk $D^2$ with $n$ punctures.

(review includes [Birman 1975, §4](#Birman75), [González-Meneses 2011, §1.4](#González-Meneses11), [Abadie 2022, §1.3(#Abadie22))

Concretely, consider

1. $D^2 \setminus \{z_1, \cdots, z_n\}$

   denoting the [[complement]] of $n$ distinct points in the [[closed disk]] (with [[boundary]] the [[circle]]);

1. $Homeo^{\partial}\big(D^2 \setminus \{z_1, \cdots, z_n\} \big)$

   denoting the [[mapping space]] of [[automorphism|auto]]-[[homeomorphisms]] which restrict to the [[identity]] on the [[boundary]] [[circle]], regarding with its canonical [[group]] structure;

1. $Homeo^{\partial}_id\big(D^2 \setminus \{z_1, \cdots, z_n\} \big)$

   denoting the [[subgroup]] which is the [[connected component]] of the [[identity]].

Then the [[mapping class group]] is

$$
  MCG
  \big(
    D^2 \setminus \{z_1, \cdots, z_n\}
  \big)
  \;\coloneqq\;
  Homeo^{\partial}\big(D^2 \setminus \{z_1, \cdots, z_n\} \big)
  \Big/
  Homeo^{\partial}_{id}\big(D^2 \setminus \{z_1, \cdots, z_n\} \big)
  \,.
$$

Now observe that

1. for the case that $n = 0$ this group is [[trivial group|trivial]], by *[[Alexander's trick]]*.

1. continuous extension yields an [[injection]]

   $$
     Homeo^{\partial}\big(D^2 \setminus \{z_1, \cdots, z_n\} \big)
     \xhookrightarrow{\phantom{-}\iota\phantom{-}}
     Homeo^{\partial}\big(D^2\big)
     \,.
   $$

Combining this implies that for every $[\phi] \,\in\, MCG\big(D^2 \setminus \{z_1, \cdots, z_n\}big)$ therese is an [[isotopy]] of $\iota[\phi] \to id$ under which the locations of the punctures trace out a braid (in the sense of a [[loop]] in the symmetrized [[configuration space of points]]). This construction yields a morphism from the [[mappign class group]] to the [[braid group]]
$$
  MCG
  \big(
    D^2 \setminus \{z_1, \cdots, z_n\}
  \big)
  \xrightarrow{\;\;\sim\;\;}
  Br(n)
  \,.
$$
and this is an [[isomorphism]].

\begin{remark}\label{ActionOfBraidGroupOnFundamentalGroupOfPuncturedDisk}
**(action of braid group on fundamental group of $n$-punctured disk)**
\linebreak
It follows in particular that the braid group $Br(n)$ has a canonical [[group action]] on the [[fundamental group]] of the $n$-punctured disk. Since the latter is [[isomorphism|isomorphic]] to the [[free group]] on $n$ generators, this leads to the purely algebraic characterization of the braid group [below](#AsAutomorphismsOfAFreeGroup).

See also eg. [Margalit & Winarski (2021), §7](#MargalitWinarski21), [Amram, Lawrence & Vishne (2012), §7](#AmramLawrenceVishne12).
\end{remark}

#### As automorphisms of a free group
 {#AsAutomorphismsOfAFreeGroup}

Since the [[fundamental group]] of $D^2 \setminus \{z_1, \cdots, z_n\}$ is [[generalized the|the]]  [[free group]] of $n$ generators, the MCG-presentation of the braid group ([above](#InTermsOfAutomorphismsOfFreeGroups)) induces a [[group homomorphism]] of the braid group into the [[automorphism group]] of a [[free group]], which turns out to be [[faithful representation|faithful]].

This presentation is due to [Artin 1925, §6](#Artin25), review includes [González-Meneses 2011, §1.6](#González-Meneses11), see also pointer in [Bardakov 2005, p.  2](#Bardakov05).

More in detail, since the [[homotopy type]] of this punctured disk is, evidently, that of the the [[wedge sum]] of $n$ [[circles]], it follows that its [[fundamental group]] is is the [[free group]] $F_n$ on $n$ generators:

$$
  \pi_1
  \big(
    D^2 \setminus \{z_1, \cdots, z_ n\}
  \big)
  \;\simeq\;
  \pi_1
  \big(
    \vee_n S^1
  \big)
  \;\simeq\;
  F_n
  \,.
$$

Now the [[functor|functoriality]] of $\pi_1 \,\colon\, Top^{\ast/} \longrightarrow Grp$ implies we have an induced homomorphism

$$
  Aut
  \big(
    D^2 \setminus \{z_1, \cdots, z_n\}
  \big)
  \longrightarrow
  Aut
  \Big(
    \pi_1\big(
      D^2 \setminus \{z_1, \cdots, z_n\}
    \big)
  \Big)
  \,\simeq\,
  Aut(F_n)
  \,.
$$

If such an automorphism $\phi$ of $D^2 \setminus \{z_1, \cdots, z_n\} $ is [[isotopy|isotopic]] to the [[identity]], then of course $\pi_1(\phi)$ is trivial, which means that the above homomorphism factors through the [[quotient group]] known as the [[mapping class group]]:

$$
  MCG
  \big(
    D^2 \setminus \{z_1, \cdots, z_n\}
  \big)
  \,=\,
  Aut
  \big(
    D^2 \setminus \{z_1, \cdots, z_n\}
  \big)/Aut_0
  \big(
     D^2 \setminus \{z_1, \cdots, z_n\}
  \big)
$$

Therefore, the above gives a homomorphism of the following form, which turns out to be a [[monomorphism]]:

$$
  Br(n)
    \,=\,
  MCG
  \big(
    D^2 \setminus \{z_1, \cdots, z_n\}
  \big)
  \xhookrightarrow{\phantom{--}}
  Aut(F_n)
$$

\begin{imagefromfile}
    "file_name": "BraidActingOnFundamentalGroup-Artin1925.jpg",
    "width": 440,
    "float": "right",
    "unit": "px",
    "margin": {
        "top": -20,
        "bottom": 20,
        "right": 0,
        "left": 10
    },
    "caption": "from [Artin 1925](#Artin25)"
\end{imagefromfile}

Explicitly, the generator $yb_i$ (eq:ArtinGenerators) in the Artin presentation(Def. \ref{ArtinPresentation}) is mapped to the automorphism $\sigma_i$ on the free group on $n$ generators $t_1, \ldots, t_n$ which is given as follows:

$$
  \sigma_i(t_j)
  \,=\,
  \left\{
  \begin{array}{lcl}
    t_{i+1} & \vert & j = i
    \\
    t_{i+1}^{-1} \cdot t_i \cdot t_{i+1}
    & \vert &
    j = i + 1
    \\
    t_j &\vert& \text{otherwise.}
  \end{array}
  \right.
$$

([Artin 1925, (24)](#Artin25))

\begin{imagefromfile}
    "file_name": "BraidActingOnFundamentalGroup-Gonzalez2011.jpg",
    "width": 540,
    "unit": "px",
    "margin": {
        "top": -20,
        "bottom": 20,
        "right": 0,
        "left": 10
    },
    "caption": "from [González-Meneses 2011](#González-Meneses11)"
\end{imagefromfile}

\linebreak

## Properties

### Relation to moduli space of monopoles

+-- {: .num_prop #ModuliSpaceOfkMonopolesStablyWeakHomotopyEquivbalentToClassifyingSpaceOfBraids}
###### Proposition
**([[moduli space of monopoles]] is [[stable weak homotopy equivalence|stably weak homotopy equivalent]] to [[classifying space]] of [[braid group]])**

For $k \in \mathbb{N}$ there is a [[stable weak homotopy equivalence]] between the [[moduli space of k monopoles]] (eq:ModuliSpaceOfkInstantons) and the [[classifying space]] of the [[braid group]] $Br({2k})$ on $2 k$ strands:

$$
  \Sigma^\infty \mathcal{M}_k
  \;\simeq\;
  \Sigma^\infty Br({2k})
$$

=--

([Cohen-Cohen-Mann-Milgram 91](#CohenCohenMannMilgram91))

## Examples
 {#Examples}

The first few examples of the braid group $Br(n)$ for low values of $n$:

\begin{example}
The group $Br(1)$ has no generators and no relations, so is the [[trivial group]]:
$$
  Br(1) \;\simeq\; 1
  \,.
$$

\end{example}

\begin{example}
The group $Br(2)$ has one generator and no relations, so is the infinite cyclic group of [[integers]]:
$$
  Br(2) \;\simeq\; \mathbb{Z}
  \,.
$$
\end{example}

\begin{example}\label{TheBraidgroupBr3}
The group $Br(3)$ (we will simplify notation writing $u = y_1$, $v = y_2$)
has presentation

$$
  Br(3)
  \;\simeq\;
  \mathcal{P}
  \coloneqq
  \big(
     u,v : r \equiv u v u v^{-1} u^{-1} v^{-1}
  \big).
$$

This is also known as the "trefoil [[knot group]]", i.e., the [[fundamental group]] of the [[complement]] of a [[trefoil knot]].
\end{example}

\begin{example}
The group $Br(4)$ (simplifying notation as [before](#TheBraidgroupBr3)) has generators $u,v,w$ and relations:

 *  $r_u \equiv  v w v w^{-1} v^{-1} w^{-1}$,

 *  $r_v \equiv  u w u^{-1} w^{-1}$,

 *  $r_w \equiv  u v u v^{-1} u^{-1} v^{-1}$.

\end{example}

\begin{example}\label{HurwitzBraidGroup}
The **Hurwitz braid group** (or **sphere braid group**) is the [surface braid group](#ForMoreGeneralTopologicalSpaces) for $\Sigma$ the [[2-sphere]] $S^2$.  Algebraically, the Hurwitz braid group $H_{n+1}$ has all of the generators and relations of the Artin braid group $Br({n+1})$, plus one additional relation:

$$
  y_1 y_2 \dots y_{n-1} y_n^2 y_{n-1}\dots y_2 y_1
$$
\end{example}

## Related entries

* [[braid representation]]

* [[braid group statistics]]

  [[anyons]], [[quantum Hall effect]]

  [[topological quantum computation]]

* [braid group cryptography](cryptography#BraidGroupCryptographyReferences)

* [[braid category]]

* [[infinitesimal braid relation]]

* [[loop braid group]]

* [[parenthesized braid operad]]

* [[braid cobordism]]

* [[vine monoid]]

[[!include chord diagrams and weight systems -- table]]

## References

### General

The braid group regarded as the [[fundamental group]] of a [[configuration space of points]] is considered (neither of them under these names, though) already in:

* {#Hurwitz1891} [[Adolf Hurwitz]], §II of: *Über Riemann'sche Flächen mit gegebenen Verzweigungspunkten*, Mathematische Annalen **39** (1891) 1–60 [[doi:10.1007/BF01199469](https://doi.org/10.1007/BF01199469)]

there regarded as [[group action|acting]] on [[Riemann surfaces]] forming [[branched covers]], by movement of the branch points.

The original articles dedicated to analysis of the braid group:

* {#Artin25} [[Emil Artin]], *Theorie der Zöpfe*, Abh. Math. Semin. Univ. Hambg. **4**  (1925) 47–72 [[doi;10.1007/BF02950718](https://doi.org/10.1007/BF02950718)]

  >(the braid group via generators & relations and via automorphisms of free groups)

* [[Wilhelm Magnus]], *Über Automorphismen von Fundamentalgruppen berandeter Flächen*, Mathematische Annalen **109** (1934) 617–646 [[doi:10.1007/BF01449158](https://doi.org/10.1007/BF01449158)]

  > (the braid group as a [[mapping class group]])

* {#Artin47} [[Emil Artin]], *Theory of Braids*, Annals of Mathematics, Second Series, **48** 1 (1947) 101-126 [[doi:10.2307/1969218](https://doi.org/10.2307/1969218)]

* [[Frederic Bohnenblust]], *The Algebraical Braid Group*, Annals of Mathematics Second Series **48** 1 (1947) 127-136 [[doi:10.2307/1969219](https://doi.org/10.2307/1969219)]

* [[Wei-Liang Chow]], *On the Algebraical Braid Group*, Annals of Mathematics Second Series, **49** 3 (1948) 654-658 [[doi:10.2307/1969050](https://doi.org/10.2307/1969050)]

Survey of the early history:

* [[Michael Friedman (historian)]], *Mathematical formalization and diagrammatic reasoning: the case study of the braid group between 1925 and 1950*, British Journal for the History of Mathematics **34** 1 (2019) 43-59 [[doi:10.1080/17498430.2018.1533298](https://doi.org/10.1080/17498430.2018.1533298)]

The understanding of the braid group as the [[fundamental group]] of a [[configuration space of points]] was re-discovered/re-vived (after [Hurwitz 1891](#Hurwitz1891)) in:

* {#FoxNeuwirth62} [[Ralph H. Fox]], [[Lee Neuwirth]], *The braid groups*, Math. Scand. **10** (1962) 119-126 $[$[doi:10.7146/math.scand.a-10518](https://doi.org/10.7146/math.scand.a-10518), [pdf](https://www.mscand.dk/article/view/10518/8539), [MR150755](http://www.ams.org/mathscinet-getitem?mr=150755)$]$

* {#FadellNeuwirth62} [[Edward Fadell]], [[Lee Neuwirth]], *Configuration spaces*, Math. Scand. __10__ (1962) 111-118 $[$[doi:10.7146/math.scand.a-10517](https://doi.org/10.7146/math.scand.a-10517), [MR141126](http://www.ams.org/mathscinet-getitem?mr=141126)$]$

Textbook accounts:

* {#Birman75} [[Joan S. Birman]], _Braids, links, and mapping class groups_, Princeton Univ Press (1975) [[ISBN:9780691081496](https://press.princeton.edu/books/paperback/9780691081496/braids-links-and-mapping-class-groups-am-82-volume-82), [preview pdf](https://api.pageplace.de/preview/DT0400.9781400881420_A26691398/preview-9781400881420_A26691398.pdf)]

* [[Saunders MacLane]], §XI.4 of: *[[Categories for the Working Mathematician]]*, Graduate Texts in Mathematics **5** Springer (second ed. 1997) [[doi:10.1007/978-1-4757-4721-8](https://link.springer.com/book/10.1007/978-1-4757-4721-8)]

* [[Christian Kassel]], [[Vladimir Turaev]], _Braid Groups_, GTM **247** Springer Heidelberg 2008 ([doi:10.1007/978-0-387-68548-9](https://link.springer.com/book/10.1007/978-0-387-68548-9), [webpage](http://irma.math.unistra.fr/~kassel/Braids-bk.html))

Further introduction and review:

* [[Joan S. Birman]], [[Anatoly Libgober]] (eds.) *Braids*, Contemporary Mathematics **78** (1988) [[doi:10.1090/conm/078](http://dx.doi.org/10.1090/conm/078)]

* [[Chen Ning Yang]], M. L. Ge (eds.), *Braid Group, Knot Theory and Statistical Mechanics*, Advanced Series in Mathematical Physics **9**, World Scientific (1991) [[doi:10.1142/0796](https://doi.org/10.1142/0796)]

* Joshua Lieber, *Introduction to Braid Groups*, 2011 ([pdf](https://math.uchicago.edu/~may/VIGRE/VIGRE2011/REUPapers/Lieber.pdf))

* {#González-Meneses11} [[Juan González-Meneses]], *Basic results on braid groups*, Annales Mathématiques Blaise Pascal, Tome 18 1 (2011) 15-59 [[ambp:AMBP_2011__18_1_15_0](https://ambp.centre-mersenne.org/item/?id=AMBP_2011__18_1_15_0)]

* Alexander I. Suciu, He Wang, *The pure braid groups and their relatives*,  Perspectives in Lie theory, 403-426, Springer INdAM series, vol. 19, Springer, Cham, 2017 ([arXiv:1602.05291](https://arxiv.org/abs/1602.05291))

* Dale Rolfsen, *New developments in the theory of Artin’s braid groups* ([pdf](https://personal.math.ubc.ca/~rolfsen/papers/newbraid/newbraid2.pdf))

* [[Jennifer C. H. Wilson]], *The geometry and topology of braid groups*, lecture at *[2018 Summer School on Geometry and Topology](https://www.pims.math.ca/scientific-event/180611-ssgt)*, Chicago (2018) [[pdf](http://www.math.lsa.umich.edu/~jchw/RTG-Braids.pdf), [[Wilson-BraidGroups.pdf:file]]]

* {#Williams20} [[Lucas Williams]], *Configuration Spaces for the Working Undergraduate*,  Rose-Hulman Undergraduate Mathematics Journal, **21** 1 (2020) Article 8. ([arXiv:1911.11186](https://arxiv.org/abs/1911.11186), [rhumj:vol21/iss1/8](https://scholar.rose-hulman.edu/rhumj/vol21/iss1/8))

* [[Jennifer C. H. Wilson]], *Representation stability and the braid groups*, talk at *[ICERM -- Braids](https://icerm.brown.edu/programs/sp-s22/)* (Feb 2022) [[pdf](https://app.icerm.brown.edu/assets/362/3661/3661_3250_021720221430_Slides.pdf)]

* {#Abadie22} Marie Abadie, §1 in: *A journey around mapping class groups and their presentations* (2022) [[pdf](https://christianurech.github.io/Semester_Project.pdf)]

See also:

* Wikipedia: _[Braid group](http://en.wikipedia.org/wiki/Braid_group)_

As an example of motion general "motion groups" (such as [[loop braid groups]]):

* {#Goldsmith81} Deborah L. Goldsmith, *The theory of motion groups*, Michigan Math. J. 28(1): 3-17 (1981) ([doi:10.1307/mmj/1029002454](https://projecteuclid.org/journals/michigan-mathematical-journal/volume-28/issue-1/The-theory-of-motion-groups/10.1307/mmj/1029002454.full))

Algebraic presentation of braid groups:

* [[Warren Dicks]], Edward Formanek, around Ex. 15.2 of: *Algebraic Mapping-Class Groups of Orientable Surfaces with Boundaries*, in: *Infinite Groups: Geometric, Combinatorial and Dynamical Aspects*, Progress in Mathematics **248** Birkhäuser (2005) [[doi :10.1007/3-7643-7447-0_4](https://doi.org/10.1007/3-7643-7447-0_4)]

* [Bacardit & Dicks 2009](#BacarditDicks09)

More [[finitely presented group|finite presentations]] of the *pure* braid group:

* [[Dan Margalit]], [[Jon McCammond]], *Geometric presentations for the pure braid group*,  Journal of Knot Theory and Its Ramifications **18** 01 (2009) 1-20 [[arXiv:math/0603204](https://arxiv.org/abs/math/0603204), [doi:10.1142/S0218216509006859](https://doi.org/10.1142/S0218216509006859)]

* {#Lee10} [[Eon-Kyung Lee]], *A positive presentation of the pure braid group*, Journal of the Chungcheong Mathematical Society **23** 3 (2010) 555-561 [[JAKO201007648745187](https://koreascience.kr/article/JAKO201007648745187.view?orgId=anpor), [pdf](http://www.ccms.or.kr/data/pdfpaper/jcms23_3/23_3_555.pdf)]

More on the relation of braid groups to [[mapping class groups]]:

* {#AmramLawrenceVishne12} M. Amram, R. Lawrence, U. Vishne, *Artin Covers of the Braid Group*,  Journal of Knot Theory and Its Ramifications **21** 07 (2012) 1250061 [[doi:10.1142/S0218216512500617](https://doi.org/10.1142/S0218216512500617), [pdf](http://www.ma.huji.ac.il/~ruthel/papers/12artin.pdf)]

* {#MargalitWinarski21} [[Dan Margalit]], [[Rebecca R. Winarski]], *Braid groups and mapping class groups: The Birman–Hilden theory*, Bull. London Math. Soc. **53** 3 (2021) 643-659 [[arXiv:1703.03448](https://arxiv.org/abs/1703.03448), [doi:10.1112/blms.12456](https://doi.org/10.1112/blms.12456)]

More on the braid representation on [[automorphism group|automorphisms]] of [[free groups]]:

* {#BacarditDicks09} [[Lluís Bacardit]], [[Warren Dicks]], *Actions of the braid group, and new algebraic proofs of results of Dehornoy and Larue*, Groups Complexity Cryptology **1** (2009) 77-129 [[arXiv:0705.0587](https://arxiv.org/abs/0705.0587), [doi;10.1515/GCC.2009.77](https://doi.org/10.1515/GCC.2009.77)]

* {#Bardakov05} [[Valerij G. Bardakov]], *Extending representations of braid groups to the automorphism groups of free groups*, Journal of Knot Theory and Its Ramifications **14** 08 (2005) 1087-1098 [[arXiv:math/0408330](https://arxiv.org/abs/math/0408330), [doi:10.1142/S0218216505004251](https://doi.org/10.1142/S0218216505004251)]

* Tetsuya Ito, *Actions of the $n$-strand braid groups on the free group of rank n which are similar to the Artin representation*, Quart. J. Math **66** (2015) 563-581 [[arXiv;1406.2411](https://arxiv.org/abs/1406.2411), [doi:10.1093/qmath/hau033](https://doi.org/10.1093/qmath/hau033)]

On the [[group homology]] and [[group cohomology]] of braid groups:

* [[Vladimir Vershinin]], *Homology of Braid Groups and their Generalizations*, Banach Center Publications (1998) **42** 1 421-446 ([pdf](https://hopf.math.purdue.edu/Vershinin/hobr.pdf), [dml:208821](https://eudml.org/doc/208821))

Relation of [[automorphism groups]] of the [[profinite completion]] of braid groups to the [[Grothendieck-Teichmüller group]]:

* [[Pierre Lochak]], [[Leila Schneps]], *The Grothendieck-Teichmüller group and automorphisms of braid groups*, in: *The Grothendieck Theory of Dessins d’Enfant*, Cambridge University Press (1994, 2011) [[pdf](https://webusers.imj-prg.fr/~leila.schneps/Fls.pdf), [doi:10.1017/CBO9780511569302](https://doi.org/10.1017/CBO9780511569302)]

On orderings of the braid group:

* [[Patrick Dehornoy]], _Braid groups and left distributive operations_ , Transactions AMS **345** no.1 (1994) pp.115–150.

* H. Langmaack, _Verbandstheoretische Einbettung von Klassen unwesentlich verschiedener Ableitungen in die Zopfgruppe_ , Computing **7** no.3-4 (1971) pp.293-310.

On geometric presentations of braid groups:

* Byung Hee An, Tomasz Maciazek, *Geometric Presentations of Braid Groups for Particles on a Graph*, Communications in Mathematical Physics **384** (2021) 1109-1140 [[doi:10.1007/s00220-021-04095-x](http://dx.doi.org/10.1007/s00220-021-04095-x)]

On [[G-structure]] for $G = Br_\infty$ the infinite braid group:

* [[Frederick R. Cohen]], *Braid orientations and bundles with flat connections*, Inventiones mathematicae **46** (1978) 99–110 [[doi:10.1007/BF01393249](https://doi.org/10.1007/BF01393249)]

* [[Jonathan Beardsley]], *On Braids and Cobordism Theories*, Glasgow (2022) [notes: [pdf](https://www.jonathanbeardsley.com/GlasgowNotes2022.pdf), [[Beardsley-BraidsAndCobordism.pdf:file]]]

[[!include braid group representations -- references]]

### Graph braid groups
  {#ReferencesGraphBraidGroups}

* {#FarleySabalka2009} Daniel Farley, Lucas Sabalka, *Presentations of Graph Braid Groups* ([arXiv:0907.2730](https://arxiv.org/abs/0907.2730))

* Ki Hyoung Ko, Hyo Won Park,  *Characteristics of graph braid groups* ([arXiv:1101.2648](https://arxiv.org/abs/1101.2648))

* {#AnMaciazek2006} Byung Hee An, Tomasz Maciazek, *Geometric presentations of braid groups for particles on a graph* ([arXiv:2006.15256](https://arxiv.org/abs/2006.15256))

### Relation to moduli space of monopoles

On [[moduli spaces of monopoles]] related to [[braid groups]]:

* [[Fred Cohen]], [[Ralph Cohen]], B. M. Mann, R. J. Milgram, _The topology of rational functions and divisors of surfaces_, Acta Math (1991) 166: 163 ([doi:10.1007/BF02398886](https://doi.org/10.1007/BF02398886))

* [[Ralph Cohen]], John D. S. Jones  _Monopoles, braid groups, and the Dirac operator_, Comm. Math. Phys. Volume 158, Number 2 (1993), 241-266 ([euclid:cmp/1104254240](https://projecteuclid.org/euclid.cmp/1104254240))

[[!include braid group cryptography -- references]]

category: knot theory

[[!redirects braid groups]]

[[!redirects braid]]
[[!redirects braids]]

[[!redirects pure braid]]
[[!redirects pure braids]]

[[!redirects pure braid group]]
[[!redirects pure braid groups]]

[[!redirects Artin braid group]]
[[!redirects Hurwitz braid group]]

[[!redirects surface braid group]]
[[!redirects surface braid groups]]