10.5 The cumulative hierarchy

10.5 The cumulative hierarchy

We can define a

cumulative hierarchy

V

of all sets in a given

universe

𝒰

as a

higher inductive type

, in such a way that

V

is again a set (in a larger universe

𝒰

′

), equipped with a binary “membership”

relation

x

∈

y

which

satisfies

the usual laws of

set theory

.

Definition 10.5.1

.

The

cumulative hierarchy

V

relative to a type universe

U

is the
higher inductive type generated by the following constructors.

1.

For every

A

:

𝒰

and

f

:

A

→

V

, there is an

element

𝗌𝖾𝗍

⁢

(

A

,

f

)

: V.

2.

For all

A

,

B

:

𝒰

,

f

:

A

→

V

and

g

:

B

→

V

such that

(

∀

(

a

:

A

)

.

∃

(

b

:

B

)

.

f

(

a

)

=

V

g

(

b

)

)

∧

(

∀

(

b

:

B

)

.

∃

(

a

:

A

)

.

f

(

a

)

=

V

g

(

b

)

)

(10.5.1)

there is a path

𝗌𝖾𝗍

⁢

(

A

,

f

)

=

V

𝗌𝖾𝗍

⁢

(

B

,

g

)

.

3.

The 0-truncation constructor: for all

x

,

y

:

V

and

p

,

q

:

x

=

y

, we have

p

=

q

.

In set-theoretic

language

,

𝗌𝖾𝗍

⁢

(

A

,

f

)

can be understood as the set (in the sense of classical set theory) that is the image of

A

under

f

, i.e.

\setof

f

(

a

)

|

a

∈

A

.
However, we will avoid this notation, since it would clash with our notation for subtypes (but see (

10.5.2

) and

\autoref

def:TypeOfElements below).

The hierarchy

V

is
bootstrapped from the empty map

𝗋𝖾𝖼

𝟎

⁢

(

V

)

:

𝟎

→

V

, which gives the

empty set

as

∅

=

𝗌𝖾𝗍

⁢

(

𝟎

,

𝗋𝖾𝖼

𝟎

⁢

(

V

)

)

.
Then the

singleton

{

∅

}

enters

V

through

𝟏

→

V

, defined as

⋆

↦

∅

, and so
on. The type

V

lives in the same universe as the base universe

𝒰

.

The second constructor of

V

has a form unlike any we have seen before: it involves not only paths in

V

(which in

\autoref

sec:hittruncations we claimed were slightly fishy) but

truncations

of sums of them.
It certainly does not fit the general scheme described in

\autoref

sec:naturality, and thus it may not be

obvious

what its

induction

principle should be.
Fortunately, like our first

definition

of the 0-truncation in

\autoref

sec:hittruncations, it can be re-expressed using auxiliary higher inductive types.
We leave it to the reader to work out the details (see

\autoref

ex:cumhierhit).

At the end of the day, the induction principle for

V

(written in pattern matching language) says that given

P

:

V

→

\set

, in order to

construct

h

:

∏

(

x

:

V

)

P

⁢

(

x

)

, it suffices to give the following.

1.

For any

f

:

A

→

V

, construct

h

⁢

(

𝗌𝖾𝗍

⁢

(

A

,

f

)

)

, assuming as given

h

⁢

(

f

⁢

(

a

)

)

for all

a

:

A

.

2.

Verify that if

f

:

A

→

V

and

g

:

B

→

V

satisfy (

10.5.1

), then

h

⁢

(

𝗌𝖾𝗍

⁢

(

A

,

f

)

)

=

h

⁢

(

𝗌𝖾𝗍

⁢

(

B

,

g

)

)

, assuming inductively that

h

⁢

(

f

⁢

(

a

)

)

=

h

⁢

(

g

⁢

(

b

)

)

whenever

f

⁢

(

a

)

=

g

⁢

(

b

)

.

The second clause checks that the map being defined must respect the paths introduced in (

10.5.1

).
As usual when we state higher induction principles using pattern matching, it may seem tautologous, but is not.
The point is that “

h

⁢

(

f

⁢

(

a

)

)

” is essentially a formal symbol which we cannot peek inside of, which

h

⁢

(

𝗌𝖾𝗍

⁢

(

A

,

f

)

)

must be defined in terms of. Thus, in the second clause, we assume

equality

of these formal symbols when appropriate, and verify that the elements resulting from the construction of the first clause are also equal.
Of course, if

P

is a family of mere propositions, then the second clause is automatic.

Observe that, by induction, for each

v

:

V

there merely exist

A

:

𝒰

and

f

:

A

→

V

such that

v

=

𝗌𝖾𝗍

⁢

(

A

,

f

)

.
Thus, it is reasonable to try to define the

membership relation

x

∈

v

on

V

by setting:

(

x

∈

𝗌𝖾𝗍

(

A

,

f

)

)

:

≡

(

∃

(

a

:

A

)

.

x

=

f

(

a

)

)

.

To see that the definition is valid, we must use the

recursion

principle of

V

. Thus, suppose we have a path

𝗌𝖾𝗍

⁢

(

A

,

f

)

=

𝗌𝖾𝗍

⁢

(

B

,

g

)

constructed through (

10.5.1

). If

x

∈

𝗌𝖾𝗍

⁢

(

A

,

f

)

then there merely is

a

:

A

such
that

x

=

f

⁢

(

a

)

, but by (

10.5.1

) there merely is

b

:

B

such that

f

⁢

(

a

)

=

g

⁢

(

b

)

, hence

x

=

g

⁢

(

b

)

and

x

∈

𝗌𝖾𝗍

⁢

(

B

,

f

)

. The

converse

is

symmetric

.

The

subset relation

x

⊆

y

is defined on

V

as usual by

(

x

⊆

y

)

:

≡

∀

(

z

:

V

)

.

z

∈

x

⇒

z

∈

y

.

A

class

may be taken to be a mere

predicate

on

V

. We can say that a class

C

:

V

→

𝖯𝗋𝗈𝗉

is a

V

-set

if there merely exists

v

∈

V

such that

∀

(

x

:

V

)

.

C

(

x

)

⇔

x

∈

v

.

We may also use the conventional notation for classes, which matches our standard notation for subtypes:

\setof

x

|

C

(

x

)

:

≡

λ

x

.

C

(

x

)

.

(10.5.2)

A class

C

:

V

→

𝖯𝗋𝗈𝗉

will be called

𝒰

-small

if all of its values

C

⁢

(

x

)

lie in

𝒰

, specifically

C

:

V

→

𝖯𝗋𝗈𝗉

𝒰

.
Since

V

lives in the same universe

𝒰

′

as does the base universe

𝒰

from which it is built, the same is true for the identity types

v

=

V

w

for any

v

,

w

:

V

. To obtain a well-behaved theory in the absence of propositional resizing,
therefore, it will be convenient to have a

𝒰

-small “resizing” of the

identity relation

, which we can define by induction as follows.

Definition 10.5.3

.

Define the

bisimulation

relation

∼

:

V

×

V

⟶

𝖯𝗋𝗈𝗉

𝒰

by double induction over

V

, where for

set

⁢

(

A

,

f

)

and

set

⁢

(

B

,

g

)

we let:

𝗌𝖾𝗍

(

A

,

f

)

∼

𝗌𝖾𝗍

(

B

,

g

)

:

≡

(

∀

(

a

:

A

)

.

∃

(

b

:

B

)

.

f

(

a

)

∼

g

(

b

)

)

∧

(

∀

(

b

:

B

)

.

∃

(

a

:

A

)

.

f

(

a

)

∼

g

(

b

)

)

.

To verify that the definition is correct, we just need to check that it respects paths

𝗌𝖾𝗍

⁢

(

A

,

f

)

=

𝗌𝖾𝗍

⁢

(

B

,

g

)

constructed through (

10.5.1

), but this is obvious, and that

𝖯𝗋𝗈𝗉

𝒰

is a set, which it is. Note that

u

∼

v

is in

𝖯𝗋𝗈𝗉

𝒰

by construction.

Lemma 10.5.4

.

For any

u

,

v

:

V

we have

(

u

=

V

v

)

=

(

u

∼

v

)

.

Proof.

An easy induction shows that

∼

is

reflexive

, so by transport we have

(

u

=

V

v

)

→

(

u

∼

v

)

.
Thus, it remains to show that

(

u

∼

v

)

→

(

u

=

V

v

)

.
By induction on

u

and

v

, we may assume they are

𝗌𝖾𝗍

⁢

(

A

,

f

)

and

𝗌𝖾𝗍

⁢

(

B

,

g

)

respectively.
Then by definition,

𝗌𝖾𝗍

⁢

(

A

,

f

)

∼

𝗌𝖾𝗍

⁢

(

B

,

g

)

implies

(

∀

(

a

:

A

)

.

∃

(

b

:

B

)

.

f

(

a

)

∼

g

(

b

)

)

and conversely.
But the

inductive hypothesis

then tells us that

(

∀

(

a

:

A

)

.

∃

(

b

:

B

)

.

f

(

a

)

=

g

(

b

)

)

and conversely.
So by the path-constructor for

V

we have

𝗌𝖾𝗍

⁢

(

A

,

f

)

=

V

𝗌𝖾𝗍

⁢

(

B

,

g

)

.
∎

Now we can use the resized identity relation to get the following useful principle.

Lemma 10.5.5

.

For every

u

:

V

there is a given

A

u

:

U

and monic

m

u

:

A

u

⁢

\rightarrowtail

⁢

V

such that

u

=

set

⁢

(

A

u

,

m

u

)

.

Proof.

Take any

presentation

u

=

𝗌𝖾𝗍

⁢

(

A

,

f

)

and factor

f

:

A

→

V

as a

surjection

followed by an

injection

:

f

=

m

u

∘

e

u

:

A

⁢

\twoheadrightarrow

⁢

A

u

⁢

\rightarrowtail

⁢

V

.

Clearly

u

=

𝗌𝖾𝗍

⁢

(

A

u

,

m

u

)

if only

A

u

is still in

𝒰

, which holds if the kernel of

e

u

:

A

⁢

\twoheadrightarrow

⁢

A

u

is in

𝒰

. But the kernel of

e

u

:

A

⁢

\twoheadrightarrow

⁢

A

u

is the

pullback

along

f

:

A

→

V

of the

identity

on

V

, which we just showed to be

𝒰

-small, up to equivalence. Now, this construction of the pair

(

A

u

,

m

u

)

with

m

u

:

A

u

⁢

\rightarrowtail

⁢

V

and

u

=

𝗌𝖾𝗍

⁢

(

A

u

,

m

u

)

from

u

:

V

is unique up to equivalence over

V

, and hence up to identity by univalence. Thus by the principle of unique choice (

LABEL:cor:UC

) there is a map

c

:

V

→

∑

(

A

:

𝒰

)

(

A

→

V

)

such that

c

⁢

(

u

)

=

(

A

u

,

m

u

)

, with

m

u

:

A

u

⁢

\rightarrowtail

⁢

V

and

u

=

𝗌𝖾𝗍

⁢

(

c

⁢

(

u

)

)

, as claimed.
∎

Definition 10.5.6

.

For

u

:

V

, the just constructed monic presentation

m

u

:

A

u

⁢

\rightarrowtail

⁢

V

such that

u

=

set

⁢

(

A

u

,

m

u

)

may be called the

type of members

of

u

and denoted

m

u

:

[

u

]

⁢

\rightarrowtail

⁢

V

, or even

[

u

]

⁢

\rightarrowtail

⁢

V

. We can think of

[

u

]

as the “

subclass

of

V

consisting of members of

u

”.

Theorem 10.5.7

.

The following hold for

(

V

,

∈

)

:

1.

extensionality

:

∀

(

x

,

y

:

V

)

.

x

⊆

y

∧

y

⊆

x

⇔

x

=

y

.

2.

empty set:

for all

x

:

V

, we have

¬

⁡

(

x

∈

∅

)

.

3.

pairing

:

for all

u

,

v

:

V

, the class

u

∪

v

:

≡

\setof

x

|

x

=

u

∨

x

=

v

is a

V

-set.

4.

infinity

:

there is a

v

:

V

with

∅

∈

v

and

x

∈

v

implies

x

∪

{

x

}

∈

v

.

5.

union:

for all

v

:

V

, the class

∪

v

:

≡

\setof

x

|

∃

(

u

:

V

)

.

x

∈

u

∈

v

is a

V

-set.

6.

function set:

for all

u

,

v

:

V

, the class

v

u

:

≡

\setof

x

|

x

:

u

→

v

is a

V

-set.

1

1

Here

x

:

u

→

v

means that

x

is an appropriate set of

ordered pairs

, according to the usual way of encoding

functions

in set theory.

7.

∈

-induction:

if

C

:

V

→

𝖯𝗋𝗈𝗉

is a class such that

C

⁢

(

a

)

holds whenever

C

⁢

(

x

)

for all

x

∈

a

, then

C

⁢

(

v

)

for all

v

:

V

.

8.

replacement:

given any

r

:

V

→

V

and

a

:

V

, the class

\setof

x

|

∃

(

y

:

V

)

.

y

∈

a

∧

x

=

r

(

y

)

is a

V

-set.

9.

separation

:

given any

a

:

V

and

𝒰

-small

C

:

V

→

𝖯𝗋𝗈𝗉

𝒰

, the class

\setof

x

|

x

∈

a

∧

C

(

x

)

is a

V

-set.

Sketch of proof.

1.

Extensionality: if

𝗌𝖾𝗍

⁢

(

A

,

f

)

⊆

𝗌𝖾𝗍

⁢

(

B

,

g

)

then

f

⁢

(

a

)

∈

𝗌𝖾𝗍

⁢

(

B

,

g

)

for every

a

:

A

, therefore for every

a

:

A

there merely exists

b

:

B

such that

f

⁢

(

a

)

=

g

⁢

(

b

)

. The

assumption

𝗌𝖾𝗍

⁢

(

B

,

g

)

⊆

𝗌𝖾𝗍

⁢

(

A

,

f

)

gives the other half
of (

10.5.1

), therefore

𝗌𝖾𝗍

⁢

(

A

,

f

)

=

𝗌𝖾𝗍

⁢

(

B

,

g

)

.

2.

Empty set: suppose

x

∈

∅

=

𝗌𝖾𝗍

⁢

(

𝟎

,

𝗋𝖾𝖼

𝟎

⁢

(

V

)

)

. Then

∃

(

a

:

𝟎

)

.

x

=

𝗋𝖾𝖼

𝟎

(

V

,

a

)

, which is absurd.

3.

Pairing: given

u

and

v

, let

w

=

𝗌𝖾𝗍

⁢

(

𝟐

,

𝗋𝖾𝖼

𝟐

⁢

(

V

,

u

,

v

)

)

.

4.

Infinity: take

w

=

𝗌𝖾𝗍

⁢

(

ℕ

,

I

)

, where

I

:

ℕ

→

V

is given by the recursion

I

(

0

)

:

≡

∅

and

I

(

n

+

1

)

:

≡

I

(

n

)

∪

{

I

(

n

)

}

.

5.

Union: Take any

v

:

V

and any presentation

f

:

A

→

V

with

v

=

𝗌𝖾𝗍

⁢

(

A

,

f

)

. Then let

A

~

:

≡

∑

(

a

:

A

)

[

f

a

]

, where

m

f

⁢

a

:

[

f

⁢

a

]

⁢

\rightarrowtail

⁢

V

is the type of members from

\autoref

def:TypeOfElements.

A

~

is plainly

𝒰

-small, and we have

∪

v

:

≡

𝗌𝖾𝗍

(

A

~

,

λ

x

.

m

f

⁢

(

𝗉𝗋

1

⁢

(

x

)

)

(

𝗉𝗋

2

(

x

)

)

)

.

6.

Function set: given

u

,

v

:

V

, take the types of elements

[

u

]

⁢

\rightarrowtail

⁢

V

and

[

u

]

⁢

\rightarrowtail

⁢

V

, and the function type

[

u

]

→

[

v

]

. We want to define a map

r

:

(

[

u

]

→

[

v

]

)

⟶

V

with “

r

(

f

)

=

\setof

(

x

,

f

(

x

)

)

|

x

:

[

u

]

”, but in order for this to make sense we must first define the ordered pair

(

x

,

y

)

, and then we take the map

r

′

:

x

↦

(

x

,

f

(

x

)

)

, and then we can put

r

(

f

)

:

≡

𝗌𝖾𝗍

(

[

u

]

,

r

′

)

. But the ordered pair can be defined in terms of unordered pairing as usual.

7.

∈

-induction: let

C

:

V

→

𝖯𝗋𝗈𝗉

be a class such that

C

⁢

(

a

)

holds whenever

C

⁢

(

x

)

for all

x

∈

a

, and take any

v

=

𝗌𝖾𝗍

⁢

(

B

,

g

)

. To show that

C

⁢

(

v

)

by induction, assume that

C

⁢

(

g

⁢

(

b

)

)

for all

b

:

B

. For every

x

∈

v

there merely exists some

b

:

B

with

x

=

g

⁢

(

b

)

, and so

C

⁢

(

x

)

. Thus

C

⁢

(

v

)

.

8.

Replacement: the statement “

C

is a

V

-set” is a mere proposition, so we may
proceed by induction as follows. Supposing

x

is

𝗌𝖾𝗍

⁢

(

A

,

f

)

, we claim that

w

:

≡

𝗌𝖾𝗍

(

A

,

r

∘

f

)

is the set we are looking for. If

C

⁢

(

y

)

then there merely exists

z

:

V

and

a

:

A

such that

z

=

f

⁢

(

a

)

and

y

=

r

⁢

(

z

)

, therefore

y

∈

w

.
Conversely, if

y

∈

w

then there merely exists

a

:

A

such that

y

=

r

⁢

(

f

⁢

(

a

)

)

, so
if we take

z

:

≡

f

(

a

)

we see that

C

⁢

(

y

)

holds.

9.

Let us say that a class

C

:

V

→

𝖯𝗋𝗈𝗉

is

separable

if for any

a

:

V

the class

a

∩

C

:

≡

\setof

x

|

x

∈

a

∧

C

(

x

)

is a

V

-set.
We need to show that any

𝒰

-small

C

:

V

→

𝖯𝗋𝗈𝗉

𝒰

is separable. Indeed, given

a

=

𝗌𝖾𝗍

⁢

(

A

,

f

)

, let

A

′

=

∃

(

x

:

A

)

.

C

(

f

x

)

, and take

f

′

=

f

∘

i

, where

i

:

A

′

→

A

is the obvious

inclusion

. Then we can take

a

′

=

𝗌𝖾𝗍

⁢

(

A

′

,

f

′

)

and we have

x

∈

a

∧

C

⁢

(

x

)

⇔

x

∈

a

′

as claimed. We needed the assumption that

C

lands in

𝒰

in order for

A

′

=

∃

(

x

:

A

)

.

C

(

f

x

)

to be in

𝒰

.∎

It is also convenient to have a

strictly

syntactic criterion of separability, so that one can read off from the

expression

for a class that it produces a

V

-set. One such familiar condition is being “

Δ

0

”, which means that the expression is built up from equality

x

=

V

y

and membership

x

∈

y

, using only mere-propositional

connectives

¬

,

∧

,

∨

,

⇒

and

quantifiers

∀

,

∃

over particular sets, i.e. of the form

∃

(

x

∈

a

)

and

∀

(

y

∈

b

)

(these are called

bounded

quantifiers).

Corollary 10.5.8

.

If the class

C

:

V

→

Prop

is

Δ

0

in the above sense, then it is separable.

Proof.

Recall that we have a

𝒰

-small resizing

x

∼

y

of identity

x

=

y

. Since

x

∈

y

is defined in terms of

x

=

y

, we also have a

𝒰

-small resizing of membership

x

∈

~

𝗌𝖾𝗍

(

A

,

f

)

:

≡

∃

(

a

:

A

)

.

x

∼

f

(

a

)

.

Now, let

Φ

be a

Δ

0

expression for

C

, so that as classes

Φ

=

C

(strictly speaking, we should distinguish expressions from their meanings, but we will blur the

difference

). Let

Φ

~

be the result of replacing all

occurrences

of

=

and

∈

by their resized

equivalents

∼

and

∈

~

. Clearly then

Φ

~

also expresses

C

, in the sense that for all

x

:

V

,

Φ

~

⁢

(

x

)

⇔

C

⁢

(

x

)

, and hence

Φ

~

=

C

by univalence. It now suffices to show that

Φ

~

is

𝒰

-small, for then it will be separable by the

theorem

.

We show that

Φ

~

is

𝒰

-small by induction on the construction of the expression. The base cases are

x

∼

y

and

x

∈

~

y

, which have already been resized into

𝒰

. It is also clear that

𝒰

is

closed under

the mere-propositional

operations

(and

(

-

1

)

-truncation), so it just remains to check the bounded quantifiers

∃

(

x

∈

a

)

and

∀

(

y

∈

b

)

. By definition,

∃

(

x

∈

a

)

P

(

x

)

:

≡

∥

∑

x

:

V

(

x

∈

~

a

∧

P

(

x

)

)

∥

,

∀

(

y

∈

b

)

P

(

x

)

:

≡

∏

x

:

V

(

x

∈

~

a

→

P

(

x

)

)

.

Let us consider

∥

∑

(

x

:

V

)

(

x

∈

~

a

∧

P

(

x

)

)

∥

. Although the body

(

x

∈

~

a

∧

P

⁢

(

x

)

)

is

𝒰

-small since

P

⁢

(

x

)

is so by the inductive hypothesis, the quantification over

V

need not stay inside

𝒰

. However, in the present case we can replace this with a quantification over the type

[

a

]

⁢

\rightarrowtail

⁢

V

of members of

a

, and easily show that

∑

x

:

V

(

x

∈

~

a

∧

P

(

x

)

)

=

∑

x

:

[

a

]

P

(

x

)

.

The right-hand side does remain in

𝒰

, since both

[

a

]

and

P

⁢

(

x

)

are in

𝒰

. The case of

∏

(

x

:

V

)

(

x

∈

~

a

→

P

(

x

)

)

is analogous, using

∏

(

x

:

V

)

(

x

∈

~

a

→

P

(

x

)

)

=

∏

(

x

:

[

a

]

)

P

(

x

)

.
∎

We have shown that in

type theory

with a universe

𝒰

, the cumulative hierarchy

V

is a model of a “constructive set theory”
with many of the standard axioms.
However, as far as we know, it lacks the

strong

collection

and

subset collection

axioms which are included in Constructive Zermelo–Fraenkel Set Theory

[

AczelCZF

]

.
In the usual

interpretation

of this set theory into type theory, these two axioms are

consequences

of the setoid-like definition of equality; while in other constructed models of set theory, strong collection may hold for other reasons.
We do not know whether either of these axioms holds in our model

(

V

,

∈

)

, but it seems unlikely.
Since

V

is a higher inductive type

inside

the system, rather than being an

external

construction, it is not surprising that it differs in some ways from prior interpretations.

Finally, consider the result of adding the

axiom of choice

for sets to our type theory, in the form

𝖠𝖢

from

\autoref

subsec:emacinsets above. This has the consequence that

𝖫𝖤𝖬

then also holds, by

\autoref

thm:1surj_to_surj_to_pem, and so

\set

is a topos with

subobject classifier

𝟐

, by

\autoref

thm:settopos. In this case, we have

𝖯𝗋𝗈𝗉

=

𝟐

:

𝒰

, and so

all classes are separable

.
Thus we have shown:

Lemma 10.5.9

.

In type theory with

AC

, the law of

(full) separation

holds for

V

: given

any

class

C

:

V

→

Prop

and

a

:

V

, the class

a

∩

C

is a

V

-set.

Theorem 10.5.10

.

In type theory with

AC

and a universe

U

, the cumulative hierarchy

V

is a model of Zermelo–Fraenkel set theory with choice, ZFC.

Proof.

We have all the axioms listed in

\autoref

thm:VisCST, plus full separation, so we just need to show that there are

power sets

𝒫

⁢

(

a

)

:

V

for all

a

:

V

. But since we have

𝖫𝖤𝖬

these are simply function types

𝒫

(

a

)

=

(

a

→

𝟐

)

. Thus

V

is a model of Zermelo–Fraenkel set theory ZF. We leave the verification of the set-theoretic axiom of choice from

𝖠𝖢

as an easy exercise.
∎

Title

10.5 The cumulative hierarchy

\metatable

Generated on Thu Feb 8 19:30:00 2018 by

LaTeXML