Skip to content

Commit ffa7c94

Browse files
Subuniverse equivalences and connected maps (#1669)
Formalizes `K`-equivalences and `K`-connected maps with respect to an arbitrary subuniverse `K`. Builds on #1547.
1 parent 708b9ea commit ffa7c94

12 files changed

+1755
-39
lines changed

src/foundation/contractible-types.lagda.md

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ open import foundation-core.contractible-maps
2323
open import foundation-core.equivalences
2424
open import foundation-core.function-types
2525
open import foundation-core.functoriality-dependent-pair-types
26+
open import foundation-core.homotopies
2627
open import foundation-core.identity-types
2728
open import foundation-core.propositions
2829
open import foundation-core.subtypes
@@ -197,12 +198,34 @@ module _
197198
is-equiv-is-invertible
198199
( ev-point' (center H))
199200
( λ f → eq-htpy (λ x → ap f (contraction H x)))
200-
( λ x → refl)
201+
( refl-htpy)
201202
202203
equiv-diagonal-exponential-is-contr :
203204
{l : Level} (X : UU l) → is-contr A → X ≃ (A → X)
204205
pr1 (equiv-diagonal-exponential-is-contr X H) =
205206
diagonal-exponential X A
206207
pr2 (equiv-diagonal-exponential-is-contr X H) =
207208
is-equiv-diagonal-exponential-is-contr H X
209+
210+
abstract
211+
is-equiv-diagonal-exponential-is-contr' :
212+
is-contr A →
213+
{l : Level} (X : UU l) → is-equiv (diagonal-exponential A X)
214+
is-equiv-diagonal-exponential-is-contr' H X =
215+
is-equiv-is-invertible
216+
( λ _ → center H)
217+
( λ x → eq-htpy (contraction H ∘ x))
218+
( contraction H)
219+
220+
equiv-diagonal-exponential-is-contr' :
221+
{l : Level} (X : UU l) → is-contr A → A ≃ (X → A)
222+
equiv-diagonal-exponential-is-contr' X H =
223+
( diagonal-exponential A X , is-equiv-diagonal-exponential-is-contr' H X)
224+
225+
abstract
226+
is-contr-is-equiv-diagonal-exponential' :
227+
({l : Level} (X : UU l) → is-equiv (diagonal-exponential A X)) →
228+
is-contr A
229+
is-contr-is-equiv-diagonal-exponential' H =
230+
is-contr-is-equiv-self-diagonal-exponential (H A)
208231
```

src/foundation/diagonal-maps-of-types.lagda.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ open import foundation.universe-levels
2020
2121
open import foundation-core.cartesian-product-types
2222
open import foundation-core.constant-maps
23+
open import foundation-core.contractible-types
2324
open import foundation-core.equivalences
2425
open import foundation-core.fibers-of-maps
2526
open import foundation-core.function-types
@@ -70,7 +71,7 @@ module _
7071
inv-htpy htpy-diagonal-exponential-Id-ap-diagonal-exponential-htpy-eq
7172
```
7273

73-
### Given an element of the exponent the diagonal map is injective
74+
### If the exponent has an element then the diagonal map is injective
7475

7576
```agda
7677
module _
@@ -86,7 +87,7 @@ module _
8687
pr2 diagonal-exponential-injection = is-injective-diagonal-exponential
8788
```
8889

89-
### The action on identifications of an (exponential) diagonal is a diagonal
90+
### The action on identifications of a diagonal is a diagonal
9091

9192
```agda
9293
module _

src/group-theory/invertible-elements-monoids.lagda.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ An element `x : M` in a [monoid](group-theory.monoids.md) `M` is said to be
3333
is said to be **right invertible** if there is an element `y : M` such that
3434
`xy = e`. The element `x` is said to be
3535
{{#concept "invertible" WD="invertible element" WDID=Q67474638 Agda=is-invertible-element-Monoid}}
36-
if it has a two-sided inverse, i.e., if if there is an element `y : M` such that
36+
if it has a two-sided inverse, i.e., if there is an element `y : M` such that
3737
`xy = e` and `yx = e`. Left inverses of elements are also called **retractions**
3838
and right inverses are also called **sections**.
3939

src/orthogonal-factorization-systems.lagda.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,15 @@ open import orthogonal-factorization-systems.anodyne-maps public
1313
open import orthogonal-factorization-systems.cd-structures public
1414
open import orthogonal-factorization-systems.cellular-maps public
1515
open import orthogonal-factorization-systems.closed-modalities public
16+
open import orthogonal-factorization-systems.connected-maps-at-subuniverses public
17+
open import orthogonal-factorization-systems.connected-maps-at-subuniverses-over-type public
18+
open import orthogonal-factorization-systems.connected-types-at-subuniverses public
1619
open import orthogonal-factorization-systems.continuation-modalities public
1720
open import orthogonal-factorization-systems.double-lifts-families-of-elements public
1821
open import orthogonal-factorization-systems.double-negation-sheaves public
1922
open import orthogonal-factorization-systems.equality-extensions-dependent-maps public
2023
open import orthogonal-factorization-systems.equality-extensions-maps public
24+
open import orthogonal-factorization-systems.equivalences-at-subuniverses public
2125
open import orthogonal-factorization-systems.extensions-dependent-maps public
2226
open import orthogonal-factorization-systems.extensions-double-lifts-families-of-elements public
2327
open import orthogonal-factorization-systems.extensions-lifts-families-of-elements public
Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
# `K`-connected maps over a type, with respect to a subuniverse `K`
2+
3+
```agda
4+
module orthogonal-factorization-systems.connected-maps-at-subuniverses-over-type where
5+
```
6+
7+
<details><summary>Imports</summary>
8+
9+
```agda
10+
open import foundation.dependent-pair-types
11+
open import foundation.equivalences
12+
open import foundation.fundamental-theorem-of-identity-types
13+
open import foundation.structure-identity-principle
14+
open import foundation.subuniverses
15+
open import foundation.univalence
16+
open import foundation.universe-levels
17+
18+
open import foundation-core.function-types
19+
open import foundation-core.homotopies
20+
open import foundation-core.identity-types
21+
open import foundation-core.torsorial-type-families
22+
23+
open import orthogonal-factorization-systems.connected-maps-at-subuniverses
24+
```
25+
26+
</details>
27+
28+
## Idea
29+
30+
Given a [subuniverse](foundation.subuniverses.md) `K` we consider the type of
31+
`K`-[connected maps](orthogonal-factorization-systems.connected-maps-at-subuniverses.md)
32+
into a type `X`. I.e., the collection of types `A`
33+
[equipped](foundation.structure.md) with `K`-connected maps from `A` into `X`.
34+
35+
## Definitions
36+
37+
### The type of `K`-connected maps over a type
38+
39+
```agda
40+
Subuniverse-Connected-Map :
41+
{l1 l2 l3 : Level} (l4 : Level) (K : subuniverse l1 l2) (A : UU l3) →
42+
UU (lsuc l1 ⊔ l2 ⊔ l3 ⊔ lsuc l4)
43+
Subuniverse-Connected-Map l4 K A = Σ (UU l4) (subuniverse-connected-map K A)
44+
45+
module _
46+
{l1 l2 l3 l4 : Level} (K : subuniverse l1 l2)
47+
{A : UU l3} (f : Subuniverse-Connected-Map l4 K A)
48+
where
49+
50+
type-Subuniverse-Connected-Map : UU l4
51+
type-Subuniverse-Connected-Map = pr1 f
52+
53+
subuniverse-connected-map-Subuniverse-Connected-Map :
54+
subuniverse-connected-map K A type-Subuniverse-Connected-Map
55+
subuniverse-connected-map-Subuniverse-Connected-Map = pr2 f
56+
57+
map-Subuniverse-Connected-Map : A → type-Subuniverse-Connected-Map
58+
map-Subuniverse-Connected-Map =
59+
map-subuniverse-connected-map K
60+
( subuniverse-connected-map-Subuniverse-Connected-Map)
61+
62+
is-subuniverse-connected-map-Subuniverse-Connected-Map :
63+
is-subuniverse-connected-map K map-Subuniverse-Connected-Map
64+
is-subuniverse-connected-map-Subuniverse-Connected-Map =
65+
is-subuniverse-connected-map-subuniverse-connected-map K
66+
( subuniverse-connected-map-Subuniverse-Connected-Map)
67+
```
68+
69+
## Properties
70+
71+
### Characterization of equality
72+
73+
```agda
74+
equiv-Subuniverse-Connected-Map :
75+
{l1 l2 l3 l4 : Level} (K : subuniverse l1 l2) {A : UU l3} →
76+
(f g : Subuniverse-Connected-Map l4 K A) → UU (l3 ⊔ l4)
77+
equiv-Subuniverse-Connected-Map K f g =
78+
Σ ( type-Subuniverse-Connected-Map K f ≃ type-Subuniverse-Connected-Map K g)
79+
( λ e →
80+
map-equiv e ∘ map-Subuniverse-Connected-Map K f ~
81+
map-Subuniverse-Connected-Map K g)
82+
83+
module _
84+
{l1 l2 l3 l4 : Level} (K : subuniverse l1 l2) {A : UU l3}
85+
(f : Subuniverse-Connected-Map l4 K A)
86+
where
87+
88+
id-equiv-Subuniverse-Connected-Map : equiv-Subuniverse-Connected-Map K f f
89+
id-equiv-Subuniverse-Connected-Map = (id-equiv , refl-htpy)
90+
91+
abstract
92+
is-torsorial-equiv-Subuniverse-Connected-Map :
93+
is-torsorial (equiv-Subuniverse-Connected-Map K f)
94+
is-torsorial-equiv-Subuniverse-Connected-Map =
95+
is-torsorial-Eq-structure
96+
( is-torsorial-equiv (type-Subuniverse-Connected-Map K f))
97+
( type-Subuniverse-Connected-Map K f , id-equiv)
98+
( is-torsorial-htpy-subuniverse-connected-map K
99+
( subuniverse-connected-map-Subuniverse-Connected-Map K f))
100+
101+
equiv-eq-Subuniverse-Connected-Map :
102+
(g : Subuniverse-Connected-Map l4 K A) →
103+
f = g → equiv-Subuniverse-Connected-Map K f g
104+
equiv-eq-Subuniverse-Connected-Map .f refl =
105+
id-equiv-Subuniverse-Connected-Map
106+
107+
abstract
108+
is-equiv-equiv-eq-Subuniverse-Connected-Map :
109+
(g : Subuniverse-Connected-Map l4 K A) →
110+
is-equiv (equiv-eq-Subuniverse-Connected-Map g)
111+
is-equiv-equiv-eq-Subuniverse-Connected-Map =
112+
fundamental-theorem-id
113+
( is-torsorial-equiv-Subuniverse-Connected-Map)
114+
( equiv-eq-Subuniverse-Connected-Map)
115+
116+
extensionality-Subuniverse-Connected-Map :
117+
(g : Subuniverse-Connected-Map l4 K A) →
118+
(f = g) ≃ equiv-Subuniverse-Connected-Map K f g
119+
extensionality-Subuniverse-Connected-Map g =
120+
( equiv-eq-Subuniverse-Connected-Map g ,
121+
is-equiv-equiv-eq-Subuniverse-Connected-Map g)
122+
123+
eq-equiv-Subuniverse-Connected-Map :
124+
(g : Subuniverse-Connected-Map l4 K A) →
125+
equiv-Subuniverse-Connected-Map K f g → f = g
126+
eq-equiv-Subuniverse-Connected-Map g =
127+
map-inv-equiv (extensionality-Subuniverse-Connected-Map g)
128+
```

0 commit comments

Comments
 (0)