2.7 Σ-types

2.7

Σ

-types

Let

A

be a type and

B

:

A

→

𝒰

a type family.
Recall that the

Σ

-type, or dependent pair type,

∑

(

x

:

A

)

B

⁢

(

x

)

is a

generalization

of the

cartesian product

type.
Thus, we expect its higher

groupoid

structure

to also be a generalization of the previous

section

.
In particular, its paths should be pairs of paths, but it takes a little thought to give the correct types of these paths.

Suppose that we have a path

p

:

w

=

w

′

in

∑

(

x

:

A

)

P

⁢

(

x

)

.
Then we get

𝗉𝗋

1

(

p

)

:

𝗉𝗋

1

(

w

)

=

𝗉𝗋

1

(

w

′

)

.
However, we cannot directly ask whether

𝗉𝗋

2

⁢

(

w

)

is identical to

𝗉𝗋

2

⁢

(

w

′

)

since they don’t have to be in the same type.
But we can transport

𝗉𝗋

2

⁢

(

w

)

along the path

𝗉𝗋

1

(

p

)

, and this does give us an element of the same type as

𝗉𝗋

2

⁢

(

w

′

)

.
By path

induction

, we do in fact obtain a path

𝗉𝗋

1

(

p

)

*

(

𝗉𝗋

2

(

w

)

)

=

𝗉𝗋

2

(

w

′

)

.

Recall from the discussion preceding Lemma 2.3.4 (

http://planetmath.org/23typefamiliesarefibrations#Thmprelem3

) that

𝗉𝗋

1

(

p

)

*

(

𝗉𝗋

2

(

w

)

)

=

𝗉𝗋

2

(

w

′

)

can be regarded as the type of paths from

𝗉𝗋

2

⁢

(

w

)

to

𝗉𝗋

2

⁢

(

w

′

)

which

lie over

the path

𝗉𝗋

1

(

p

)

in

A

.
Thus, we are saying that a path

w

=

w

′

in the total space determines (and is determined by) a path

p

:

𝗉𝗋

1

⁢

(

w

)

=

𝗉𝗋

1

⁢

(

w

′

)

in

A

together with a path from

𝗉𝗋

2

⁢

(

w

)

to

𝗉𝗋

2

⁢

(

w

′

)

lying over

p

, which seems sensible.

Remark 2.7.1

.

Note that if we have

x

:

A

and

u

,

v

:

P

⁢

(

x

)

such that

(

x

,

u

)

=

(

x

,

v

)

, it does not follow that

u

=

v

.
All we can conclude is that there exists

p

:

x

=

x

such that

p

*

(

u

)

=

v

.
This is a well-known source of confusion for newcomers to

type theory

, but it makes sense from a topological viewpoint: the

existence

of a path

(

x

,

u

)

=

(

x

,

v

)

in the total space of a fibration between two points that happen to lie in the same fiber does not imply the existence of a path

u

=

v

lying entirely

within

that fiber.

The next

theorem

states that we can also reverse this process.
Since it is a direct generalization of Theorem 2.6.2 (

http://planetmath.org/26cartesianproducttypes#Thmprethm1

), we will be more concise.

Theorem 2.7.2

.

Suppose that

P

:

A

→

U

is a type family over a type

A

and let

w

,

w

′

:

∑

(

x

:

A

)

P

⁢

(

x

)

. Then there is an equivalence

(

w

=

w

′

)

≃

∑

(

p

:

𝗉𝗋

1

(

w

)

=

𝗉𝗋

1

(

w

′

)

)

p

*

(

𝗉𝗋

2

(

w

)

)

=

𝗉𝗋

2

(

w

′

)

.

Proof.

We define for any

w

,

w

′

:

∑

(

x

:

A

)

P

⁢

(

x

)

, a

function

f

:

(

w

=

w

′

)

→

∑

(

p

:

𝗉𝗋

1

(

w

)

=

𝗉𝗋

1

(

w

′

)

)

p

*

(

𝗉𝗋

2

(

w

)

)

=

𝗉𝗋

2

(

w

′

)

by path induction, with

f

(

w

,

w

,

𝗋𝖾𝖿𝗅

w

)

:

≡

(

𝗋𝖾𝖿𝗅

𝗉𝗋

1

⁢

(

w

)

,

𝗋𝖾𝖿𝗅

𝗉𝗋

2

⁢

(

w

)

)

.

We want to show that

f

is an equivalence.

In the reverse direction, we define

g

:

∏

w

,

w

′

:

∑

(

x

:

A

)

P

⁢

(

x

)

(

∑

p

:

𝗉𝗋

1

⁢

(

w

)

=

𝗉𝗋

1

⁢

(

w

′

)

p

*

(

𝗉𝗋

2

(

w

)

)

=

𝗉𝗋

2

(

w

′

)

)

→

(

w

=

w

′

)

by first inducting on

w

and

w

′

, which splits them into

(

w

1

,

w

2

)

and

(

w

1

′

,

w

2

′

)

respectively, so it suffices to show

(

∑

p

:

w

1

=

w

1

′

p

*

(

w

2

)

=

w

2

′

)

→

(

(

w

1

,

w

2

)

=

(

w

1

′

,

w

2

′

)

)

.

Next, given a pair

∑

(

p

:

w

1

=

w

1

′

)

p

*

(

w

2

)

=

w

2

′

, we can
use

Σ

-induction to get

p

:

w

1

=

w

1

′

and

q

:

p

*

(

w

2

)

=

w

2

′

. Inducting on

p

, we have

q

:

𝗋𝖾𝖿𝗅

*

(

w

2

)

=

w

2

′

, and it suffices to show

(

w

1

,

w

2

)

=

(

w

1

,

w

2

′

)

. But

𝗋𝖾𝖿𝗅

*

(

w

2

)

≡

w

2

, so
inducting on

q

reduces to the goal to

(

w

1

,

w

2

)

=

(

w

1

,

w

2

)

, which we can prove with

𝗋𝖾𝖿𝗅

(

w

1

,

w

2

)

.

Next we show that

f

∘

g

is the

identity

for all

w

,

w

′

and

r

, where

r

has type

∑

(

p

:

𝗉𝗋

1

(

w

)

=

𝗉𝗋

1

(

w

′

)

)

(

p

*

(

𝗉𝗋

2

(

w

)

)

=

𝗉𝗋

2

(

w

′

)

)

.

First, we break apart the pairs

w

,

w

′

, and

r

by pair induction, as in the
definition of

g

, and then use two path inductions to reduce both

components

of

r

to

𝗋𝖾𝖿𝗅

. Then it suffices to show that

f

⁢

(

g

⁢

(

𝗋𝖾𝖿𝗅

,

𝗋𝖾𝖿𝗅

)

)

=

𝗋𝖾𝖿𝗅

, which is true by definition.

Similarly, to show that

g

∘

f

is the identity for all

w

,

w

′

,
and

p

:

w

=

w

′

, we can do path induction on

p

, and then induction to
split

w

, at which point it suffices to show that

g

⁢

(

f

⁢

(

𝗋𝖾𝖿𝗅

(

w

1

,

w

2

)

)

)

=

𝗋𝖾𝖿𝗅

(

w

1

,

w

2

)

, which is true by
definition.

Thus,

f

has a

quasi-inverse

, and is therefore an equivalence.
∎

As we did in the case of cartesian products, we can deduce a propositional uniqueness principle as a special case.

Corollary 2.7.3

.

For

z

:

∑

(

x

:

A

)

P

⁢

(

x

)

, we have

z

=

(

pr

1

⁢

(

z

)

,

pr

2

⁢

(

z

)

)

.

Proof.

We have

𝗋𝖾𝖿𝗅

𝗉𝗋

1

⁢

(

z

)

:

𝗉𝗋

1

⁢

(

z

)

=

𝗉𝗋

1

⁢

(

𝗉𝗋

1

⁢

(

z

)

,

𝗉𝗋

2

⁢

(

z

)

)

, so by Theorem 2.7.2 (

http://planetmath.org/27sigmatypes#Thmprethm1

) it will suffice to exhibit a path

(

𝗋𝖾𝖿𝗅

𝗉𝗋

1

⁢

(

z

)

)

*

(

𝗉𝗋

2

(

z

)

)

=

𝗉𝗋

2

(

𝗉𝗋

1

(

z

)

,

𝗉𝗋

2

(

z

)

)

.
But both sides are judgmentally equal to

𝗉𝗋

2

⁢

(

z

)

.
∎

Like with binary cartesian products, we can think of
the backward direction of Theorem 2.7.2 (

http://planetmath.org/27sigmatypes#Thmprethm1

) as
an

introduction

form (

𝗉𝖺𝗂𝗋

=

), the forward direction as
elimination forms (

𝖺𝗉

𝗉𝗋

1

and

𝖺𝗉

𝗉𝗋

2

), and the equivalence
as giving a propositional computation rule and uniqueness principle for these.

Note that the lifted path

𝗅𝗂𝖿𝗍

⁢

(

u

,

p

)

of

p

:

x

=

y

at

u

:

P

⁢

(

x

)

defined in Lemma 2.3.2 (

http://planetmath.org/23typefamiliesarefibrations#Thmprelem2

) may be identified with the special case of the introduction form

𝗉𝖺𝗂𝗋

=

(

p

,

𝗋𝖾𝖿𝗅

p

*

(

u

)

)

:

(

x

,

u

)

=

(

y

,

p

*

(

u

)

)

.

This appears in the statement of action of transport on

Σ

-types, which is also a generalization of the action for binary cartesian products:

Theorem 2.7.4

.

Suppose we have type families

P

:

A

→

𝒰

𝑎𝑛𝑑

Q

:

(

∑

x

:

A

P

⁢

(

x

)

)

→

𝒰

.

Then we can construct the type family over

A

defined by

x

↦

∑

u

:

P

⁢

(

x

)

Q

⁢

(

x

,

u

)

.

For any path

p

:

x

=

y

and any

(

u

,

z

)

:

∑

(

u

:

P

(

x

)

)

Q

⁢

(

x

,

u

)

we have

p

*

(

u

,

z

)

=

(

p

*

(

u

)

,

𝗉𝖺𝗂𝗋

=

(

p

,

𝗋𝖾𝖿𝗅

p

*

(

u

)

)

*

(

z

)

)

.

Proof.

Immediate by path induction.
∎

We leave it to the reader to state and prove a generalization of
Theorem 2.6.5 (

http://planetmath.org/26cartesianproducttypes#Thmprethm3

) (see

http://planetmath.org/node/87638

Exercise 2.7), and to characterize
the

reflexivity

,

inverses

, and composition of

Σ

-types
componentwise.

Title

2.7

Σ

-types

\metatable

Generated on Thu Feb 8 19:34:19 2018 by

LaTeXML