Top Banner
9

Omega Constancy and Truncations - nicolaikraus.github.io fileOmega Constancy and Truncations Nicolai Kraus Functional Programming Lab, University of Nottingham 04/07/14 Nicolai Kraus

Aug 28, 2019

Download

Documents

nguyenliem
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Omega Constancy and Truncations - nicolaikraus.github.io fileOmega Constancy and Truncations Nicolai Kraus Functional Programming Lab, University of Nottingham 04/07/14 Nicolai Kraus

Omega Constancy and Truncations

Nicolai Kraus

Functional Programming Lab, University of Nottingham

04/07/14

Nicolai Kraus Functional Programming Lab, University of NottinghamOmega Constancy and Truncations 04/07/14 1 / 9

(1/9) FP Away Day 2014 � 04/07/14

Page 2: Omega Constancy and Truncations - nicolaikraus.github.io fileOmega Constancy and Truncations Nicolai Kraus Functional Programming Lab, University of Nottingham 04/07/14 Nicolai Kraus

n-Types

Higher Homotopical Structure of a Type

Consider a type X

. . . and two points a, b : X

⇒ we get a new type a = b.

Elements are paths, e.g.

p : a = b or q : a = b

⇒ we get a new type

p = q, the inhabitants of

which are 2-paths.

De�nition: if n such iterations always lead to a type that is

isomorphic to the unit type, we say that X is an (n − 2)-type or

(n − 2)-truncated.

Nicolai Kraus Functional Programming Lab, University of NottinghamOmega Constancy and Truncations 04/07/14 2 / 9

(2/9) FP Away Day 2014 � 04/07/14

Page 3: Omega Constancy and Truncations - nicolaikraus.github.io fileOmega Constancy and Truncations Nicolai Kraus Functional Programming Lab, University of Nottingham 04/07/14 Nicolai Kraus

Propositional Truncation

The Truncation Monad

(−1)-types are called propositions. They have the property

that all their inhabitants are equal.

A type theory can have a monad ‖−‖ which turns any type

into a proposition (which says that this type is inhabited).

Concretely:

‖A‖ is propositional

A→ ‖A‖If B is propositional, then

(A→ B)→ (‖A‖ → B).

(That implies ‖A‖ → (A→ ‖B‖)→ ‖B‖.)

Nicolai Kraus Functional Programming Lab, University of NottinghamOmega Constancy and Truncations 04/07/14 3 / 9

(3/9) FP Away Day 2014 � 04/07/14

Page 4: Omega Constancy and Truncations - nicolaikraus.github.io fileOmega Constancy and Truncations Nicolai Kraus Functional Programming Lab, University of Nottingham 04/07/14 Nicolai Kraus

Propositional Truncation

Eliminating out of Truncations

Goal: a function ‖A‖ → B. How do we get it?

If B is a proposition, then f : A→ B is enough. Interpretation:

�f (a) does not depend on the concrete choice of a : A because B

does not have distinguishable elements anyway.�

This suggests that f should be constant (if we want to drop the

condition on B).

Nicolai Kraus Functional Programming Lab, University of NottinghamOmega Constancy and Truncations 04/07/14 4 / 9

(4/9) FP Away Day 2014 � 04/07/14

Page 5: Omega Constancy and Truncations - nicolaikraus.github.io fileOmega Constancy and Truncations Nicolai Kraus Functional Programming Lab, University of Nottingham 04/07/14 Nicolai Kraus

Constancy

Constancy

But what is �constant�?

First try:

constf :≡ ∀(x, y : A). f (x) = f (y)

Indeed, we can prove:

Theorem

(Σf :A→B constf ) ' (‖A‖ → B)

if B is a 0-type.

Nicolai Kraus Functional Programming Lab, University of NottinghamOmega Constancy and Truncations 04/07/14 5 / 9

(5/9) FP Away Day 2014 � 04/07/14

Page 6: Omega Constancy and Truncations - nicolaikraus.github.io fileOmega Constancy and Truncations Nicolai Kraus Functional Programming Lab, University of Nottingham 04/07/14 Nicolai Kraus

Constancy

Constancy

But look at this:

A function 1→ Torus with a proof constf :

We have to ask for more than that!

Nicolai Kraus Functional Programming Lab, University of NottinghamOmega Constancy and Truncations 04/07/14 6 / 9

(6/9) FP Away Day 2014 � 04/07/14

Page 7: Omega Constancy and Truncations - nicolaikraus.github.io fileOmega Constancy and Truncations Nicolai Kraus Functional Programming Lab, University of Nottingham 04/07/14 Nicolai Kraus

Constancy

Coherence Conditions

The paths have to ��t together�.

Given f : A→ B and c : constf , de�ne

cohf ,c :≡ ∀(x, y , z : A). c(x, y) � c(y , z) = c(x, z)

We can prove:

Theorem

(Σf :A→B Σc:constf cohf ,c) ' (‖A‖ → B)

if B is a 1-type.

Nicolai Kraus Functional Programming Lab, University of NottinghamOmega Constancy and Truncations 04/07/14 7 / 9

(7/9) FP Away Day 2014 � 04/07/14

Page 8: Omega Constancy and Truncations - nicolaikraus.github.io fileOmega Constancy and Truncations Nicolai Kraus Functional Programming Lab, University of Nottingham 04/07/14 Nicolai Kraus

The In�nite Case

The General Case

If we do not know anything about B, we need an �in�nite

Σ-type�.

This can be done in a theory with certain Reedy-limits.

Corollary: If B is an n-type, the �rst n conditions are

su�cient.

This case can be formalised in a proof assistant, for any n.

Main contribution:

a generalised universal property of the prop. truncation.

P. Capriotti and I try to do the same for higher truncation,

which requires a very di�erent approach.

Nicolai Kraus Functional Programming Lab, University of NottinghamOmega Constancy and Truncations 04/07/14 8 / 9

(8/9) FP Away Day 2014 � 04/07/14

Page 9: Omega Constancy and Truncations - nicolaikraus.github.io fileOmega Constancy and Truncations Nicolai Kraus Functional Programming Lab, University of Nottingham 04/07/14 Nicolai Kraus

Questions

Questions?

Thank you!

Nicolai Kraus Functional Programming Lab, University of NottinghamOmega Constancy and Truncations 04/07/14 9 / 9

(9/9) FP Away Day 2014 � 04/07/14