diff --git a/src/category-theory/categories.lagda.md b/src/category-theory/categories.lagda.md
index 42f12c7076..ba25122493 100644
--- a/src/category-theory/categories.lagda.md
+++ b/src/category-theory/categories.lagda.md
@@ -17,6 +17,7 @@ open import category-theory.strongly-preunivalent-categories
open import foundation.1-types
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.fundamental-theorem-of-identity-types
open import foundation.identity-types
diff --git a/src/category-theory/composition-operations-on-binary-families-of-sets.lagda.md b/src/category-theory/composition-operations-on-binary-families-of-sets.lagda.md
index d4e50dfdf4..7c19f3c49b 100644
--- a/src/category-theory/composition-operations-on-binary-families-of-sets.lagda.md
+++ b/src/category-theory/composition-operations-on-binary-families-of-sets.lagda.md
@@ -9,6 +9,7 @@ module category-theory.composition-operations-on-binary-families-of-sets where
```agda
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.function-extensionality
open import foundation.identity-types
open import foundation.iterated-dependent-product-types
@@ -16,6 +17,7 @@ open import foundation.propositions
open import foundation.sets
open import foundation.strictly-involutive-identity-types
open import foundation.subtypes
+open import foundation.telescopes
open import foundation.universe-levels
```
diff --git a/src/category-theory/cones-precategories.lagda.md b/src/category-theory/cones-precategories.lagda.md
index 12df81dc10..1db29c5648 100644
--- a/src/category-theory/cones-precategories.lagda.md
+++ b/src/category-theory/cones-precategories.lagda.md
@@ -22,6 +22,8 @@ open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-identifications
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equality-dependent-function-types
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
diff --git a/src/category-theory/conservative-functors-precategories.lagda.md b/src/category-theory/conservative-functors-precategories.lagda.md
index bdbd787dcb..6ff77c4d09 100644
--- a/src/category-theory/conservative-functors-precategories.lagda.md
+++ b/src/category-theory/conservative-functors-precategories.lagda.md
@@ -12,8 +12,10 @@ open import category-theory.isomorphisms-in-precategories
open import category-theory.precategories
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.iterated-dependent-product-types
open import foundation.propositions
+open import foundation.telescopes
open import foundation.universe-levels
```
diff --git a/src/category-theory/constant-functors.lagda.md b/src/category-theory/constant-functors.lagda.md
index a07c37b14b..a62d103b31 100644
--- a/src/category-theory/constant-functors.lagda.md
+++ b/src/category-theory/constant-functors.lagda.md
@@ -19,6 +19,7 @@ open import category-theory.precategories
open import category-theory.precategory-of-functors
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equality-dependent-pair-types
open import foundation.homotopies
open import foundation.identity-types
diff --git a/src/category-theory/copresheaf-categories.lagda.md b/src/category-theory/copresheaf-categories.lagda.md
index 2916d3e0b2..63d3374268 100644
--- a/src/category-theory/copresheaf-categories.lagda.md
+++ b/src/category-theory/copresheaf-categories.lagda.md
@@ -24,18 +24,22 @@ open import category-theory.terminal-objects-precategories
open import foundation.category-of-sets
open import foundation.commuting-squares-of-maps
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equality-cartesian-product-types
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.functoriality-cartesian-product-types
open import foundation.homotopies
open import foundation.identity-types
open import foundation.propositions
-open import foundation.raising-universe-levels
+open import foundation.raising-universe-levels-unit-type
open import foundation.sets
open import foundation.unit-type
open import foundation.universe-levels
+
+open import foundation-core.raising-universe-levels
```
diff --git a/src/category-theory/coproducts-in-precategories.lagda.md b/src/category-theory/coproducts-in-precategories.lagda.md
index cc72f57907..1466eea066 100644
--- a/src/category-theory/coproducts-in-precategories.lagda.md
+++ b/src/category-theory/coproducts-in-precategories.lagda.md
@@ -13,9 +13,12 @@ open import foundation.action-on-identifications-functions
open import foundation.cartesian-product-types
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.iterated-dependent-product-types
open import foundation.propositions
+open import foundation.telescopes
open import foundation.uniqueness-quantification
open import foundation.universe-levels
```
diff --git a/src/category-theory/cores-precategories.lagda.md b/src/category-theory/cores-precategories.lagda.md
index 210c08f99c..21392dbbe2 100644
--- a/src/category-theory/cores-precategories.lagda.md
+++ b/src/category-theory/cores-precategories.lagda.md
@@ -18,6 +18,7 @@ open import category-theory.wide-subprecategories
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.functoriality-dependent-pair-types
open import foundation.fundamental-theorem-of-identity-types
diff --git a/src/category-theory/dependent-composition-operations-over-precategories.lagda.md b/src/category-theory/dependent-composition-operations-over-precategories.lagda.md
index 8f663b706e..b6607a0b34 100644
--- a/src/category-theory/dependent-composition-operations-over-precategories.lagda.md
+++ b/src/category-theory/dependent-composition-operations-over-precategories.lagda.md
@@ -15,11 +15,14 @@ open import category-theory.set-magmoids
open import foundation.cartesian-product-types
open import foundation.dependent-identifications
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
+open import foundation.dependent-products-truncated-types
open import foundation.function-types
open import foundation.identity-types
open import foundation.iterated-dependent-product-types
open import foundation.propositions
open import foundation.sets
+open import foundation.telescopes
open import foundation.transport-along-identifications
open import foundation.truncated-types
open import foundation.truncation-levels
diff --git a/src/category-theory/dependent-products-of-large-precategories.lagda.md b/src/category-theory/dependent-products-of-large-precategories.lagda.md
index eacb31a0b5..d4e599864d 100644
--- a/src/category-theory/dependent-products-of-large-precategories.lagda.md
+++ b/src/category-theory/dependent-products-of-large-precategories.lagda.md
@@ -11,8 +11,10 @@ open import category-theory.isomorphisms-in-large-precategories
open import category-theory.large-precategories
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.identity-types
open import foundation.logical-equivalences
open import foundation.propositions
diff --git a/src/category-theory/dependent-products-of-precategories.lagda.md b/src/category-theory/dependent-products-of-precategories.lagda.md
index 4ee2a1858a..9005ab9e0c 100644
--- a/src/category-theory/dependent-products-of-precategories.lagda.md
+++ b/src/category-theory/dependent-products-of-precategories.lagda.md
@@ -12,8 +12,10 @@ open import category-theory.isomorphisms-in-precategories
open import category-theory.precategories
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.identity-types
open import foundation.logical-equivalences
open import foundation.propositions
diff --git a/src/category-theory/displayed-precategories.lagda.md b/src/category-theory/displayed-precategories.lagda.md
index 959ce0871a..fb310fd7de 100644
--- a/src/category-theory/displayed-precategories.lagda.md
+++ b/src/category-theory/displayed-precategories.lagda.md
@@ -16,6 +16,8 @@ open import category-theory.set-magmoids
open import foundation.cartesian-product-types
open import foundation.dependent-identifications
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
+open import foundation.dependent-products-truncated-types
open import foundation.equality-dependent-pair-types
open import foundation.function-types
open import foundation.identity-types
diff --git a/src/category-theory/embedding-maps-precategories.lagda.md b/src/category-theory/embedding-maps-precategories.lagda.md
index 469ee2913d..1705026d5f 100644
--- a/src/category-theory/embedding-maps-precategories.lagda.md
+++ b/src/category-theory/embedding-maps-precategories.lagda.md
@@ -12,6 +12,7 @@ open import category-theory.maps-precategories
open import category-theory.precategories
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/category-theory/embeddings-precategories.lagda.md b/src/category-theory/embeddings-precategories.lagda.md
index 39ffe2e71f..16ae6dbcdf 100644
--- a/src/category-theory/embeddings-precategories.lagda.md
+++ b/src/category-theory/embeddings-precategories.lagda.md
@@ -13,6 +13,7 @@ open import category-theory.maps-precategories
open import category-theory.precategories
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.universe-levels
```
diff --git a/src/category-theory/epimorphisms-in-large-precategories.lagda.md b/src/category-theory/epimorphisms-in-large-precategories.lagda.md
index d03cd93b4a..4256fc3e47 100644
--- a/src/category-theory/epimorphisms-in-large-precategories.lagda.md
+++ b/src/category-theory/epimorphisms-in-large-precategories.lagda.md
@@ -10,6 +10,7 @@ module category-theory.epimorphisms-in-large-precategories where
open import category-theory.isomorphisms-in-large-precategories
open import category-theory.large-precategories
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.propositions
diff --git a/src/category-theory/essentially-surjective-functors-precategories.lagda.md b/src/category-theory/essentially-surjective-functors-precategories.lagda.md
index da79c73d46..226adf4c31 100644
--- a/src/category-theory/essentially-surjective-functors-precategories.lagda.md
+++ b/src/category-theory/essentially-surjective-functors-precategories.lagda.md
@@ -12,6 +12,7 @@ open import category-theory.isomorphisms-in-precategories
open import category-theory.precategories
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.existential-quantification
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/category-theory/faithful-functors-precategories.lagda.md b/src/category-theory/faithful-functors-precategories.lagda.md
index 8c6ea55099..13be09da49 100644
--- a/src/category-theory/faithful-functors-precategories.lagda.md
+++ b/src/category-theory/faithful-functors-precategories.lagda.md
@@ -13,6 +13,7 @@ open import category-theory.isomorphisms-in-precategories
open import category-theory.precategories
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.propositions
diff --git a/src/category-theory/faithful-maps-precategories.lagda.md b/src/category-theory/faithful-maps-precategories.lagda.md
index 69cc0cd483..79875fbf05 100644
--- a/src/category-theory/faithful-maps-precategories.lagda.md
+++ b/src/category-theory/faithful-maps-precategories.lagda.md
@@ -11,6 +11,7 @@ open import category-theory.maps-precategories
open import category-theory.precategories
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.function-types
@@ -19,6 +20,7 @@ open import foundation.iterated-dependent-product-types
open import foundation.logical-equivalences
open import foundation.propositions
open import foundation.sets
+open import foundation.telescopes
open import foundation.universe-levels
```
diff --git a/src/category-theory/full-functors-precategories.lagda.md b/src/category-theory/full-functors-precategories.lagda.md
index 6fcd4a2690..7da94b4e18 100644
--- a/src/category-theory/full-functors-precategories.lagda.md
+++ b/src/category-theory/full-functors-precategories.lagda.md
@@ -12,6 +12,7 @@ open import category-theory.functors-precategories
open import category-theory.precategories
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.function-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/category-theory/full-large-subcategories.lagda.md b/src/category-theory/full-large-subcategories.lagda.md
index 4b96c679d6..957f6c5321 100644
--- a/src/category-theory/full-large-subcategories.lagda.md
+++ b/src/category-theory/full-large-subcategories.lagda.md
@@ -12,6 +12,7 @@ open import category-theory.functors-large-categories
open import category-theory.large-categories
open import category-theory.large-precategories
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.sets
diff --git a/src/category-theory/full-large-subprecategories.lagda.md b/src/category-theory/full-large-subprecategories.lagda.md
index a3789dd83e..dc78220daa 100644
--- a/src/category-theory/full-large-subprecategories.lagda.md
+++ b/src/category-theory/full-large-subprecategories.lagda.md
@@ -13,6 +13,7 @@ open import category-theory.isomorphisms-in-large-precategories
open import category-theory.large-categories
open import category-theory.large-precategories
+open import foundation.dependent-products-propositions
open import foundation.function-types
open import foundation.fundamental-theorem-of-identity-types
open import foundation.identity-types
diff --git a/src/category-theory/full-maps-precategories.lagda.md b/src/category-theory/full-maps-precategories.lagda.md
index 8b9755fe96..dc4b187cb0 100644
--- a/src/category-theory/full-maps-precategories.lagda.md
+++ b/src/category-theory/full-maps-precategories.lagda.md
@@ -11,10 +11,12 @@ open import category-theory.maps-precategories
open import category-theory.precategories
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.function-types
open import foundation.iterated-dependent-product-types
open import foundation.propositions
open import foundation.surjective-maps
+open import foundation.telescopes
open import foundation.universe-levels
```
diff --git a/src/category-theory/full-subcategories.lagda.md b/src/category-theory/full-subcategories.lagda.md
index a1921d9182..97428aef3a 100644
--- a/src/category-theory/full-subcategories.lagda.md
+++ b/src/category-theory/full-subcategories.lagda.md
@@ -17,6 +17,7 @@ open import category-theory.maps-categories
open import category-theory.precategories
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/category-theory/full-subprecategories.lagda.md b/src/category-theory/full-subprecategories.lagda.md
index 7d2faeebad..6da738aa7b 100644
--- a/src/category-theory/full-subprecategories.lagda.md
+++ b/src/category-theory/full-subprecategories.lagda.md
@@ -18,6 +18,7 @@ open import category-theory.maps-precategories
open import category-theory.precategories
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/category-theory/fully-faithful-functors-precategories.lagda.md b/src/category-theory/fully-faithful-functors-precategories.lagda.md
index a0de4952c0..4189761b36 100644
--- a/src/category-theory/fully-faithful-functors-precategories.lagda.md
+++ b/src/category-theory/fully-faithful-functors-precategories.lagda.md
@@ -20,6 +20,7 @@ open import category-theory.pseudomonic-functors-precategories
open import foundation.action-on-identifications-binary-functions
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.identity-types
diff --git a/src/category-theory/fully-faithful-maps-precategories.lagda.md b/src/category-theory/fully-faithful-maps-precategories.lagda.md
index 3716c27af4..485e66e356 100644
--- a/src/category-theory/fully-faithful-maps-precategories.lagda.md
+++ b/src/category-theory/fully-faithful-maps-precategories.lagda.md
@@ -13,11 +13,13 @@ open import category-theory.maps-precategories
open import category-theory.precategories
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.iterated-dependent-product-types
open import foundation.propositions
open import foundation.surjective-maps
+open import foundation.telescopes
open import foundation.universe-levels
```
diff --git a/src/category-theory/functors-categories.lagda.md b/src/category-theory/functors-categories.lagda.md
index 8b751210a5..b1bcad6e77 100644
--- a/src/category-theory/functors-categories.lagda.md
+++ b/src/category-theory/functors-categories.lagda.md
@@ -12,6 +12,7 @@ open import category-theory.functors-precategories
open import category-theory.isomorphisms-in-categories
open import category-theory.maps-categories
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.homotopies
diff --git a/src/category-theory/functors-precategories.lagda.md b/src/category-theory/functors-precategories.lagda.md
index 0a9c7a225e..02bfd9cb86 100644
--- a/src/category-theory/functors-precategories.lagda.md
+++ b/src/category-theory/functors-precategories.lagda.md
@@ -15,6 +15,7 @@ open import category-theory.precategories
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/category-theory/functors-set-magmoids.lagda.md b/src/category-theory/functors-set-magmoids.lagda.md
index e3fcc50185..df7aebf6bd 100644
--- a/src/category-theory/functors-set-magmoids.lagda.md
+++ b/src/category-theory/functors-set-magmoids.lagda.md
@@ -12,6 +12,7 @@ open import category-theory.set-magmoids
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.function-types
@@ -20,6 +21,7 @@ open import foundation.identity-types
open import foundation.iterated-dependent-product-types
open import foundation.propositions
open import foundation.subtypes
+open import foundation.telescopes
open import foundation.type-arithmetic-dependent-pair-types
open import foundation.universe-levels
```
diff --git a/src/category-theory/gaunt-categories.lagda.md b/src/category-theory/gaunt-categories.lagda.md
index 01853cf160..23fb5c5809 100644
--- a/src/category-theory/gaunt-categories.lagda.md
+++ b/src/category-theory/gaunt-categories.lagda.md
@@ -20,6 +20,7 @@ open import category-theory.strongly-preunivalent-categories
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.sets
diff --git a/src/category-theory/groupoids.lagda.md b/src/category-theory/groupoids.lagda.md
index 2fb548ee06..95f6b91f8e 100644
--- a/src/category-theory/groupoids.lagda.md
+++ b/src/category-theory/groupoids.lagda.md
@@ -17,6 +17,8 @@ open import category-theory.pregroupoids
open import foundation.1-types
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
@@ -26,6 +28,7 @@ open import foundation.iterated-dependent-pair-types
open import foundation.propositions
open import foundation.sets
open import foundation.strictly-involutive-identity-types
+open import foundation.telescopes
open import foundation.torsorial-type-families
open import foundation.type-arithmetic-dependent-pair-types
open import foundation.universe-levels
diff --git a/src/category-theory/indiscrete-precategories.lagda.md b/src/category-theory/indiscrete-precategories.lagda.md
index 68479adbd5..7ee7d27892 100644
--- a/src/category-theory/indiscrete-precategories.lagda.md
+++ b/src/category-theory/indiscrete-precategories.lagda.md
@@ -16,6 +16,8 @@ open import category-theory.subterminal-precategories
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.homotopies
@@ -23,6 +25,7 @@ open import foundation.identity-types
open import foundation.iterated-dependent-product-types
open import foundation.propositions
open import foundation.sets
+open import foundation.telescopes
open import foundation.unit-type
open import foundation.universe-levels
```
diff --git a/src/category-theory/initial-category.lagda.md b/src/category-theory/initial-category.lagda.md
index c24a71c44d..27fc2c6415 100644
--- a/src/category-theory/initial-category.lagda.md
+++ b/src/category-theory/initial-category.lagda.md
@@ -17,6 +17,7 @@ open import category-theory.strongly-preunivalent-categories
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.empty-types
open import foundation.identity-types
open import foundation.sets
diff --git a/src/category-theory/initial-objects-large-precategories.lagda.md b/src/category-theory/initial-objects-large-precategories.lagda.md
index c49900291d..847975f970 100644
--- a/src/category-theory/initial-objects-large-precategories.lagda.md
+++ b/src/category-theory/initial-objects-large-precategories.lagda.md
@@ -10,6 +10,7 @@ module category-theory.initial-objects-large-precategories where
open import category-theory.large-precategories
open import foundation.contractible-types
+open import foundation.dependent-products-contractible-types
open import foundation.universe-levels
```
diff --git a/src/category-theory/initial-objects-precategories.lagda.md b/src/category-theory/initial-objects-precategories.lagda.md
index dac1af8fa9..47a868e0ef 100644
--- a/src/category-theory/initial-objects-precategories.lagda.md
+++ b/src/category-theory/initial-objects-precategories.lagda.md
@@ -11,6 +11,8 @@ open import category-theory.precategories
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.function-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/category-theory/isomorphisms-in-categories.lagda.md b/src/category-theory/isomorphisms-in-categories.lagda.md
index a0f12490f9..c93de6bf79 100644
--- a/src/category-theory/isomorphisms-in-categories.lagda.md
+++ b/src/category-theory/isomorphisms-in-categories.lagda.md
@@ -14,6 +14,8 @@ open import foundation.action-on-identifications-binary-functions
open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.functoriality-dependent-pair-types
open import foundation.identity-types
diff --git a/src/category-theory/isomorphisms-in-large-categories.lagda.md b/src/category-theory/isomorphisms-in-large-categories.lagda.md
index e6f13cb68a..6faa569aba 100644
--- a/src/category-theory/isomorphisms-in-large-categories.lagda.md
+++ b/src/category-theory/isomorphisms-in-large-categories.lagda.md
@@ -13,6 +13,8 @@ open import category-theory.large-categories
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.functoriality-dependent-pair-types
open import foundation.homotopies
diff --git a/src/category-theory/isomorphisms-in-large-precategories.lagda.md b/src/category-theory/isomorphisms-in-large-precategories.lagda.md
index 065f4abe1e..568778af3d 100644
--- a/src/category-theory/isomorphisms-in-large-precategories.lagda.md
+++ b/src/category-theory/isomorphisms-in-large-precategories.lagda.md
@@ -13,6 +13,7 @@ open import category-theory.large-precategories
open import foundation.action-on-identifications-functions
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.homotopies
diff --git a/src/category-theory/isomorphisms-in-precategories.lagda.md b/src/category-theory/isomorphisms-in-precategories.lagda.md
index 31a63e5d4f..d7c0db40da 100644
--- a/src/category-theory/isomorphisms-in-precategories.lagda.md
+++ b/src/category-theory/isomorphisms-in-precategories.lagda.md
@@ -12,6 +12,7 @@ open import category-theory.precategories
open import foundation.action-on-identifications-functions
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.homotopies
diff --git a/src/category-theory/isomorphisms-in-subprecategories.lagda.md b/src/category-theory/isomorphisms-in-subprecategories.lagda.md
index e0d8560de0..0425d467b3 100644
--- a/src/category-theory/isomorphisms-in-subprecategories.lagda.md
+++ b/src/category-theory/isomorphisms-in-subprecategories.lagda.md
@@ -13,6 +13,7 @@ open import category-theory.subprecategories
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.sets
open import foundation.subtypes
diff --git a/src/category-theory/limits-precategories.lagda.md b/src/category-theory/limits-precategories.lagda.md
index 60015d9a58..2f2eb60d1e 100644
--- a/src/category-theory/limits-precategories.lagda.md
+++ b/src/category-theory/limits-precategories.lagda.md
@@ -17,6 +17,7 @@ open import category-theory.right-kan-extensions-precategories
open import category-theory.terminal-category
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-extensionality
open import foundation.function-types
diff --git a/src/category-theory/maps-precategories.lagda.md b/src/category-theory/maps-precategories.lagda.md
index ba08c41d5c..38d45cdbc5 100644
--- a/src/category-theory/maps-precategories.lagda.md
+++ b/src/category-theory/maps-precategories.lagda.md
@@ -14,6 +14,7 @@ open import category-theory.precategories
open import foundation.binary-transport
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equality-dependent-function-types
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/category-theory/monomorphisms-in-large-precategories.lagda.md b/src/category-theory/monomorphisms-in-large-precategories.lagda.md
index 73ce9e3886..cc61348885 100644
--- a/src/category-theory/monomorphisms-in-large-precategories.lagda.md
+++ b/src/category-theory/monomorphisms-in-large-precategories.lagda.md
@@ -10,6 +10,7 @@ module category-theory.monomorphisms-in-large-precategories where
open import category-theory.isomorphisms-in-large-precategories
open import category-theory.large-precategories
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.propositions
diff --git a/src/category-theory/natural-isomorphisms-functors-categories.lagda.md b/src/category-theory/natural-isomorphisms-functors-categories.lagda.md
index f8f8894aea..651250fb8d 100644
--- a/src/category-theory/natural-isomorphisms-functors-categories.lagda.md
+++ b/src/category-theory/natural-isomorphisms-functors-categories.lagda.md
@@ -14,6 +14,7 @@ open import category-theory.natural-isomorphisms-functors-precategories
open import category-theory.natural-transformations-functors-categories
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.homotopies
diff --git a/src/category-theory/natural-isomorphisms-functors-precategories.lagda.md b/src/category-theory/natural-isomorphisms-functors-precategories.lagda.md
index 35a1b71552..59afbc0d42 100644
--- a/src/category-theory/natural-isomorphisms-functors-precategories.lagda.md
+++ b/src/category-theory/natural-isomorphisms-functors-precategories.lagda.md
@@ -14,6 +14,7 @@ open import category-theory.natural-transformations-functors-precategories
open import category-theory.precategories
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.homotopies
diff --git a/src/category-theory/natural-isomorphisms-maps-categories.lagda.md b/src/category-theory/natural-isomorphisms-maps-categories.lagda.md
index 571c2723dc..d2e2f3adff 100644
--- a/src/category-theory/natural-isomorphisms-maps-categories.lagda.md
+++ b/src/category-theory/natural-isomorphisms-maps-categories.lagda.md
@@ -14,6 +14,7 @@ open import category-theory.natural-isomorphisms-maps-precategories
open import category-theory.natural-transformations-maps-categories
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.homotopies
diff --git a/src/category-theory/natural-isomorphisms-maps-precategories.lagda.md b/src/category-theory/natural-isomorphisms-maps-precategories.lagda.md
index 1e2ff1ccc6..85bca1f958 100644
--- a/src/category-theory/natural-isomorphisms-maps-precategories.lagda.md
+++ b/src/category-theory/natural-isomorphisms-maps-precategories.lagda.md
@@ -14,6 +14,7 @@ open import category-theory.precategories
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/category-theory/natural-transformations-functors-categories.lagda.md b/src/category-theory/natural-transformations-functors-categories.lagda.md
index 31ddf1de0b..f7f8fd73eb 100644
--- a/src/category-theory/natural-transformations-functors-categories.lagda.md
+++ b/src/category-theory/natural-transformations-functors-categories.lagda.md
@@ -11,6 +11,7 @@ open import category-theory.categories
open import category-theory.functors-categories
open import category-theory.natural-transformations-functors-precategories
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.homotopies
diff --git a/src/category-theory/natural-transformations-functors-from-small-to-large-categories.lagda.md b/src/category-theory/natural-transformations-functors-from-small-to-large-categories.lagda.md
index 229103a8d2..3b0daba4fb 100644
--- a/src/category-theory/natural-transformations-functors-from-small-to-large-categories.lagda.md
+++ b/src/category-theory/natural-transformations-functors-from-small-to-large-categories.lagda.md
@@ -13,6 +13,7 @@ open import category-theory.large-categories
open import category-theory.natural-transformations-functors-from-small-to-large-precategories
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.homotopies
diff --git a/src/category-theory/natural-transformations-functors-from-small-to-large-precategories.lagda.md b/src/category-theory/natural-transformations-functors-from-small-to-large-precategories.lagda.md
index bde1b382d5..6c8c95bac7 100644
--- a/src/category-theory/natural-transformations-functors-from-small-to-large-precategories.lagda.md
+++ b/src/category-theory/natural-transformations-functors-from-small-to-large-precategories.lagda.md
@@ -13,6 +13,7 @@ open import category-theory.natural-transformations-maps-from-small-to-large-pre
open import category-theory.precategories
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.homotopies
diff --git a/src/category-theory/natural-transformations-functors-precategories.lagda.md b/src/category-theory/natural-transformations-functors-precategories.lagda.md
index 7076ad1387..ccec9dc1c3 100644
--- a/src/category-theory/natural-transformations-functors-precategories.lagda.md
+++ b/src/category-theory/natural-transformations-functors-precategories.lagda.md
@@ -13,6 +13,7 @@ open import category-theory.precategories
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/category-theory/natural-transformations-maps-categories.lagda.md b/src/category-theory/natural-transformations-maps-categories.lagda.md
index 04e78aa05e..7d6b507f60 100644
--- a/src/category-theory/natural-transformations-maps-categories.lagda.md
+++ b/src/category-theory/natural-transformations-maps-categories.lagda.md
@@ -11,6 +11,7 @@ open import category-theory.categories
open import category-theory.maps-categories
open import category-theory.natural-transformations-maps-precategories
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.homotopies
diff --git a/src/category-theory/natural-transformations-maps-from-small-to-large-precategories.lagda.md b/src/category-theory/natural-transformations-maps-from-small-to-large-precategories.lagda.md
index 3158288d63..f0a45b7698 100644
--- a/src/category-theory/natural-transformations-maps-from-small-to-large-precategories.lagda.md
+++ b/src/category-theory/natural-transformations-maps-from-small-to-large-precategories.lagda.md
@@ -14,6 +14,7 @@ open import category-theory.precategories
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.function-extensionality
diff --git a/src/category-theory/natural-transformations-maps-precategories.lagda.md b/src/category-theory/natural-transformations-maps-precategories.lagda.md
index 57b61936ce..e0cfe963da 100644
--- a/src/category-theory/natural-transformations-maps-precategories.lagda.md
+++ b/src/category-theory/natural-transformations-maps-precategories.lagda.md
@@ -13,6 +13,7 @@ open import category-theory.precategories
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.function-extensionality
diff --git a/src/category-theory/nonunital-precategories.lagda.md b/src/category-theory/nonunital-precategories.lagda.md
index 32f4782eab..ab15a28dff 100644
--- a/src/category-theory/nonunital-precategories.lagda.md
+++ b/src/category-theory/nonunital-precategories.lagda.md
@@ -12,6 +12,8 @@ open import category-theory.set-magmoids
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
+open import foundation.dependent-products-truncated-types
open import foundation.identity-types
open import foundation.propositions
open import foundation.sets
diff --git a/src/category-theory/one-object-precategories.lagda.md b/src/category-theory/one-object-precategories.lagda.md
index 76dbd98741..d5b1bffc2b 100644
--- a/src/category-theory/one-object-precategories.lagda.md
+++ b/src/category-theory/one-object-precategories.lagda.md
@@ -12,6 +12,8 @@ open import category-theory.precategories
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.sets
diff --git a/src/category-theory/precategories.lagda.md b/src/category-theory/precategories.lagda.md
index 1eb71cad75..ec94bb864a 100644
--- a/src/category-theory/precategories.lagda.md
+++ b/src/category-theory/precategories.lagda.md
@@ -14,6 +14,8 @@ open import category-theory.set-magmoids
open import foundation.action-on-identifications-functions
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
+open import foundation.dependent-products-truncated-types
open import foundation.function-types
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/category-theory/precategory-of-functors.lagda.md b/src/category-theory/precategory-of-functors.lagda.md
index 1797d461fa..17626c170b 100644
--- a/src/category-theory/precategory-of-functors.lagda.md
+++ b/src/category-theory/precategory-of-functors.lagda.md
@@ -17,11 +17,10 @@ open import category-theory.precategories
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.equivalences
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.functoriality-dependent-pair-types
open import foundation.identity-types
open import foundation.logical-equivalences
-open import foundation.propositions
open import foundation.strictly-involutive-identity-types
open import foundation.universe-levels
```
diff --git a/src/category-theory/precategory-of-maps-precategories.lagda.md b/src/category-theory/precategory-of-maps-precategories.lagda.md
index 8fc3c449a5..cc303bf840 100644
--- a/src/category-theory/precategory-of-maps-precategories.lagda.md
+++ b/src/category-theory/precategory-of-maps-precategories.lagda.md
@@ -17,11 +17,10 @@ open import category-theory.precategories
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.equivalences
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.functoriality-dependent-pair-types
open import foundation.identity-types
open import foundation.logical-equivalences
-open import foundation.propositions
open import foundation.strictly-involutive-identity-types
open import foundation.universe-levels
```
diff --git a/src/category-theory/pregroupoids.lagda.md b/src/category-theory/pregroupoids.lagda.md
index e5cd73ad42..31faaee0ea 100644
--- a/src/category-theory/pregroupoids.lagda.md
+++ b/src/category-theory/pregroupoids.lagda.md
@@ -11,12 +11,14 @@ open import category-theory.isomorphisms-in-precategories
open import category-theory.precategories
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.identity-types
open import foundation.iterated-dependent-product-types
open import foundation.propositions
open import foundation.sets
open import foundation.strictly-involutive-identity-types
+open import foundation.telescopes
open import foundation.type-arithmetic-dependent-pair-types
open import foundation.universe-levels
```
diff --git a/src/category-theory/presheaf-categories.lagda.md b/src/category-theory/presheaf-categories.lagda.md
index 1e61775687..40467e0a41 100644
--- a/src/category-theory/presheaf-categories.lagda.md
+++ b/src/category-theory/presheaf-categories.lagda.md
@@ -18,7 +18,7 @@ open import category-theory.precategories
open import foundation.category-of-sets
open import foundation.commuting-squares-of-maps
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.homotopies
open import foundation.identity-types
diff --git a/src/category-theory/preunivalent-categories.lagda.md b/src/category-theory/preunivalent-categories.lagda.md
index 15f683b862..8af49cfa55 100644
--- a/src/category-theory/preunivalent-categories.lagda.md
+++ b/src/category-theory/preunivalent-categories.lagda.md
@@ -14,6 +14,7 @@ open import category-theory.precategories
open import foundation.1-types
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/category-theory/products-in-precategories.lagda.md b/src/category-theory/products-in-precategories.lagda.md
index 78e0668af4..6be00105d2 100644
--- a/src/category-theory/products-in-precategories.lagda.md
+++ b/src/category-theory/products-in-precategories.lagda.md
@@ -13,9 +13,12 @@ open import foundation.action-on-identifications-functions
open import foundation.cartesian-product-types
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.iterated-dependent-product-types
open import foundation.propositions
+open import foundation.telescopes
open import foundation.uniqueness-quantification
open import foundation.universe-levels
```
diff --git a/src/category-theory/pseudomonic-functors-precategories.lagda.md b/src/category-theory/pseudomonic-functors-precategories.lagda.md
index 12821ec3b4..6b9c25b75c 100644
--- a/src/category-theory/pseudomonic-functors-precategories.lagda.md
+++ b/src/category-theory/pseudomonic-functors-precategories.lagda.md
@@ -15,6 +15,7 @@ open import category-theory.precategories
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.identity-types
open import foundation.injective-maps
@@ -22,6 +23,7 @@ open import foundation.iterated-dependent-product-types
open import foundation.propositional-truncations
open import foundation.propositions
open import foundation.surjective-maps
+open import foundation.telescopes
open import foundation.universe-levels
```
diff --git a/src/category-theory/pullbacks-in-precategories.lagda.md b/src/category-theory/pullbacks-in-precategories.lagda.md
index aaefb61ec6..bd171f40d3 100644
--- a/src/category-theory/pullbacks-in-precategories.lagda.md
+++ b/src/category-theory/pullbacks-in-precategories.lagda.md
@@ -13,9 +13,12 @@ open import foundation.action-on-identifications-functions
open import foundation.cartesian-product-types
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.iterated-dependent-product-types
open import foundation.propositions
+open import foundation.telescopes
open import foundation.uniqueness-quantification
open import foundation.universe-levels
```
diff --git a/src/category-theory/replete-subprecategories.lagda.md b/src/category-theory/replete-subprecategories.lagda.md
index 50d39bd9b3..1195c37cbd 100644
--- a/src/category-theory/replete-subprecategories.lagda.md
+++ b/src/category-theory/replete-subprecategories.lagda.md
@@ -15,6 +15,7 @@ open import category-theory.precategories
open import category-theory.subprecategories
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.functoriality-dependent-pair-types
open import foundation.iterated-dependent-product-types
@@ -22,6 +23,7 @@ open import foundation.logical-equivalences
open import foundation.propositions
open import foundation.subsingleton-induction
open import foundation.subtypes
+open import foundation.telescopes
open import foundation.type-arithmetic-cartesian-product-types
open import foundation.type-arithmetic-dependent-pair-types
open import foundation.universe-levels
diff --git a/src/category-theory/representing-arrow-category.lagda.md b/src/category-theory/representing-arrow-category.lagda.md
index dbdfec5962..5479ab8e27 100644
--- a/src/category-theory/representing-arrow-category.lagda.md
+++ b/src/category-theory/representing-arrow-category.lagda.md
@@ -11,8 +11,8 @@ open import category-theory.categories
open import category-theory.isomorphisms-in-precategories
open import category-theory.precategories
-open import foundation.booleans
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.identity-types
open import foundation.logical-equivalences
@@ -21,6 +21,8 @@ open import foundation.sets
open import foundation.subtypes
open import foundation.unit-type
open import foundation.universe-levels
+
+open import foundation-core.booleans
```
@@ -30,7 +32,7 @@ open import foundation.universe-levels
The **representing arrow** is the [category](category-theory.categories.md) that
[represents](category-theory.representable-functors-categories.md) arrows in a
([pre-](category-theory.precategories.md))category. We model it after
-implication on the [booleans](foundation.booleans.md).
+implication on the [booleans](foundation-core.booleans.md).
## Definition
diff --git a/src/category-theory/right-extensions-precategories.lagda.md b/src/category-theory/right-extensions-precategories.lagda.md
index 4c3828347f..906f2c76c0 100644
--- a/src/category-theory/right-extensions-precategories.lagda.md
+++ b/src/category-theory/right-extensions-precategories.lagda.md
@@ -16,6 +16,8 @@ open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-identifications
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equality-dependent-function-types
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
diff --git a/src/category-theory/rigid-objects-categories.lagda.md b/src/category-theory/rigid-objects-categories.lagda.md
index ed69843f56..a9bc67e00a 100644
--- a/src/category-theory/rigid-objects-categories.lagda.md
+++ b/src/category-theory/rigid-objects-categories.lagda.md
@@ -10,6 +10,7 @@ module category-theory.rigid-objects-categories where
open import category-theory.categories
open import category-theory.rigid-objects-precategories
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.universe-levels
```
diff --git a/src/category-theory/rigid-objects-precategories.lagda.md b/src/category-theory/rigid-objects-precategories.lagda.md
index 356a7f517a..fc8de57c9a 100644
--- a/src/category-theory/rigid-objects-precategories.lagda.md
+++ b/src/category-theory/rigid-objects-precategories.lagda.md
@@ -12,6 +12,8 @@ open import category-theory.precategories
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.universe-levels
```
diff --git a/src/category-theory/set-magmoids.lagda.md b/src/category-theory/set-magmoids.lagda.md
index ec501dc223..f517c0d622 100644
--- a/src/category-theory/set-magmoids.lagda.md
+++ b/src/category-theory/set-magmoids.lagda.md
@@ -11,6 +11,8 @@ open import category-theory.composition-operations-on-binary-families-of-sets
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
+open import foundation.dependent-products-truncated-types
open import foundation.propositions
open import foundation.sets
open import foundation.truncated-types
diff --git a/src/category-theory/sieves-in-categories.lagda.md b/src/category-theory/sieves-in-categories.lagda.md
index 1bab198afa..cc9661ed16 100644
--- a/src/category-theory/sieves-in-categories.lagda.md
+++ b/src/category-theory/sieves-in-categories.lagda.md
@@ -9,6 +9,7 @@ module category-theory.sieves-in-categories where
```agda
open import category-theory.categories
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.subtypes
open import foundation.universe-levels
diff --git a/src/category-theory/slice-precategories.lagda.md b/src/category-theory/slice-precategories.lagda.md
index 9443a721e1..cefbbc2c33 100644
--- a/src/category-theory/slice-precategories.lagda.md
+++ b/src/category-theory/slice-precategories.lagda.md
@@ -17,6 +17,8 @@ open import foundation.action-on-identifications-functions
open import foundation.cartesian-product-types
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/category-theory/split-essentially-surjective-functors-precategories.lagda.md b/src/category-theory/split-essentially-surjective-functors-precategories.lagda.md
index d62ed8e8fe..f3a3c71068 100644
--- a/src/category-theory/split-essentially-surjective-functors-precategories.lagda.md
+++ b/src/category-theory/split-essentially-surjective-functors-precategories.lagda.md
@@ -20,6 +20,8 @@ open import category-theory.pseudomonic-functors-precategories
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
diff --git a/src/category-theory/strict-categories.lagda.md b/src/category-theory/strict-categories.lagda.md
index 549eed68e0..46ebed1dc3 100644
--- a/src/category-theory/strict-categories.lagda.md
+++ b/src/category-theory/strict-categories.lagda.md
@@ -16,6 +16,7 @@ open import category-theory.strongly-preunivalent-categories
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.injective-maps
open import foundation.propositions
diff --git a/src/category-theory/strongly-preunivalent-categories.lagda.md b/src/category-theory/strongly-preunivalent-categories.lagda.md
index 8ba02ef3ba..bc122f1df3 100644
--- a/src/category-theory/strongly-preunivalent-categories.lagda.md
+++ b/src/category-theory/strongly-preunivalent-categories.lagda.md
@@ -15,6 +15,7 @@ open import category-theory.preunivalent-categories
open import foundation.1-types
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.functoriality-dependent-pair-types
open import foundation.identity-types
diff --git a/src/category-theory/structure-equivalences-set-magmoids.lagda.md b/src/category-theory/structure-equivalences-set-magmoids.lagda.md
index 97006c2dcd..eae60f47a9 100644
--- a/src/category-theory/structure-equivalences-set-magmoids.lagda.md
+++ b/src/category-theory/structure-equivalences-set-magmoids.lagda.md
@@ -12,12 +12,14 @@ open import category-theory.set-magmoids
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.functoriality-dependent-function-types
open import foundation.functoriality-dependent-pair-types
open import foundation.identity-types
open import foundation.iterated-dependent-product-types
open import foundation.propositions
+open import foundation.telescopes
open import foundation.type-arithmetic-dependent-pair-types
open import foundation.type-theoretic-principle-of-choice
open import foundation.universe-levels
diff --git a/src/category-theory/subcategories.lagda.md b/src/category-theory/subcategories.lagda.md
index cb8cf062cf..ce29fcc2c6 100644
--- a/src/category-theory/subcategories.lagda.md
+++ b/src/category-theory/subcategories.lagda.md
@@ -21,6 +21,8 @@ open import category-theory.subprecategories
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.functoriality-dependent-pair-types
diff --git a/src/category-theory/subprecategories.lagda.md b/src/category-theory/subprecategories.lagda.md
index 684e900afc..a10cb9c981 100644
--- a/src/category-theory/subprecategories.lagda.md
+++ b/src/category-theory/subprecategories.lagda.md
@@ -14,6 +14,7 @@ open import category-theory.maps-precategories
open import category-theory.precategories
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.identity-types
open import foundation.iterated-dependent-product-types
@@ -21,6 +22,7 @@ open import foundation.propositions
open import foundation.sets
open import foundation.strictly-involutive-identity-types
open import foundation.subtypes
+open import foundation.telescopes
open import foundation.universe-levels
```
diff --git a/src/category-theory/subterminal-precategories.lagda.md b/src/category-theory/subterminal-precategories.lagda.md
index a85c94a746..2d12c25898 100644
--- a/src/category-theory/subterminal-precategories.lagda.md
+++ b/src/category-theory/subterminal-precategories.lagda.md
@@ -18,6 +18,8 @@ open import category-theory.terminal-category
open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/category-theory/terminal-category.lagda.md b/src/category-theory/terminal-category.lagda.md
index a8a8284077..320b686372 100644
--- a/src/category-theory/terminal-category.lagda.md
+++ b/src/category-theory/terminal-category.lagda.md
@@ -22,6 +22,8 @@ open import category-theory.strongly-preunivalent-categories
open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.homotopies
open import foundation.identity-types
diff --git a/src/category-theory/terminal-objects-precategories.lagda.md b/src/category-theory/terminal-objects-precategories.lagda.md
index 5a1fcb7d9c..37e2165f92 100644
--- a/src/category-theory/terminal-objects-precategories.lagda.md
+++ b/src/category-theory/terminal-objects-precategories.lagda.md
@@ -11,6 +11,7 @@ open import category-theory.precategories
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.function-types
open import foundation.identity-types
open import foundation.universe-levels
diff --git a/src/category-theory/wide-subcategories.lagda.md b/src/category-theory/wide-subcategories.lagda.md
index 8b3b4631fd..3d9a2d8ef2 100644
--- a/src/category-theory/wide-subcategories.lagda.md
+++ b/src/category-theory/wide-subcategories.lagda.md
@@ -20,6 +20,8 @@ open import category-theory.wide-subprecategories
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
@@ -30,6 +32,7 @@ open import foundation.propositions
open import foundation.sets
open import foundation.strictly-involutive-identity-types
open import foundation.subtypes
+open import foundation.telescopes
open import foundation.unit-type
open import foundation.universe-levels
```
diff --git a/src/category-theory/wide-subprecategories.lagda.md b/src/category-theory/wide-subprecategories.lagda.md
index 598da33856..d821251802 100644
--- a/src/category-theory/wide-subprecategories.lagda.md
+++ b/src/category-theory/wide-subprecategories.lagda.md
@@ -15,6 +15,7 @@ open import category-theory.precategories
open import category-theory.subprecategories
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.identity-types
@@ -23,6 +24,7 @@ open import foundation.propositions
open import foundation.sets
open import foundation.strictly-involutive-identity-types
open import foundation.subtypes
+open import foundation.telescopes
open import foundation.unit-type
open import foundation.universe-levels
```
diff --git a/src/category-theory/yoneda-lemma-precategories.lagda.md b/src/category-theory/yoneda-lemma-precategories.lagda.md
index 0820f19127..1181e89b5f 100644
--- a/src/category-theory/yoneda-lemma-precategories.lagda.md
+++ b/src/category-theory/yoneda-lemma-precategories.lagda.md
@@ -18,6 +18,7 @@ open import foundation.category-of-sets
open import foundation.dependent-pair-types
open import foundation.equivalences
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.homotopies
open import foundation.identity-types
diff --git a/src/commutative-algebra/commutative-rings.lagda.md b/src/commutative-algebra/commutative-rings.lagda.md
index 06b3e5d600..d72ad24f82 100644
--- a/src/commutative-algebra/commutative-rings.lagda.md
+++ b/src/commutative-algebra/commutative-rings.lagda.md
@@ -17,6 +17,7 @@ open import foundation.action-on-identifications-functions
open import foundation.binary-embeddings
open import foundation.binary-equivalences
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/commutative-algebra/commutative-semirings.lagda.md b/src/commutative-algebra/commutative-semirings.lagda.md
index 78e21f5b30..58ade31e34 100644
--- a/src/commutative-algebra/commutative-semirings.lagda.md
+++ b/src/commutative-algebra/commutative-semirings.lagda.md
@@ -11,10 +11,12 @@ open import elementary-number-theory.addition-natural-numbers
open import elementary-number-theory.natural-numbers
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.iterated-dependent-product-types
open import foundation.propositions
open import foundation.sets
+open import foundation.telescopes
open import foundation.universe-levels
open import group-theory.commutative-monoids
diff --git a/src/commutative-algebra/eisenstein-integers.lagda.md b/src/commutative-algebra/eisenstein-integers.lagda.md
index e7bdaf0e62..d0120575cd 100644
--- a/src/commutative-algebra/eisenstein-integers.lagda.md
+++ b/src/commutative-algebra/eisenstein-integers.lagda.md
@@ -10,6 +10,7 @@ module commutative-algebra.eisenstein-integers where
open import commutative-algebra.commutative-rings
open import elementary-number-theory.addition-integers
+open import elementary-number-theory.equality-integers
open import elementary-number-theory.integers
open import elementary-number-theory.multiplication-integers
diff --git a/src/commutative-algebra/euclidean-domains.lagda.md b/src/commutative-algebra/euclidean-domains.lagda.md
index abd586d5ef..b17fa2dca0 100644
--- a/src/commutative-algebra/euclidean-domains.lagda.md
+++ b/src/commutative-algebra/euclidean-domains.lagda.md
@@ -23,6 +23,7 @@ open import foundation.binary-equivalences
open import foundation.cartesian-product-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.identity-types
diff --git a/src/commutative-algebra/full-ideals-commutative-rings.lagda.md b/src/commutative-algebra/full-ideals-commutative-rings.lagda.md
index 74e4efd94e..1bd4b8a1eb 100644
--- a/src/commutative-algebra/full-ideals-commutative-rings.lagda.md
+++ b/src/commutative-algebra/full-ideals-commutative-rings.lagda.md
@@ -15,7 +15,9 @@ open import commutative-algebra.radical-ideals-commutative-rings
open import commutative-algebra.subsets-commutative-rings
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
+open import foundation.raising-universe-levels-unit-type
open import foundation.unit-type
open import foundation.universe-levels
diff --git a/src/commutative-algebra/gaussian-integers.lagda.md b/src/commutative-algebra/gaussian-integers.lagda.md
index c4b999395d..2cbe987830 100644
--- a/src/commutative-algebra/gaussian-integers.lagda.md
+++ b/src/commutative-algebra/gaussian-integers.lagda.md
@@ -11,6 +11,7 @@ open import commutative-algebra.commutative-rings
open import elementary-number-theory.addition-integers
open import elementary-number-theory.difference-integers
+open import elementary-number-theory.equality-integers
open import elementary-number-theory.integers
open import elementary-number-theory.multiplication-integers
diff --git a/src/commutative-algebra/groups-of-units-commutative-rings.lagda.md b/src/commutative-algebra/groups-of-units-commutative-rings.lagda.md
index f3fcd5aac1..b72b0d3223 100644
--- a/src/commutative-algebra/groups-of-units-commutative-rings.lagda.md
+++ b/src/commutative-algebra/groups-of-units-commutative-rings.lagda.md
@@ -14,6 +14,7 @@ open import commutative-algebra.homomorphisms-commutative-rings
open import commutative-algebra.precategory-of-commutative-rings
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.subtypes
diff --git a/src/commutative-algebra/homomorphisms-commutative-rings.lagda.md b/src/commutative-algebra/homomorphisms-commutative-rings.lagda.md
index 284d752ce5..e3af821a5e 100644
--- a/src/commutative-algebra/homomorphisms-commutative-rings.lagda.md
+++ b/src/commutative-algebra/homomorphisms-commutative-rings.lagda.md
@@ -11,6 +11,7 @@ open import commutative-algebra.commutative-rings
open import commutative-algebra.homomorphisms-commutative-semirings
open import commutative-algebra.invertible-elements-commutative-rings
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/commutative-algebra/ideals-commutative-rings.lagda.md b/src/commutative-algebra/ideals-commutative-rings.lagda.md
index 90f082cc86..1548093147 100644
--- a/src/commutative-algebra/ideals-commutative-rings.lagda.md
+++ b/src/commutative-algebra/ideals-commutative-rings.lagda.md
@@ -14,6 +14,7 @@ open import commutative-algebra.subsets-commutative-rings
open import elementary-number-theory.natural-numbers
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/commutative-algebra/ideals-commutative-semirings.lagda.md b/src/commutative-algebra/ideals-commutative-semirings.lagda.md
index 8fb7d4a127..1fb77114ff 100644
--- a/src/commutative-algebra/ideals-commutative-semirings.lagda.md
+++ b/src/commutative-algebra/ideals-commutative-semirings.lagda.md
@@ -11,6 +11,7 @@ open import commutative-algebra.commutative-semirings
open import commutative-algebra.subsets-commutative-semirings
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/commutative-algebra/integral-domains.lagda.md b/src/commutative-algebra/integral-domains.lagda.md
index d960d94053..19c0a7d0be 100644
--- a/src/commutative-algebra/integral-domains.lagda.md
+++ b/src/commutative-algebra/integral-domains.lagda.md
@@ -20,6 +20,7 @@ open import foundation.binary-embeddings
open import foundation.binary-equivalences
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.identity-types
diff --git a/src/commutative-algebra/invertible-elements-commutative-rings.lagda.md b/src/commutative-algebra/invertible-elements-commutative-rings.lagda.md
index ebc4116027..66b95ec448 100644
--- a/src/commutative-algebra/invertible-elements-commutative-rings.lagda.md
+++ b/src/commutative-algebra/invertible-elements-commutative-rings.lagda.md
@@ -11,6 +11,8 @@ open import commutative-algebra.commutative-rings
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/commutative-algebra/isomorphisms-commutative-rings.lagda.md b/src/commutative-algebra/isomorphisms-commutative-rings.lagda.md
index 663583921f..d14d1ebeef 100644
--- a/src/commutative-algebra/isomorphisms-commutative-rings.lagda.md
+++ b/src/commutative-algebra/isomorphisms-commutative-rings.lagda.md
@@ -15,6 +15,7 @@ open import commutative-algebra.invertible-elements-commutative-rings
open import commutative-algebra.precategory-of-commutative-rings
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.fundamental-theorem-of-identity-types
diff --git a/src/commutative-algebra/local-commutative-rings.lagda.md b/src/commutative-algebra/local-commutative-rings.lagda.md
index 9de71b60fc..606fb3b7dd 100644
--- a/src/commutative-algebra/local-commutative-rings.lagda.md
+++ b/src/commutative-algebra/local-commutative-rings.lagda.md
@@ -10,6 +10,7 @@ module commutative-algebra.local-commutative-rings where
open import commutative-algebra.commutative-rings
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.sets
open import foundation.universe-levels
diff --git a/src/commutative-algebra/poset-of-ideals-commutative-rings.lagda.md b/src/commutative-algebra/poset-of-ideals-commutative-rings.lagda.md
index 4b5b4c589f..08b9737c72 100644
--- a/src/commutative-algebra/poset-of-ideals-commutative-rings.lagda.md
+++ b/src/commutative-algebra/poset-of-ideals-commutative-rings.lagda.md
@@ -10,6 +10,7 @@ module commutative-algebra.poset-of-ideals-commutative-rings where
open import commutative-algebra.commutative-rings
open import commutative-algebra.ideals-commutative-rings
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/commutative-algebra/poset-of-radical-ideals-commutative-rings.lagda.md b/src/commutative-algebra/poset-of-radical-ideals-commutative-rings.lagda.md
index 79e6803732..c8feb2c1f7 100644
--- a/src/commutative-algebra/poset-of-radical-ideals-commutative-rings.lagda.md
+++ b/src/commutative-algebra/poset-of-radical-ideals-commutative-rings.lagda.md
@@ -11,6 +11,7 @@ open import commutative-algebra.commutative-rings
open import commutative-algebra.poset-of-ideals-commutative-rings
open import commutative-algebra.radical-ideals-commutative-rings
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.subtypes
diff --git a/src/commutative-algebra/prime-ideals-commutative-rings.lagda.md b/src/commutative-algebra/prime-ideals-commutative-rings.lagda.md
index de9a327c13..5d639db2e8 100644
--- a/src/commutative-algebra/prime-ideals-commutative-rings.lagda.md
+++ b/src/commutative-algebra/prime-ideals-commutative-rings.lagda.md
@@ -17,6 +17,7 @@ open import commutative-algebra.subsets-commutative-rings
open import elementary-number-theory.natural-numbers
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.disjunction
open import foundation.function-types
open import foundation.identity-types
diff --git a/src/commutative-algebra/radical-ideals-commutative-rings.lagda.md b/src/commutative-algebra/radical-ideals-commutative-rings.lagda.md
index f087226bc9..f7c1a4a31e 100644
--- a/src/commutative-algebra/radical-ideals-commutative-rings.lagda.md
+++ b/src/commutative-algebra/radical-ideals-commutative-rings.lagda.md
@@ -15,6 +15,7 @@ open import commutative-algebra.subsets-commutative-rings
open import elementary-number-theory.natural-numbers
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.fundamental-theorem-of-identity-types
open import foundation.identity-types
diff --git a/src/commutative-algebra/radicals-of-ideals-commutative-rings.lagda.md b/src/commutative-algebra/radicals-of-ideals-commutative-rings.lagda.md
index 13a2f12ae2..63c25f6b87 100644
--- a/src/commutative-algebra/radicals-of-ideals-commutative-rings.lagda.md
+++ b/src/commutative-algebra/radicals-of-ideals-commutative-rings.lagda.md
@@ -21,6 +21,7 @@ open import elementary-number-theory.multiplication-natural-numbers
open import elementary-number-theory.natural-numbers
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.existential-quantification
open import foundation.logical-equivalences
open import foundation.propositional-truncations
diff --git a/src/commutative-algebra/subsets-commutative-rings.lagda.md b/src/commutative-algebra/subsets-commutative-rings.lagda.md
index fd7c2d204e..5dbde46d23 100644
--- a/src/commutative-algebra/subsets-commutative-rings.lagda.md
+++ b/src/commutative-algebra/subsets-commutative-rings.lagda.md
@@ -9,6 +9,7 @@ module commutative-algebra.subsets-commutative-rings where
```agda
open import commutative-algebra.commutative-rings
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositional-extensionality
open import foundation.propositions
diff --git a/src/commutative-algebra/subsets-commutative-semirings.lagda.md b/src/commutative-algebra/subsets-commutative-semirings.lagda.md
index 73f9932341..adfb7d3db5 100644
--- a/src/commutative-algebra/subsets-commutative-semirings.lagda.md
+++ b/src/commutative-algebra/subsets-commutative-semirings.lagda.md
@@ -9,6 +9,7 @@ module commutative-algebra.subsets-commutative-semirings where
```agda
open import commutative-algebra.commutative-semirings
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.sets
diff --git a/src/commutative-algebra/trivial-commutative-rings.lagda.md b/src/commutative-algebra/trivial-commutative-rings.lagda.md
index 8aa4781e63..49a35c6218 100644
--- a/src/commutative-algebra/trivial-commutative-rings.lagda.md
+++ b/src/commutative-algebra/trivial-commutative-rings.lagda.md
@@ -12,6 +12,8 @@ open import commutative-algebra.isomorphisms-commutative-rings
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.negation
open import foundation.propositions
open import foundation.sets
diff --git a/src/commutative-algebra/zariski-topology.lagda.md b/src/commutative-algebra/zariski-topology.lagda.md
index b3bbbec25c..d552a8e8c8 100644
--- a/src/commutative-algebra/zariski-topology.lagda.md
+++ b/src/commutative-algebra/zariski-topology.lagda.md
@@ -10,6 +10,7 @@ module commutative-algebra.zariski-topology where
open import commutative-algebra.commutative-rings
open import commutative-algebra.prime-ideals-commutative-rings
+open import foundation.dependent-products-propositions
open import foundation.existential-quantification
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/domain-theory/directed-complete-posets.lagda.md b/src/domain-theory/directed-complete-posets.lagda.md
index 2225aeff51..f47310a178 100644
--- a/src/domain-theory/directed-complete-posets.lagda.md
+++ b/src/domain-theory/directed-complete-posets.lagda.md
@@ -11,6 +11,7 @@ open import domain-theory.directed-families-posets
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.logical-equivalences
diff --git a/src/domain-theory/directed-families-posets.lagda.md b/src/domain-theory/directed-families-posets.lagda.md
index 0b192c1b84..bb4acdfb54 100644
--- a/src/domain-theory/directed-families-posets.lagda.md
+++ b/src/domain-theory/directed-families-posets.lagda.md
@@ -11,6 +11,7 @@ open import foundation.action-on-identifications-functions
open import foundation.cartesian-product-types
open import foundation.conjunction
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.existential-quantification
open import foundation.function-types
diff --git a/src/domain-theory/omega-complete-posets.lagda.md b/src/domain-theory/omega-complete-posets.lagda.md
index 612e60affb..d3c02e74d6 100644
--- a/src/domain-theory/omega-complete-posets.lagda.md
+++ b/src/domain-theory/omega-complete-posets.lagda.md
@@ -13,6 +13,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.logical-equivalences
diff --git a/src/domain-theory/omega-continuous-maps-omega-complete-posets.lagda.md b/src/domain-theory/omega-continuous-maps-omega-complete-posets.lagda.md
index 60ce16827f..6c249799da 100644
--- a/src/domain-theory/omega-continuous-maps-omega-complete-posets.lagda.md
+++ b/src/domain-theory/omega-continuous-maps-omega-complete-posets.lagda.md
@@ -17,6 +17,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.booleans
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.evaluation-functions
open import foundation.existential-quantification
@@ -27,13 +28,14 @@ open import foundation.homotopy-induction
open import foundation.identity-types
open import foundation.propositional-truncations
open import foundation.propositions
-open import foundation.raising-universe-levels
open import foundation.strictly-involutive-identity-types
open import foundation.subtype-identity-principle
open import foundation.surjective-maps
open import foundation.torsorial-type-families
open import foundation.universe-levels
+open import foundation-core.raising-universe-levels
+
open import order-theory.join-preserving-maps-posets
open import order-theory.least-upper-bounds-posets
open import order-theory.order-preserving-maps-posets
diff --git a/src/domain-theory/omega-continuous-maps-posets.lagda.md b/src/domain-theory/omega-continuous-maps-posets.lagda.md
index 3781ac426b..add807a58c 100644
--- a/src/domain-theory/omega-continuous-maps-posets.lagda.md
+++ b/src/domain-theory/omega-continuous-maps-posets.lagda.md
@@ -15,6 +15,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.booleans
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.evaluation-functions
open import foundation.existential-quantification
@@ -25,13 +26,14 @@ open import foundation.homotopy-induction
open import foundation.identity-types
open import foundation.propositional-truncations
open import foundation.propositions
-open import foundation.raising-universe-levels
open import foundation.strictly-involutive-identity-types
open import foundation.subtype-identity-principle
open import foundation.surjective-maps
open import foundation.torsorial-type-families
open import foundation.universe-levels
+open import foundation-core.raising-universe-levels
+
open import order-theory.join-preserving-maps-posets
open import order-theory.least-upper-bounds-posets
open import order-theory.order-preserving-maps-posets
diff --git a/src/domain-theory/reindexing-directed-families-posets.lagda.md b/src/domain-theory/reindexing-directed-families-posets.lagda.md
index 28396bf30a..8609ed61a0 100644
--- a/src/domain-theory/reindexing-directed-families-posets.lagda.md
+++ b/src/domain-theory/reindexing-directed-families-posets.lagda.md
@@ -13,6 +13,7 @@ open import foundation.action-on-identifications-functions
open import foundation.cartesian-product-types
open import foundation.conjunction
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.existential-quantification
open import foundation.function-types
diff --git a/src/domain-theory/scott-continuous-maps-posets.lagda.md b/src/domain-theory/scott-continuous-maps-posets.lagda.md
index bd50ff479e..09d408c19f 100644
--- a/src/domain-theory/scott-continuous-maps-posets.lagda.md
+++ b/src/domain-theory/scott-continuous-maps-posets.lagda.md
@@ -12,6 +12,7 @@ open import domain-theory.reindexing-directed-families-posets
open import foundation.booleans
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.evaluation-functions
open import foundation.existential-quantification
@@ -22,7 +23,6 @@ open import foundation.homotopy-induction
open import foundation.identity-types
open import foundation.propositional-truncations
open import foundation.propositions
-open import foundation.raising-universe-levels
open import foundation.small-types
open import foundation.strictly-involutive-identity-types
open import foundation.subtype-identity-principle
@@ -30,6 +30,8 @@ open import foundation.surjective-maps
open import foundation.torsorial-type-families
open import foundation.universe-levels
+open import foundation-core.raising-universe-levels
+
open import order-theory.least-upper-bounds-posets
open import order-theory.order-preserving-maps-posets
open import order-theory.posets
diff --git a/src/elementary-number-theory/addition-natural-numbers.lagda.md b/src/elementary-number-theory/addition-natural-numbers.lagda.md
index 2bb395a863..cbb2406c1b 100644
--- a/src/elementary-number-theory/addition-natural-numbers.lagda.md
+++ b/src/elementary-number-theory/addition-natural-numbers.lagda.md
@@ -7,21 +7,19 @@ module elementary-number-theory.addition-natural-numbers where
Imports
```agda
-open import elementary-number-theory.equality-natural-numbers
open import elementary-number-theory.natural-numbers
open import foundation.action-on-identifications-binary-functions
open import foundation.action-on-identifications-functions
-open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
-open import foundation.embeddings
-open import foundation.empty-types
-open import foundation.function-types
-open import foundation.identity-types
-open import foundation.injective-maps
open import foundation.interchange-law
-open import foundation.negated-equality
-open import foundation.sets
+
+open import foundation-core.cartesian-product-types
+open import foundation-core.empty-types
+open import foundation-core.function-types
+open import foundation-core.identity-types
+open import foundation-core.injective-maps
+open import foundation-core.negation
```
@@ -154,19 +152,6 @@ abstract
( commutative-add-ℕ x k ∙ (p ∙ commutative-add-ℕ k y))
```
-### Addition by a fixed element on either side is an embedding
-
-```agda
-abstract
- is-emb-left-add-ℕ : (x : ℕ) → is-emb (x +ℕ_)
- is-emb-left-add-ℕ x =
- is-emb-is-injective is-set-ℕ (is-injective-left-add-ℕ x)
-
- is-emb-right-add-ℕ : (x : ℕ) → is-emb (_+ℕ x)
- is-emb-right-add-ℕ x =
- is-emb-is-injective is-set-ℕ (is-injective-right-add-ℕ x)
-```
-
### `x + y = 0` if and only if both `x` and `y` are `0`
```agda
@@ -197,7 +182,7 @@ abstract
```agda
abstract
neq-add-ℕ :
- (m n : ℕ) → m ≠ m +ℕ (succ-ℕ n)
+ (m n : ℕ) → ¬ (m = m +ℕ (succ-ℕ n))
neq-add-ℕ (succ-ℕ m) n p =
neq-add-ℕ m n
( ( is-injective-succ-ℕ p) ∙
diff --git a/src/elementary-number-theory/archimedean-property-integers.lagda.md b/src/elementary-number-theory/archimedean-property-integers.lagda.md
index c96fb799cf..21e49492ed 100644
--- a/src/elementary-number-theory/archimedean-property-integers.lagda.md
+++ b/src/elementary-number-theory/archimedean-property-integers.lagda.md
@@ -25,7 +25,6 @@ open import foundation.dependent-pair-types
open import foundation.existential-quantification
open import foundation.identity-types
open import foundation.propositional-truncations
-open import foundation.transport-along-identifications
```
diff --git a/src/elementary-number-theory/archimedean-property-natural-numbers.lagda.md b/src/elementary-number-theory/archimedean-property-natural-numbers.lagda.md
index d9f0edd2bd..a24fbc0a07 100644
--- a/src/elementary-number-theory/archimedean-property-natural-numbers.lagda.md
+++ b/src/elementary-number-theory/archimedean-property-natural-numbers.lagda.md
@@ -10,7 +10,6 @@ module elementary-number-theory.archimedean-property-natural-numbers where
open import elementary-number-theory.euclidean-division-natural-numbers
open import elementary-number-theory.multiplication-natural-numbers
open import elementary-number-theory.natural-numbers
-open import elementary-number-theory.nonzero-natural-numbers
open import elementary-number-theory.strict-inequality-natural-numbers
open import foundation.dependent-pair-types
diff --git a/src/elementary-number-theory/archimedean-property-positive-rational-numbers.lagda.md b/src/elementary-number-theory/archimedean-property-positive-rational-numbers.lagda.md
index 532e026317..0a61a1bf8e 100644
--- a/src/elementary-number-theory/archimedean-property-positive-rational-numbers.lagda.md
+++ b/src/elementary-number-theory/archimedean-property-positive-rational-numbers.lagda.md
@@ -12,7 +12,6 @@ module elementary-number-theory.archimedean-property-positive-rational-numbers w
open import elementary-number-theory.archimedean-property-rational-numbers
open import elementary-number-theory.integers
open import elementary-number-theory.multiplication-rational-numbers
-open import elementary-number-theory.multiplicative-group-of-positive-rational-numbers
open import elementary-number-theory.natural-numbers
open import elementary-number-theory.nonzero-natural-numbers
open import elementary-number-theory.positive-rational-numbers
@@ -20,7 +19,6 @@ open import elementary-number-theory.rational-numbers
open import elementary-number-theory.strict-inequality-rational-numbers
open import foundation.action-on-identifications-functions
-open import foundation.binary-transport
open import foundation.dependent-pair-types
open import foundation.existential-quantification
open import foundation.identity-types
diff --git a/src/elementary-number-theory/based-strong-induction-natural-numbers.lagda.md b/src/elementary-number-theory/based-strong-induction-natural-numbers.lagda.md
index 52541dc0ab..16c501a45f 100644
--- a/src/elementary-number-theory/based-strong-induction-natural-numbers.lagda.md
+++ b/src/elementary-number-theory/based-strong-induction-natural-numbers.lagda.md
@@ -15,8 +15,10 @@ open import elementary-number-theory.natural-numbers
open import foundation.action-on-identifications-binary-functions
open import foundation.action-on-identifications-functions
open import foundation.coproduct-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/elementary-number-theory/conatural-numbers.lagda.md b/src/elementary-number-theory/conatural-numbers.lagda.md
index 3a263db97d..54310d096a 100644
--- a/src/elementary-number-theory/conatural-numbers.lagda.md
+++ b/src/elementary-number-theory/conatural-numbers.lagda.md
@@ -14,7 +14,6 @@ open import foundation.coproduct-types
open import foundation.dependent-pair-types
open import foundation.homotopies
open import foundation.injective-maps
-open import foundation.maybe
open import foundation.negated-equality
open import foundation.retractions
open import foundation.sections
@@ -22,6 +21,7 @@ open import foundation.unit-type
open import foundation.universe-levels
open import foundation-core.identity-types
+open import foundation-core.maybe
```
diff --git a/src/elementary-number-theory/cross-multiplication-difference-integer-fractions.lagda.md b/src/elementary-number-theory/cross-multiplication-difference-integer-fractions.lagda.md
index 38bca51942..83e6a7643f 100644
--- a/src/elementary-number-theory/cross-multiplication-difference-integer-fractions.lagda.md
+++ b/src/elementary-number-theory/cross-multiplication-difference-integer-fractions.lagda.md
@@ -15,6 +15,7 @@ open import elementary-number-theory.multiplication-integers
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.negation
open import foundation.propositions
diff --git a/src/elementary-number-theory/divisibility-integers.lagda.md b/src/elementary-number-theory/divisibility-integers.lagda.md
index bed59408c3..e2606d37e3 100644
--- a/src/elementary-number-theory/divisibility-integers.lagda.md
+++ b/src/elementary-number-theory/divisibility-integers.lagda.md
@@ -26,6 +26,7 @@ open import foundation.cartesian-product-types
open import foundation.coproduct-types
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.function-types
open import foundation.identity-types
diff --git a/src/elementary-number-theory/divisibility-natural-numbers.lagda.md b/src/elementary-number-theory/divisibility-natural-numbers.lagda.md
index 9bf81abc22..934d40a703 100644
--- a/src/elementary-number-theory/divisibility-natural-numbers.lagda.md
+++ b/src/elementary-number-theory/divisibility-natural-numbers.lagda.md
@@ -9,6 +9,7 @@ module elementary-number-theory.divisibility-natural-numbers where
```agda
open import elementary-number-theory.addition-natural-numbers
open import elementary-number-theory.distance-natural-numbers
+open import elementary-number-theory.equality-natural-numbers
open import elementary-number-theory.inequality-natural-numbers
open import elementary-number-theory.multiplication-natural-numbers
open import elementary-number-theory.natural-numbers
@@ -17,8 +18,10 @@ open import elementary-number-theory.strict-inequality-natural-numbers
open import foundation.action-on-identifications-functions
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.identity-types
+open import foundation.injective-maps
open import foundation.logical-equivalences
open import foundation.negated-equality
open import foundation.negation
@@ -114,7 +117,10 @@ eq-quotient-div-eq-div-ℕ x y z n e H I =
```agda
is-prop-div-ℕ : (k x : ℕ) → is-nonzero-ℕ k → is-prop (div-ℕ k x)
-is-prop-div-ℕ k x f = is-prop-map-is-emb (is-emb-right-mul-ℕ k f) x
+is-prop-div-ℕ k x f =
+ is-prop-map-is-emb
+ ( is-emb-is-injective is-set-ℕ (is-injective-right-mul-ℕ k f))
+ ( x)
```
### The divisibility relation is a partial order on the natural numbers
diff --git a/src/elementary-number-theory/equality-conatural-numbers.lagda.md b/src/elementary-number-theory/equality-conatural-numbers.lagda.md
index 9231d89474..eb8d842c46 100644
--- a/src/elementary-number-theory/equality-conatural-numbers.lagda.md
+++ b/src/elementary-number-theory/equality-conatural-numbers.lagda.md
@@ -25,7 +25,6 @@ open import foundation.fundamental-theorem-of-identity-types
open import foundation.homotopies
open import foundation.identity-types
open import foundation.injective-maps
-open import foundation.maybe
open import foundation.negation
open import foundation.retractions
open import foundation.retracts-of-types
@@ -36,6 +35,8 @@ open import foundation.torsorial-type-families
open import foundation.unit-type
open import foundation.universe-levels
+open import foundation-core.maybe
+
open import logic.double-negation-elimination
```
diff --git a/src/elementary-number-theory/equality-integers.lagda.md b/src/elementary-number-theory/equality-integers.lagda.md
index 0638b0bb24..52d59d9990 100644
--- a/src/elementary-number-theory/equality-integers.lagda.md
+++ b/src/elementary-number-theory/equality-integers.lagda.md
@@ -15,8 +15,10 @@ open import foundation.coproduct-types
open import foundation.decidable-equality
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.discrete-types
open import foundation.empty-types
+open import foundation.equality-coproduct-types
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
open import foundation.function-types
@@ -24,6 +26,7 @@ open import foundation.fundamental-theorem-of-identity-types
open import foundation.identity-types
open import foundation.propositions
open import foundation.set-truncations
+open import foundation.sets
open import foundation.torsorial-type-families
open import foundation.unit-type
open import foundation.universe-levels
@@ -92,6 +95,18 @@ pr1 ℤ-Discrete-Type = ℤ
pr2 ℤ-Discrete-Type = has-decidable-equality-ℤ
```
+### The type of integers is a set
+
+```agda
+abstract
+ is-set-ℤ : is-set ℤ
+ is-set-ℤ = is-set-coproduct is-set-ℕ (is-set-coproduct is-set-unit is-set-ℕ)
+
+ℤ-Set : Set lzero
+pr1 ℤ-Set = ℤ
+pr2 ℤ-Set = is-set-ℤ
+```
+
### The type of integers is its own set truncation
```agda
diff --git a/src/elementary-number-theory/equality-natural-numbers.lagda.md b/src/elementary-number-theory/equality-natural-numbers.lagda.md
index bb335e5e58..92db29b0ec 100644
--- a/src/elementary-number-theory/equality-natural-numbers.lagda.md
+++ b/src/elementary-number-theory/equality-natural-numbers.lagda.md
@@ -14,6 +14,7 @@ open import foundation.coproduct-types
open import foundation.decidable-equality
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/elementary-number-theory/equality-rational-numbers.lagda.md b/src/elementary-number-theory/equality-rational-numbers.lagda.md
index 6aa0e27499..45b202c9e5 100644
--- a/src/elementary-number-theory/equality-rational-numbers.lagda.md
+++ b/src/elementary-number-theory/equality-rational-numbers.lagda.md
@@ -7,14 +7,13 @@ module elementary-number-theory.equality-rational-numbers where
Imports
```agda
-open import elementary-number-theory.equality-integers
open import elementary-number-theory.integer-fractions
-open import elementary-number-theory.positive-integers
open import elementary-number-theory.rational-numbers
open import elementary-number-theory.reduced-integer-fractions
open import foundation.decidable-equality
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
open import foundation.fundamental-theorem-of-identity-types
diff --git a/src/elementary-number-theory/fundamental-theorem-of-arithmetic.lagda.md b/src/elementary-number-theory/fundamental-theorem-of-arithmetic.lagda.md
index 6badd26e4b..051d844339 100644
--- a/src/elementary-number-theory/fundamental-theorem-of-arithmetic.lagda.md
+++ b/src/elementary-number-theory/fundamental-theorem-of-arithmetic.lagda.md
@@ -31,9 +31,12 @@ open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.identity-types
open import foundation.propositions
+open import foundation.raising-universe-levels-unit-type
open import foundation.subtypes
open import foundation.transport-along-identifications
open import foundation.type-arithmetic-empty-type
@@ -41,6 +44,7 @@ open import foundation.unit-type
open import foundation.universe-levels
open import lists.concatenation-lists
+open import lists.equality-lists
open import lists.functoriality-lists
open import lists.lists
open import lists.permutation-lists
diff --git a/src/elementary-number-theory/group-of-integers.lagda.md b/src/elementary-number-theory/group-of-integers.lagda.md
index 358f281d2d..e1c12a108d 100644
--- a/src/elementary-number-theory/group-of-integers.lagda.md
+++ b/src/elementary-number-theory/group-of-integers.lagda.md
@@ -8,6 +8,7 @@ module elementary-number-theory.group-of-integers where
```agda
open import elementary-number-theory.addition-integers
+open import elementary-number-theory.equality-integers
open import elementary-number-theory.integers
open import foundation.dependent-pair-types
@@ -16,6 +17,8 @@ open import foundation.universe-levels
open import group-theory.abelian-groups
open import group-theory.groups
open import group-theory.semigroups
+
+open import structured-types.types-equipped-with-endomorphisms
```
@@ -28,6 +31,10 @@ forms a group.
## Definition
```agda
+ℤ-Type-With-Endomorphism : Type-With-Endomorphism lzero
+pr1 ℤ-Type-With-Endomorphism = ℤ
+pr2 ℤ-Type-With-Endomorphism = succ-ℤ
+
ℤ-Semigroup : Semigroup lzero
pr1 ℤ-Semigroup = ℤ-Set
pr1 (pr2 ℤ-Semigroup) = add-ℤ
diff --git a/src/elementary-number-theory/inequality-conatural-numbers.lagda.md b/src/elementary-number-theory/inequality-conatural-numbers.lagda.md
index a3aa5e7a0f..af621eefb3 100644
--- a/src/elementary-number-theory/inequality-conatural-numbers.lagda.md
+++ b/src/elementary-number-theory/inequality-conatural-numbers.lagda.md
@@ -17,16 +17,18 @@ open import foundation.cartesian-product-types
open import foundation.coproduct-types
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.function-types
open import foundation.functoriality-coproduct-types
open import foundation.identity-types
-open import foundation.maybe
open import foundation.negation
open import foundation.propositions
open import foundation.unit-type
open import foundation.universe-levels
+open import foundation-core.maybe
+
open import order-theory.posets
open import order-theory.preorders
```
diff --git a/src/elementary-number-theory/inequality-integer-fractions.lagda.md b/src/elementary-number-theory/inequality-integer-fractions.lagda.md
index e87b85c1c3..b44c165204 100644
--- a/src/elementary-number-theory/inequality-integer-fractions.lagda.md
+++ b/src/elementary-number-theory/inequality-integer-fractions.lagda.md
@@ -28,6 +28,7 @@ open import foundation.cartesian-product-types
open import foundation.coproduct-types
open import foundation.decidable-propositions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.function-types
open import foundation.identity-types
open import foundation.negation
diff --git a/src/elementary-number-theory/inequality-integers.lagda.md b/src/elementary-number-theory/inequality-integers.lagda.md
index 1e9c9063f6..421f304fdc 100644
--- a/src/elementary-number-theory/inequality-integers.lagda.md
+++ b/src/elementary-number-theory/inequality-integers.lagda.md
@@ -23,6 +23,7 @@ open import foundation.action-on-identifications-functions
open import foundation.coproduct-types
open import foundation.decidable-propositions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.function-types
open import foundation.functoriality-coproduct-types
open import foundation.identity-types
diff --git a/src/elementary-number-theory/inequality-natural-numbers.lagda.md b/src/elementary-number-theory/inequality-natural-numbers.lagda.md
index a31c50691d..b0b0880abe 100644
--- a/src/elementary-number-theory/inequality-natural-numbers.lagda.md
+++ b/src/elementary-number-theory/inequality-natural-numbers.lagda.md
@@ -19,6 +19,7 @@ open import foundation.cartesian-product-types
open import foundation.coproduct-types
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.function-types
open import foundation.functoriality-coproduct-types
diff --git a/src/elementary-number-theory/inequality-rational-numbers.lagda.md b/src/elementary-number-theory/inequality-rational-numbers.lagda.md
index e602ea684a..27077ce5ce 100644
--- a/src/elementary-number-theory/inequality-rational-numbers.lagda.md
+++ b/src/elementary-number-theory/inequality-rational-numbers.lagda.md
@@ -18,21 +18,17 @@ open import elementary-number-theory.difference-rational-numbers
open import elementary-number-theory.inequality-integer-fractions
open import elementary-number-theory.inequality-integers
open import elementary-number-theory.integer-fractions
-open import elementary-number-theory.integers
open import elementary-number-theory.multiplication-integers
open import elementary-number-theory.nonnegative-integers
-open import elementary-number-theory.nonpositive-integers
open import elementary-number-theory.positive-and-negative-integers
-open import elementary-number-theory.positive-integers
open import elementary-number-theory.rational-numbers
open import elementary-number-theory.reduced-integer-fractions
open import foundation.action-on-identifications-functions
-open import foundation.cartesian-product-types
-open import foundation.conjunction
open import foundation.coproduct-types
open import foundation.decidable-propositions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.function-types
open import foundation.functoriality-coproduct-types
open import foundation.identity-types
diff --git a/src/elementary-number-theory/inequality-standard-finite-types.lagda.md b/src/elementary-number-theory/inequality-standard-finite-types.lagda.md
index d21985ad6f..b1c93bc90d 100644
--- a/src/elementary-number-theory/inequality-standard-finite-types.lagda.md
+++ b/src/elementary-number-theory/inequality-standard-finite-types.lagda.md
@@ -17,6 +17,7 @@ open import foundation.coproduct-types
open import foundation.decidable-propositions
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/elementary-number-theory/initial-segments-natural-numbers.lagda.md b/src/elementary-number-theory/initial-segments-natural-numbers.lagda.md
index 9823b2c9a1..0c8c7fbfb9 100644
--- a/src/elementary-number-theory/initial-segments-natural-numbers.lagda.md
+++ b/src/elementary-number-theory/initial-segments-natural-numbers.lagda.md
@@ -11,6 +11,7 @@ open import elementary-number-theory.maximum-natural-numbers
open import elementary-number-theory.natural-numbers
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.function-types
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/elementary-number-theory/integer-fractions.lagda.md b/src/elementary-number-theory/integer-fractions.lagda.md
index 246ccf0e7c..04864113d9 100644
--- a/src/elementary-number-theory/integer-fractions.lagda.md
+++ b/src/elementary-number-theory/integer-fractions.lagda.md
@@ -12,7 +12,6 @@ open import elementary-number-theory.greatest-common-divisor-integers
open import elementary-number-theory.integers
open import elementary-number-theory.multiplication-integers
open import elementary-number-theory.nonzero-integers
-open import elementary-number-theory.positive-and-negative-integers
open import elementary-number-theory.positive-integers
open import foundation.action-on-identifications-functions
@@ -20,6 +19,7 @@ open import foundation.binary-relations
open import foundation.cartesian-product-types
open import foundation.decidable-equality
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalence-relations
open import foundation.identity-types
open import foundation.negation
diff --git a/src/elementary-number-theory/integers.lagda.md b/src/elementary-number-theory/integers.lagda.md
index 2c1ea175d6..6b801f4787 100644
--- a/src/elementary-number-theory/integers.lagda.md
+++ b/src/elementary-number-theory/integers.lagda.md
@@ -7,30 +7,26 @@ module elementary-number-theory.integers where
Imports
```agda
-open import elementary-number-theory.equality-natural-numbers
open import elementary-number-theory.natural-numbers
open import foundation.action-on-identifications-functions
-open import foundation.coproduct-types
open import foundation.dependent-pair-types
-open import foundation.embeddings
-open import foundation.empty-types
-open import foundation.equality-coproduct-types
-open import foundation.equivalences
-open import foundation.function-types
-open import foundation.homotopies
-open import foundation.identity-types
-open import foundation.injective-maps
-open import foundation.negated-equality
-open import foundation.negation
-open import foundation.propositions
-open import foundation.retractions
-open import foundation.sections
-open import foundation.sets
open import foundation.unit-type
open import foundation.universe-levels
-open import structured-types.types-equipped-with-endomorphisms
+open import foundation-core.coproduct-types
+open import foundation-core.embeddings
+open import foundation-core.empty-types
+open import foundation-core.equivalences
+open import foundation-core.function-types
+open import foundation-core.homotopies
+open import foundation-core.identity-types
+open import foundation-core.injective-maps
+open import foundation-core.negation
+open import foundation-core.propositions
+open import foundation-core.retractions
+open import foundation-core.sections
+open import foundation-core.sets
```
@@ -136,10 +132,6 @@ pred-ℤ (inl x) = inl (succ-ℕ x)
pred-ℤ (inr (inl star)) = inl zero-ℕ
pred-ℤ (inr (inr zero-ℕ)) = inr (inl star)
pred-ℤ (inr (inr (succ-ℕ x))) = inr (inr x)
-
-ℤ-Type-With-Endomorphism : Type-With-Endomorphism lzero
-pr1 ℤ-Type-With-Endomorphism = ℤ
-pr2 ℤ-Type-With-Endomorphism = succ-ℤ
```
### The negative of an integer
@@ -153,18 +145,6 @@ neg-ℤ (inr (inr x)) = inl x
## Properties
-### The type of integers is a set
-
-```agda
-abstract
- is-set-ℤ : is-set ℤ
- is-set-ℤ = is-set-coproduct is-set-ℕ (is-set-coproduct is-set-unit is-set-ℕ)
-
-ℤ-Set : Set lzero
-pr1 ℤ-Set = ℤ
-pr2 ℤ-Set = is-set-ℤ
-```
-
### The successor and predecessor functions on ℤ are mutual inverses
```agda
@@ -214,7 +194,7 @@ abstract
is-injective-succ-ℤ {x} {y} p =
inv (is-retraction-pred-ℤ x) ∙ ap pred-ℤ p ∙ is-retraction-pred-ℤ y
- has-no-fixed-points-succ-ℤ : (x : ℤ) → succ-ℤ x ≠ x
+ has-no-fixed-points-succ-ℤ : (x : ℤ) → ¬ (succ-ℤ x = x)
has-no-fixed-points-succ-ℤ (inl zero-ℕ) ()
has-no-fixed-points-succ-ℤ (inl (succ-ℕ x)) ()
has-no-fixed-points-succ-ℤ (inr (inl star)) ()
diff --git a/src/elementary-number-theory/lower-bounds-natural-numbers.lagda.md b/src/elementary-number-theory/lower-bounds-natural-numbers.lagda.md
index 1a84c70750..366f100b58 100644
--- a/src/elementary-number-theory/lower-bounds-natural-numbers.lagda.md
+++ b/src/elementary-number-theory/lower-bounds-natural-numbers.lagda.md
@@ -11,6 +11,7 @@ open import elementary-number-theory.inequality-natural-numbers
open import elementary-number-theory.natural-numbers
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.universe-levels
```
diff --git a/src/elementary-number-theory/modular-arithmetic-standard-finite-types.lagda.md b/src/elementary-number-theory/modular-arithmetic-standard-finite-types.lagda.md
index e7205258f8..302d0c9537 100644
--- a/src/elementary-number-theory/modular-arithmetic-standard-finite-types.lagda.md
+++ b/src/elementary-number-theory/modular-arithmetic-standard-finite-types.lagda.md
@@ -26,7 +26,6 @@ open import foundation.equivalences
open import foundation.function-types
open import foundation.identity-types
open import foundation.injective-maps
-open import foundation.sets
open import foundation.split-surjective-maps
open import foundation.surjective-maps
open import foundation.universe-levels
diff --git a/src/elementary-number-theory/multiplication-integers.lagda.md b/src/elementary-number-theory/multiplication-integers.lagda.md
index d8c89edf3b..41d4dfcc1b 100644
--- a/src/elementary-number-theory/multiplication-integers.lagda.md
+++ b/src/elementary-number-theory/multiplication-integers.lagda.md
@@ -9,16 +9,12 @@ module elementary-number-theory.multiplication-integers where
```agda
open import elementary-number-theory.addition-integers
open import elementary-number-theory.addition-natural-numbers
-open import elementary-number-theory.addition-positive-and-negative-integers
open import elementary-number-theory.difference-integers
open import elementary-number-theory.equality-integers
-open import elementary-number-theory.inequality-integers
open import elementary-number-theory.integers
open import elementary-number-theory.multiplication-natural-numbers
open import elementary-number-theory.natural-numbers
-open import elementary-number-theory.nonnegative-integers
open import elementary-number-theory.nonzero-integers
-open import elementary-number-theory.positive-integers
open import foundation.action-on-identifications-binary-functions
open import foundation.action-on-identifications-functions
@@ -29,8 +25,6 @@ open import foundation.function-types
open import foundation.identity-types
open import foundation.injective-maps
open import foundation.interchange-law
-open import foundation.sets
-open import foundation.transport-along-identifications
open import foundation.type-arithmetic-empty-type
open import foundation.unit-type
open import foundation.universe-levels
@@ -53,7 +47,7 @@ and derive its basic properties with respect to `succ-ℤ`, `pred-ℤ`, `neg-ℤ
mul-ℤ : ℤ → ℤ → ℤ
mul-ℤ (inl zero-ℕ) l = neg-ℤ l
mul-ℤ (inl (succ-ℕ x)) l = (neg-ℤ l) +ℤ (mul-ℤ (inl x) l)
-mul-ℤ (inr (inl star)) l = zero-ℤ
+mul-ℤ (inr (inl _)) l = zero-ℤ
mul-ℤ (inr (inr zero-ℕ)) l = l
mul-ℤ (inr (inr (succ-ℕ x))) l = l +ℤ (mul-ℤ (inr (inr x)) l)
@@ -73,13 +67,13 @@ ap-mul-ℤ p q = ap-binary mul-ℤ p q
```agda
explicit-mul-ℤ : ℤ → ℤ → ℤ
explicit-mul-ℤ (inl x) (inl y) = int-ℕ ((succ-ℕ x) *ℕ (succ-ℕ y))
-explicit-mul-ℤ (inl x) (inr (inl star)) = zero-ℤ
+explicit-mul-ℤ (inl x) (inr (inl _)) = zero-ℤ
explicit-mul-ℤ (inl x) (inr (inr y)) = neg-ℤ (int-ℕ ((succ-ℕ x) *ℕ (succ-ℕ y)))
-explicit-mul-ℤ (inr (inl star)) (inl y) = zero-ℤ
+explicit-mul-ℤ (inr (inl _)) (inl y) = zero-ℤ
explicit-mul-ℤ (inr (inr x)) (inl y) = neg-ℤ (int-ℕ ((succ-ℕ x) *ℕ (succ-ℕ y)))
-explicit-mul-ℤ (inr (inl star)) (inr (inl star)) = zero-ℤ
-explicit-mul-ℤ (inr (inl star)) (inr (inr y)) = zero-ℤ
-explicit-mul-ℤ (inr (inr x)) (inr (inl star)) = zero-ℤ
+explicit-mul-ℤ (inr (inl _)) (inr (inl _)) = zero-ℤ
+explicit-mul-ℤ (inr (inl _)) (inr (inr y)) = zero-ℤ
+explicit-mul-ℤ (inr (inr x)) (inr (inl _)) = zero-ℤ
explicit-mul-ℤ (inr (inr x)) (inr (inr y)) = int-ℕ ((succ-ℕ x) *ℕ (succ-ℕ y))
explicit-mul-ℤ' : ℤ → ℤ → ℤ
@@ -105,7 +99,7 @@ right-zero-law-mul-ℤ : (k : ℤ) → k *ℤ zero-ℤ = zero-ℤ
right-zero-law-mul-ℤ (inl zero-ℕ) = refl
right-zero-law-mul-ℤ (inl (succ-ℕ n)) =
right-zero-law-mul-ℤ (inl n)
-right-zero-law-mul-ℤ (inr (inl star)) = refl
+right-zero-law-mul-ℤ (inr (inl _)) = refl
right-zero-law-mul-ℤ (inr (inr zero-ℕ)) = refl
right-zero-law-mul-ℤ (inr (inr (succ-ℕ n))) =
right-zero-law-mul-ℤ (inr (inr n))
@@ -121,7 +115,7 @@ right-unit-law-mul-ℤ : (k : ℤ) → k *ℤ one-ℤ = k
right-unit-law-mul-ℤ (inl zero-ℕ) = refl
right-unit-law-mul-ℤ (inl (succ-ℕ n)) =
ap ((neg-one-ℤ) +ℤ_) (right-unit-law-mul-ℤ (inl n))
-right-unit-law-mul-ℤ (inr (inl star)) = refl
+right-unit-law-mul-ℤ (inr (inl _)) = refl
right-unit-law-mul-ℤ (inr (inr zero-ℕ)) = refl
right-unit-law-mul-ℤ (inr (inr (succ-ℕ n))) =
ap (one-ℤ +ℤ_) (right-unit-law-mul-ℤ (inr (inr n)))
@@ -137,7 +131,7 @@ right-neg-unit-law-mul-ℤ : (k : ℤ) → k *ℤ neg-one-ℤ = neg-ℤ k
right-neg-unit-law-mul-ℤ (inl zero-ℕ) = refl
right-neg-unit-law-mul-ℤ (inl (succ-ℕ n)) =
ap (one-ℤ +ℤ_) (right-neg-unit-law-mul-ℤ (inl n))
-right-neg-unit-law-mul-ℤ (inr (inl star)) = refl
+right-neg-unit-law-mul-ℤ (inr (inl _)) = refl
right-neg-unit-law-mul-ℤ (inr (inr zero-ℕ)) = refl
right-neg-unit-law-mul-ℤ (inr (inr (succ-ℕ n))) =
ap (neg-one-ℤ +ℤ_) (right-neg-unit-law-mul-ℤ (inr (inr n)))
@@ -156,7 +150,7 @@ left-successor-law-mul-ℤ (inl (succ-ℕ n)) l =
( _+ℤ ((inl n) *ℤ l))
( inv (right-inverse-law-add-ℤ l)))) ∙
( associative-add-ℤ l (neg-ℤ l) ((inl n) *ℤ l))
-left-successor-law-mul-ℤ (inr (inl star)) l =
+left-successor-law-mul-ℤ (inr (inl _)) l =
inv (right-unit-law-add-ℤ l)
left-successor-law-mul-ℤ (inr (inr n)) l = refl
@@ -169,7 +163,7 @@ left-successor-law-mul-ℤ' k l =
left-predecessor-law-mul-ℤ :
(k l : ℤ) → (pred-ℤ k) *ℤ l = (neg-ℤ l) +ℤ (k *ℤ l)
left-predecessor-law-mul-ℤ (inl n) l = refl
-left-predecessor-law-mul-ℤ (inr (inl star)) l =
+left-predecessor-law-mul-ℤ (inr (inl _)) l =
( left-neg-unit-law-mul-ℤ l) ∙
( inv (right-unit-law-add-ℤ (neg-ℤ l)))
left-predecessor-law-mul-ℤ (inr (inr zero-ℕ)) l =
@@ -209,7 +203,7 @@ right-successor-law-mul-ℤ (inl (succ-ℕ n)) l =
( ( ap succ-ℤ (inv (pred-neg-ℤ l))) ∙
( is-section-pred-ℤ (neg-ℤ l)))))))) ∙
( associative-add-ℤ (inl (succ-ℕ n)) (neg-ℤ l) ((inl n) *ℤ l)))))
-right-successor-law-mul-ℤ (inr (inl star)) l = refl
+right-successor-law-mul-ℤ (inr (inl _)) l = refl
right-successor-law-mul-ℤ (inr (inr zero-ℕ)) l = refl
right-successor-law-mul-ℤ (inr (inr (succ-ℕ n))) l =
( left-successor-law-mul-ℤ (in-pos-ℤ n) (succ-ℤ l)) ∙
@@ -249,7 +243,7 @@ right-predecessor-law-mul-ℤ (inl (succ-ℕ n)) l =
( ( ap succ-ℤ (commutative-add-ℤ (neg-ℤ l) (in-pos-ℤ n))) ∙
( inv (left-successor-law-add-ℤ (in-pos-ℤ n) (neg-ℤ l))))))) ∙
( associative-add-ℤ (in-pos-ℤ (succ-ℕ n)) (neg-ℤ l) ((inl n) *ℤ l)))))
-right-predecessor-law-mul-ℤ (inr (inl star)) l = refl
+right-predecessor-law-mul-ℤ (inr (inl _)) l = refl
right-predecessor-law-mul-ℤ (inr (inr zero-ℕ)) l = refl
right-predecessor-law-mul-ℤ (inr (inr (succ-ℕ n))) l =
( left-successor-law-mul-ℤ (in-pos-ℤ n) (pred-ℤ l)) ∙
@@ -287,7 +281,7 @@ right-distributive-mul-add-ℤ (inl (succ-ℕ x)) l m =
( left-predecessor-law-mul-ℤ ((inl x) +ℤ l) m) ∙
( ( ap ((neg-ℤ m) +ℤ_) (right-distributive-mul-add-ℤ (inl x) l m)) ∙
( inv (associative-add-ℤ (neg-ℤ m) ((inl x) *ℤ m) (l *ℤ m))))
-right-distributive-mul-add-ℤ (inr (inl star)) l m = refl
+right-distributive-mul-add-ℤ (inr (inl _)) l m = refl
right-distributive-mul-add-ℤ (inr (inr zero-ℕ)) l m =
left-successor-law-mul-ℤ l m
right-distributive-mul-add-ℤ (inr (inr (succ-ℕ n))) l m =
@@ -309,7 +303,7 @@ left-negative-law-mul-ℤ (inl (succ-ℕ n)) l =
( ( left-successor-law-mul-ℤ (neg-ℤ (inl n)) l) ∙
( ( ap (l +ℤ_) (left-negative-law-mul-ℤ (inl n) l)) ∙
( right-negative-law-add-ℤ l ((inl n) *ℤ l))))
-left-negative-law-mul-ℤ (inr (inl star)) l = refl
+left-negative-law-mul-ℤ (inr (inl _)) l = refl
left-negative-law-mul-ℤ (inr (inr zero-ℕ)) l = refl
left-negative-law-mul-ℤ (inr (inr (succ-ℕ n))) l =
( left-predecessor-law-mul-ℤ (inl n) l) ∙
@@ -330,7 +324,7 @@ associative-mul-ℤ (inl (succ-ℕ n)) l m =
( ap
( _+ℤ ((inl n) *ℤ (l *ℤ m)))
( left-negative-law-mul-ℤ l m)))
-associative-mul-ℤ (inr (inl star)) l m = refl
+associative-mul-ℤ (inr (inl _)) l m = refl
associative-mul-ℤ (inr (inr zero-ℕ)) l m = refl
associative-mul-ℤ (inr (inr (succ-ℕ n))) l m =
( right-distributive-mul-add-ℤ l ((in-pos-ℤ n) *ℤ l) m) ∙
@@ -346,7 +340,7 @@ commutative-mul-ℤ (inl zero-ℕ) l = inv (right-neg-unit-law-mul-ℤ l)
commutative-mul-ℤ (inl (succ-ℕ n)) l =
( ap ((neg-ℤ l) +ℤ_) (commutative-mul-ℤ (inl n) l)) ∙
( inv (right-predecessor-law-mul-ℤ l (inl n)))
-commutative-mul-ℤ (inr (inl star)) l = inv (right-zero-law-mul-ℤ l)
+commutative-mul-ℤ (inr (inl _)) l = inv (right-zero-law-mul-ℤ l)
commutative-mul-ℤ (inr (inr zero-ℕ)) l = inv (right-unit-law-mul-ℤ l)
commutative-mul-ℤ (inr (inr (succ-ℕ n))) l =
( ap (l +ℤ_) (commutative-mul-ℤ (inr (inr n)) l)) ∙
@@ -423,9 +417,9 @@ compute-mul-ℤ (inl (succ-ℕ x)) (inl y) =
( int-ℕ (succ-ℕ y))
( int-ℕ ((succ-ℕ x) *ℕ (succ-ℕ y))))) ∙
( add-int-ℕ ((succ-ℕ x) *ℕ (succ-ℕ y)) (succ-ℕ y))
-compute-mul-ℤ (inl zero-ℕ) (inr (inl star)) = refl
+compute-mul-ℤ (inl zero-ℕ) (inr (inl _)) = refl
compute-mul-ℤ (inl zero-ℕ) (inr (inr x)) = ap inl (inv (left-unit-law-add-ℕ x))
-compute-mul-ℤ (inl (succ-ℕ x)) (inr (inl star)) = right-zero-law-mul-ℤ (inl x)
+compute-mul-ℤ (inl (succ-ℕ x)) (inr (inl _)) = right-zero-law-mul-ℤ (inl x)
compute-mul-ℤ (inl (succ-ℕ x)) (inr (inr y)) =
( ( ( ap ((inl y) +ℤ_) (compute-mul-ℤ (inl x) (inr (inr y)))) ∙
( inv
@@ -438,7 +432,7 @@ compute-mul-ℤ (inl (succ-ℕ x)) (inr (inr y)) =
( int-ℕ (succ-ℕ y))
( int-ℕ ((succ-ℕ x) *ℕ (succ-ℕ y)))))) ∙
( ap neg-ℤ (add-int-ℕ ((succ-ℕ x) *ℕ (succ-ℕ y)) (succ-ℕ y)))
-compute-mul-ℤ (inr (inl star)) (inl y) = refl
+compute-mul-ℤ (inr (inl _)) (inl y) = refl
compute-mul-ℤ (inr (inr zero-ℕ)) (inl y) = ap inl (inv (left-unit-law-add-ℕ y))
compute-mul-ℤ (inr (inr (succ-ℕ x))) (inl y) =
( ap ((inl y) +ℤ_) (compute-mul-ℤ (inr (inr x)) (inl y))) ∙
@@ -453,10 +447,10 @@ compute-mul-ℤ (inr (inr (succ-ℕ x))) (inl y) =
( inr ∘ inr)
( left-successor-law-add-ℕ y ((x *ℕ (succ-ℕ y)) +ℕ y)))))) ∙
( ap inl (commutative-add-ℕ y ((succ-ℕ x) *ℕ (succ-ℕ y)))))
-compute-mul-ℤ (inr (inl star)) (inr (inl star)) = refl
-compute-mul-ℤ (inr (inl star)) (inr (inr y)) = refl
-compute-mul-ℤ (inr (inr zero-ℕ)) (inr (inl star)) = refl
-compute-mul-ℤ (inr (inr (succ-ℕ x))) (inr (inl star)) =
+compute-mul-ℤ (inr (inl _)) (inr (inl _)) = refl
+compute-mul-ℤ (inr (inl _)) (inr (inr y)) = refl
+compute-mul-ℤ (inr (inr zero-ℕ)) (inr (inl _)) = refl
+compute-mul-ℤ (inr (inr (succ-ℕ x))) (inr (inl _)) =
right-zero-law-mul-ℤ (inr (inr (succ-ℕ x)))
compute-mul-ℤ (inr (inr zero-ℕ)) (inr (inr y)) =
ap
@@ -493,13 +487,13 @@ is-zero-is-zero-mul-ℤ :
(x y : ℤ) → is-zero-ℤ (x *ℤ y) → (is-zero-ℤ x) + (is-zero-ℤ y)
is-zero-is-zero-mul-ℤ (inl x) (inl y) H =
ex-falso (Eq-eq-ℤ (inv (compute-mul-ℤ (inl x) (inl y)) ∙ H))
-is-zero-is-zero-mul-ℤ (inl x) (inr (inl star)) H = inr refl
+is-zero-is-zero-mul-ℤ (inl x) (inr (inl _)) H = inr refl
is-zero-is-zero-mul-ℤ (inl x) (inr (inr y)) H =
ex-falso (Eq-eq-ℤ (inv (compute-mul-ℤ (inl x) (inr (inr y))) ∙ H))
-is-zero-is-zero-mul-ℤ (inr (inl star)) y H = inl refl
+is-zero-is-zero-mul-ℤ (inr (inl _)) y H = inl refl
is-zero-is-zero-mul-ℤ (inr (inr x)) (inl y) H =
ex-falso (Eq-eq-ℤ (inv (compute-mul-ℤ (inr (inr x)) (inl y)) ∙ H))
-is-zero-is-zero-mul-ℤ (inr (inr x)) (inr (inl star)) H = inr refl
+is-zero-is-zero-mul-ℤ (inr (inr x)) (inr (inl _)) H = inr refl
is-zero-is-zero-mul-ℤ (inr (inr x)) (inr (inr y)) H =
ex-falso (Eq-eq-ℤ (inv (compute-mul-ℤ (inr (inr x)) (inr (inr y))) ∙ H))
```
diff --git a/src/elementary-number-theory/multiplication-natural-numbers.lagda.md b/src/elementary-number-theory/multiplication-natural-numbers.lagda.md
index c4d6dd3e5f..c6b37aa41d 100644
--- a/src/elementary-number-theory/multiplication-natural-numbers.lagda.md
+++ b/src/elementary-number-theory/multiplication-natural-numbers.lagda.md
@@ -8,19 +8,17 @@ module elementary-number-theory.multiplication-natural-numbers where
```agda
open import elementary-number-theory.addition-natural-numbers
-open import elementary-number-theory.equality-natural-numbers
open import elementary-number-theory.natural-numbers
open import foundation.action-on-identifications-binary-functions
open import foundation.action-on-identifications-functions
-open import foundation.coproduct-types
open import foundation.dependent-pair-types
-open import foundation.embeddings
-open import foundation.identity-types
-open import foundation.injective-maps
open import foundation.interchange-law
-open import foundation.negated-equality
-open import foundation.sets
+
+open import foundation-core.coproduct-types
+open import foundation-core.identity-types
+open import foundation-core.injective-maps
+open import foundation-core.negation
```
@@ -194,14 +192,6 @@ is-injective-left-mul-ℕ k H p with
is-successor-is-nonzero-ℕ H
... | pair l refl = is-injective-left-mul-succ-ℕ l p
-is-emb-left-mul-ℕ : (x : ℕ) → is-nonzero-ℕ x → is-emb (x *ℕ_)
-is-emb-left-mul-ℕ x H =
- is-emb-is-injective is-set-ℕ (is-injective-left-mul-ℕ x H)
-
-is-emb-right-mul-ℕ : (x : ℕ) → is-nonzero-ℕ x → is-emb (_*ℕ x)
-is-emb-right-mul-ℕ x H =
- is-emb-is-injective is-set-ℕ (is-injective-right-mul-ℕ x H)
-
is-nonzero-mul-ℕ :
(x y : ℕ) → is-nonzero-ℕ x → is-nonzero-ℕ y → is-nonzero-ℕ (x *ℕ y)
is-nonzero-mul-ℕ x y H K p =
@@ -251,7 +241,7 @@ is-one-mul-ℕ :
is-one-mul-ℕ .1 .1 refl refl = refl
neq-mul-ℕ :
- (m n : ℕ) → succ-ℕ m ≠ (succ-ℕ m *ℕ (succ-ℕ (succ-ℕ n)))
+ (m n : ℕ) → ¬ (succ-ℕ m = succ-ℕ m *ℕ (succ-ℕ (succ-ℕ n)))
neq-mul-ℕ m n p =
neq-add-ℕ
( succ-ℕ m)
diff --git a/src/elementary-number-theory/negative-integers.lagda.md b/src/elementary-number-theory/negative-integers.lagda.md
index a549a3ae37..a5f64cc4f7 100644
--- a/src/elementary-number-theory/negative-integers.lagda.md
+++ b/src/elementary-number-theory/negative-integers.lagda.md
@@ -7,6 +7,7 @@ module elementary-number-theory.negative-integers where
Imports
```agda
+open import elementary-number-theory.equality-integers
open import elementary-number-theory.integers
open import elementary-number-theory.natural-numbers
open import elementary-number-theory.nonzero-integers
@@ -16,6 +17,7 @@ open import foundation.coproduct-types
open import foundation.decidable-subtypes
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/elementary-number-theory/nonnegative-integers.lagda.md b/src/elementary-number-theory/nonnegative-integers.lagda.md
index 6f9d446eca..85a0720b09 100644
--- a/src/elementary-number-theory/nonnegative-integers.lagda.md
+++ b/src/elementary-number-theory/nonnegative-integers.lagda.md
@@ -7,6 +7,7 @@ module elementary-number-theory.nonnegative-integers where
Imports
```agda
+open import elementary-number-theory.equality-integers
open import elementary-number-theory.integers
open import elementary-number-theory.natural-numbers
@@ -15,6 +16,7 @@ open import foundation.coproduct-types
open import foundation.decidable-subtypes
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/elementary-number-theory/nonpositive-integers.lagda.md b/src/elementary-number-theory/nonpositive-integers.lagda.md
index 423216dbe2..431ca888ea 100644
--- a/src/elementary-number-theory/nonpositive-integers.lagda.md
+++ b/src/elementary-number-theory/nonpositive-integers.lagda.md
@@ -7,6 +7,7 @@ module elementary-number-theory.nonpositive-integers where
Imports
```agda
+open import elementary-number-theory.equality-integers
open import elementary-number-theory.integers
open import elementary-number-theory.natural-numbers
@@ -15,6 +16,7 @@ open import foundation.coproduct-types
open import foundation.decidable-subtypes
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/elementary-number-theory/nonzero-integers.lagda.md b/src/elementary-number-theory/nonzero-integers.lagda.md
index 2d7dd2e4a9..5986d0c520 100644
--- a/src/elementary-number-theory/nonzero-integers.lagda.md
+++ b/src/elementary-number-theory/nonzero-integers.lagda.md
@@ -12,6 +12,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.negation
open import foundation.propositions
diff --git a/src/elementary-number-theory/nonzero-rational-numbers.lagda.md b/src/elementary-number-theory/nonzero-rational-numbers.lagda.md
index 29defc2276..3881bd004b 100644
--- a/src/elementary-number-theory/nonzero-rational-numbers.lagda.md
+++ b/src/elementary-number-theory/nonzero-rational-numbers.lagda.md
@@ -21,6 +21,7 @@ open import elementary-number-theory.reduced-integer-fractions
open import foundation.action-on-identifications-functions
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.function-types
open import foundation.functoriality-coproduct-types
diff --git a/src/elementary-number-theory/peano-arithmetic.lagda.md b/src/elementary-number-theory/peano-arithmetic.lagda.md
index 97139b2a63..a9258f1f5f 100644
--- a/src/elementary-number-theory/peano-arithmetic.lagda.md
+++ b/src/elementary-number-theory/peano-arithmetic.lagda.md
@@ -10,6 +10,7 @@ module elementary-number-theory.peano-arithmetic where
open import elementary-number-theory.natural-numbers
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.function-types
open import foundation.identity-types
open import foundation.logical-equivalences
diff --git a/src/elementary-number-theory/poset-of-natural-numbers-ordered-by-divisibility.lagda.md b/src/elementary-number-theory/poset-of-natural-numbers-ordered-by-divisibility.lagda.md
index 4977a5e18b..985af13295 100644
--- a/src/elementary-number-theory/poset-of-natural-numbers-ordered-by-divisibility.lagda.md
+++ b/src/elementary-number-theory/poset-of-natural-numbers-ordered-by-divisibility.lagda.md
@@ -15,6 +15,7 @@ open import elementary-number-theory.multiplication-natural-numbers
open import elementary-number-theory.natural-numbers
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.identity-types
open import foundation.propositional-truncations
diff --git a/src/elementary-number-theory/positive-conatural-numbers.lagda.md b/src/elementary-number-theory/positive-conatural-numbers.lagda.md
index d50eb34f27..4d2dd9340a 100644
--- a/src/elementary-number-theory/positive-conatural-numbers.lagda.md
+++ b/src/elementary-number-theory/positive-conatural-numbers.lagda.md
@@ -15,12 +15,12 @@ open import elementary-number-theory.zero-conatural-numbers
open import foundation.coproduct-types
open import foundation.decidable-types
open import foundation.dependent-pair-types
-open import foundation.maybe
open import foundation.negation
open import foundation.universe-levels
open import foundation-core.empty-types
open import foundation-core.identity-types
+open import foundation-core.maybe
```
diff --git a/src/elementary-number-theory/positive-integer-fractions.lagda.md b/src/elementary-number-theory/positive-integer-fractions.lagda.md
index 7e92ff3e65..b419f808b3 100644
--- a/src/elementary-number-theory/positive-integer-fractions.lagda.md
+++ b/src/elementary-number-theory/positive-integer-fractions.lagda.md
@@ -16,6 +16,7 @@ open import elementary-number-theory.multiplication-positive-and-negative-intege
open import elementary-number-theory.positive-integers
open import elementary-number-theory.reduced-integer-fractions
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.subtypes
open import foundation.universe-levels
diff --git a/src/elementary-number-theory/positive-integers.lagda.md b/src/elementary-number-theory/positive-integers.lagda.md
index bc942b406f..e06deadc44 100644
--- a/src/elementary-number-theory/positive-integers.lagda.md
+++ b/src/elementary-number-theory/positive-integers.lagda.md
@@ -7,6 +7,7 @@ module elementary-number-theory.positive-integers where
Imports
```agda
+open import elementary-number-theory.equality-integers
open import elementary-number-theory.integers
open import elementary-number-theory.natural-numbers
open import elementary-number-theory.nonzero-integers
@@ -17,14 +18,13 @@ open import foundation.coproduct-types
open import foundation.decidable-subtypes
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equivalences
open import foundation.existential-quantification
open import foundation.function-types
open import foundation.identity-types
open import foundation.propositions
-open import foundation.retractions
-open import foundation.sections
open import foundation.sets
open import foundation.subtypes
open import foundation.surjective-maps
diff --git a/src/elementary-number-theory/positive-rational-numbers.lagda.md b/src/elementary-number-theory/positive-rational-numbers.lagda.md
index a30df38014..0e8b58147c 100644
--- a/src/elementary-number-theory/positive-rational-numbers.lagda.md
+++ b/src/elementary-number-theory/positive-rational-numbers.lagda.md
@@ -9,7 +9,6 @@ module elementary-number-theory.positive-rational-numbers where
Imports
```agda
-open import elementary-number-theory.addition-integer-fractions
open import elementary-number-theory.addition-rational-numbers
open import elementary-number-theory.additive-group-of-rational-numbers
open import elementary-number-theory.cross-multiplication-difference-integer-fractions
@@ -30,7 +29,6 @@ open import elementary-number-theory.positive-and-negative-integers
open import elementary-number-theory.positive-integer-fractions
open import elementary-number-theory.positive-integers
open import elementary-number-theory.rational-numbers
-open import elementary-number-theory.reduced-integer-fractions
open import elementary-number-theory.strict-inequality-integers
open import elementary-number-theory.strict-inequality-rational-numbers
@@ -39,6 +37,7 @@ open import foundation.binary-transport
open import foundation.cartesian-product-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equivalences
open import foundation.existential-quantification
diff --git a/src/elementary-number-theory/prime-numbers.lagda.md b/src/elementary-number-theory/prime-numbers.lagda.md
index 930d240933..e3b44e74f0 100644
--- a/src/elementary-number-theory/prime-numbers.lagda.md
+++ b/src/elementary-number-theory/prime-numbers.lagda.md
@@ -22,6 +22,8 @@ open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.fundamental-theorem-of-identity-types
open import foundation.identity-types
diff --git a/src/elementary-number-theory/proper-divisors-natural-numbers.lagda.md b/src/elementary-number-theory/proper-divisors-natural-numbers.lagda.md
index 0f35339378..269b16ea3a 100644
--- a/src/elementary-number-theory/proper-divisors-natural-numbers.lagda.md
+++ b/src/elementary-number-theory/proper-divisors-natural-numbers.lagda.md
@@ -18,6 +18,7 @@ open import elementary-number-theory.strict-inequality-natural-numbers
open import foundation.cartesian-product-types
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.identity-types
open import foundation.negated-equality
diff --git a/src/elementary-number-theory/rational-numbers.lagda.md b/src/elementary-number-theory/rational-numbers.lagda.md
index 001db38b16..dd28e9697d 100644
--- a/src/elementary-number-theory/rational-numbers.lagda.md
+++ b/src/elementary-number-theory/rational-numbers.lagda.md
@@ -13,12 +13,12 @@ open import elementary-number-theory.integer-fractions
open import elementary-number-theory.integers
open import elementary-number-theory.mediant-integer-fractions
open import elementary-number-theory.multiplication-integers
-open import elementary-number-theory.positive-and-negative-integers
open import elementary-number-theory.positive-integers
open import elementary-number-theory.reduced-integer-fractions
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equality-cartesian-product-types
open import foundation.equality-dependent-pair-types
open import foundation.identity-types
@@ -28,8 +28,6 @@ open import foundation.reflecting-maps-equivalence-relations
open import foundation.retracts-of-types
open import foundation.sections
open import foundation.sets
-open import foundation.subtypes
-open import foundation.surjective-maps
open import foundation.universe-levels
open import set-theory.countable-sets
diff --git a/src/elementary-number-theory/reduced-integer-fractions.lagda.md b/src/elementary-number-theory/reduced-integer-fractions.lagda.md
index b74d316dd3..084afcbad4 100644
--- a/src/elementary-number-theory/reduced-integer-fractions.lagda.md
+++ b/src/elementary-number-theory/reduced-integer-fractions.lagda.md
@@ -23,6 +23,7 @@ open import elementary-number-theory.relatively-prime-integers
open import foundation.action-on-identifications-functions
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equality-cartesian-product-types
open import foundation.equality-dependent-pair-types
diff --git a/src/elementary-number-theory/relatively-prime-integers.lagda.md b/src/elementary-number-theory/relatively-prime-integers.lagda.md
index 56ab84992a..517be019de 100644
--- a/src/elementary-number-theory/relatively-prime-integers.lagda.md
+++ b/src/elementary-number-theory/relatively-prime-integers.lagda.md
@@ -8,11 +8,13 @@ module elementary-number-theory.relatively-prime-integers where
```agda
open import elementary-number-theory.absolute-value-integers
+open import elementary-number-theory.equality-integers
open import elementary-number-theory.greatest-common-divisor-integers
open import elementary-number-theory.integers
open import elementary-number-theory.relatively-prime-natural-numbers
open import foundation.action-on-identifications-functions
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.universe-levels
```
diff --git a/src/elementary-number-theory/relatively-prime-natural-numbers.lagda.md b/src/elementary-number-theory/relatively-prime-natural-numbers.lagda.md
index 01f59c2f4b..b8859eaf45 100644
--- a/src/elementary-number-theory/relatively-prime-natural-numbers.lagda.md
+++ b/src/elementary-number-theory/relatively-prime-natural-numbers.lagda.md
@@ -17,6 +17,7 @@ open import elementary-number-theory.prime-numbers
open import foundation.decidable-propositions
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.negated-equality
open import foundation.propositions
diff --git a/src/elementary-number-theory/strict-inequality-integer-fractions.lagda.md b/src/elementary-number-theory/strict-inequality-integer-fractions.lagda.md
index d58fbf1f4c..b8b78413dd 100644
--- a/src/elementary-number-theory/strict-inequality-integer-fractions.lagda.md
+++ b/src/elementary-number-theory/strict-inequality-integer-fractions.lagda.md
@@ -32,6 +32,7 @@ open import foundation.conjunction
open import foundation.coproduct-types
open import foundation.decidable-propositions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.disjunction
open import foundation.existential-quantification
open import foundation.function-types
diff --git a/src/elementary-number-theory/strict-inequality-integers.lagda.md b/src/elementary-number-theory/strict-inequality-integers.lagda.md
index 107592ee5c..60b45e669f 100644
--- a/src/elementary-number-theory/strict-inequality-integers.lagda.md
+++ b/src/elementary-number-theory/strict-inequality-integers.lagda.md
@@ -26,6 +26,7 @@ open import foundation.binary-transport
open import foundation.coproduct-types
open import foundation.decidable-propositions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.function-types
open import foundation.functoriality-coproduct-types
open import foundation.identity-types
diff --git a/src/elementary-number-theory/strict-inequality-natural-numbers.lagda.md b/src/elementary-number-theory/strict-inequality-natural-numbers.lagda.md
index 623bc26c65..ea79df0494 100644
--- a/src/elementary-number-theory/strict-inequality-natural-numbers.lagda.md
+++ b/src/elementary-number-theory/strict-inequality-natural-numbers.lagda.md
@@ -19,6 +19,7 @@ open import foundation.cartesian-product-types
open import foundation.coproduct-types
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.function-types
open import foundation.functoriality-coproduct-types
diff --git a/src/elementary-number-theory/strict-inequality-rational-numbers.lagda.md b/src/elementary-number-theory/strict-inequality-rational-numbers.lagda.md
index 8f5c5545e7..6dd703d370 100644
--- a/src/elementary-number-theory/strict-inequality-rational-numbers.lagda.md
+++ b/src/elementary-number-theory/strict-inequality-rational-numbers.lagda.md
@@ -38,6 +38,7 @@ open import foundation.conjunction
open import foundation.coproduct-types
open import foundation.decidable-propositions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.disjunction
open import foundation.existential-quantification
open import foundation.function-types
diff --git a/src/elementary-number-theory/strict-inequality-standard-finite-types.lagda.md b/src/elementary-number-theory/strict-inequality-standard-finite-types.lagda.md
index 5083034a1f..6768d75116 100644
--- a/src/elementary-number-theory/strict-inequality-standard-finite-types.lagda.md
+++ b/src/elementary-number-theory/strict-inequality-standard-finite-types.lagda.md
@@ -12,6 +12,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.action-on-identifications-functions
open import foundation.coproduct-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.function-types
open import foundation.identity-types
diff --git a/src/elementary-number-theory/strong-induction-natural-numbers.lagda.md b/src/elementary-number-theory/strong-induction-natural-numbers.lagda.md
index 6a0bf777c5..6a176168b7 100644
--- a/src/elementary-number-theory/strong-induction-natural-numbers.lagda.md
+++ b/src/elementary-number-theory/strong-induction-natural-numbers.lagda.md
@@ -15,6 +15,7 @@ open import foundation.action-on-identifications-functions
open import foundation.cartesian-product-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.function-extensionality
open import foundation.function-types
diff --git a/src/elementary-number-theory/universal-property-conatural-numbers.lagda.md b/src/elementary-number-theory/universal-property-conatural-numbers.lagda.md
index c593269a23..1f524c4ab7 100644
--- a/src/elementary-number-theory/universal-property-conatural-numbers.lagda.md
+++ b/src/elementary-number-theory/universal-property-conatural-numbers.lagda.md
@@ -9,6 +9,7 @@ module elementary-number-theory.universal-property-conatural-numbers where
```agda
open import foundation.coalgebras-maybe
open import foundation.contractible-types
+open import foundation.dependent-products-contractible-types
open import foundation.morphisms-coalgebras-maybe
open import foundation.universe-levels
```
@@ -23,7 +24,7 @@ enjoys many universal properties, among others:
1. It is the one-point compactification of the
[natural numbers](elementary-number-theory.natural-numbers.md).
2. It classifies downward-stable subsets of the natural numbers.
-3. It is the final coalgebra of the [maybe monad](foundation.maybe.md).
+3. It is the final coalgebra of the [maybe monad](foundation-core.maybe.md).
On this page we consider the last of these. Thus, a
`Maybe`-[coalgebra](foundation.coalgebras-maybe.md) `η : X → Maybe X` satisfies
diff --git a/src/elementary-number-theory/universal-property-integers.lagda.md b/src/elementary-number-theory/universal-property-integers.lagda.md
index 2d36403b4e..47bb00e8c2 100644
--- a/src/elementary-number-theory/universal-property-integers.lagda.md
+++ b/src/elementary-number-theory/universal-property-integers.lagda.md
@@ -14,6 +14,8 @@ open import foundation.cartesian-product-types
open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
diff --git a/src/elementary-number-theory/universal-property-natural-numbers.lagda.md b/src/elementary-number-theory/universal-property-natural-numbers.lagda.md
index 69460d3015..cfc45bdee2 100644
--- a/src/elementary-number-theory/universal-property-natural-numbers.lagda.md
+++ b/src/elementary-number-theory/universal-property-natural-numbers.lagda.md
@@ -13,6 +13,7 @@ open import foundation.action-on-identifications-functions
open import foundation.cartesian-product-types
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.function-types
open import foundation.fundamental-theorem-of-identity-types
diff --git a/src/elementary-number-theory/well-ordering-principle-natural-numbers.lagda.md b/src/elementary-number-theory/well-ordering-principle-natural-numbers.lagda.md
index a72905645f..6ff60ea7a3 100644
--- a/src/elementary-number-theory/well-ordering-principle-natural-numbers.lagda.md
+++ b/src/elementary-number-theory/well-ordering-principle-natural-numbers.lagda.md
@@ -15,6 +15,7 @@ open import foundation.cartesian-product-types
open import foundation.coproduct-types
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.functoriality-dependent-pair-types
open import foundation.hilberts-epsilon-operators
diff --git a/src/elementary-number-theory/well-ordering-principle-standard-finite-types.lagda.md b/src/elementary-number-theory/well-ordering-principle-standard-finite-types.lagda.md
index a422c722f0..f8ab98a1db 100644
--- a/src/elementary-number-theory/well-ordering-principle-standard-finite-types.lagda.md
+++ b/src/elementary-number-theory/well-ordering-principle-standard-finite-types.lagda.md
@@ -17,6 +17,7 @@ open import foundation.coproduct-types
open import foundation.decidable-subtypes
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equivalence-extensionality
open import foundation.equivalences
diff --git a/src/elementary-number-theory/zero-conatural-numbers.lagda.md b/src/elementary-number-theory/zero-conatural-numbers.lagda.md
index ea40798173..0daa319c80 100644
--- a/src/elementary-number-theory/zero-conatural-numbers.lagda.md
+++ b/src/elementary-number-theory/zero-conatural-numbers.lagda.md
@@ -14,11 +14,11 @@ open import elementary-number-theory.conatural-numbers
open import foundation.coproduct-types
open import foundation.decidable-types
open import foundation.function-types
-open import foundation.maybe
open import foundation.negation
open import foundation.universe-levels
open import foundation-core.identity-types
+open import foundation-core.maybe
open import foundation-core.propositions
```
diff --git a/src/finite-algebra/commutative-finite-rings.lagda.md b/src/finite-algebra/commutative-finite-rings.lagda.md
index 035aeea3e7..1519eeccc0 100644
--- a/src/finite-algebra/commutative-finite-rings.lagda.md
+++ b/src/finite-algebra/commutative-finite-rings.lagda.md
@@ -19,6 +19,7 @@ open import foundation.action-on-identifications-binary-functions
open import foundation.action-on-identifications-functions
open import foundation.binary-embeddings
open import foundation.binary-equivalences
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.identity-types
diff --git a/src/finite-algebra/finite-fields.lagda.md b/src/finite-algebra/finite-fields.lagda.md
index 27425b25c9..d0389c1e39 100644
--- a/src/finite-algebra/finite-fields.lagda.md
+++ b/src/finite-algebra/finite-fields.lagda.md
@@ -20,6 +20,7 @@ open import foundation.action-on-identifications-binary-functions
open import foundation.binary-embeddings
open import foundation.binary-equivalences
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.identity-types
diff --git a/src/finite-algebra/finite-rings.lagda.md b/src/finite-algebra/finite-rings.lagda.md
index e78ca56b4d..5c640f913e 100644
--- a/src/finite-algebra/finite-rings.lagda.md
+++ b/src/finite-algebra/finite-rings.lagda.md
@@ -16,6 +16,7 @@ open import finite-group-theory.finite-monoids
open import foundation.binary-embeddings
open import foundation.binary-equivalences
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.identity-types
diff --git a/src/finite-algebra/homomorphisms-commutative-finite-rings.lagda.md b/src/finite-algebra/homomorphisms-commutative-finite-rings.lagda.md
index 21ac9504c6..65ba21ad6b 100644
--- a/src/finite-algebra/homomorphisms-commutative-finite-rings.lagda.md
+++ b/src/finite-algebra/homomorphisms-commutative-finite-rings.lagda.md
@@ -12,6 +12,7 @@ open import commutative-algebra.homomorphisms-commutative-semirings
open import finite-algebra.commutative-finite-rings
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/finite-algebra/homomorphisms-finite-rings.lagda.md b/src/finite-algebra/homomorphisms-finite-rings.lagda.md
index 9cc03a1249..5d6a8219c7 100644
--- a/src/finite-algebra/homomorphisms-finite-rings.lagda.md
+++ b/src/finite-algebra/homomorphisms-finite-rings.lagda.md
@@ -9,6 +9,7 @@ module finite-algebra.homomorphisms-finite-rings where
```agda
open import finite-algebra.finite-rings
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/finite-group-theory/cartier-delooping-sign-homomorphism.lagda.md b/src/finite-group-theory/cartier-delooping-sign-homomorphism.lagda.md
index ecac11c0d1..36cf91f5e0 100644
--- a/src/finite-group-theory/cartier-delooping-sign-homomorphism.lagda.md
+++ b/src/finite-group-theory/cartier-delooping-sign-homomorphism.lagda.md
@@ -21,19 +21,20 @@ open import foundation.action-on-equivalences-type-families-over-subuniverses
open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalence-relations
open import foundation.equivalences
open import foundation.identity-types
open import foundation.mere-equivalences
open import foundation.negation
open import foundation.propositional-truncations
-open import foundation.raising-universe-levels
open import foundation.transport-along-identifications
open import foundation.type-theoretic-principle-of-choice
open import foundation.unit-type
open import foundation.universe-levels
-open import group-theory.concrete-groups
+open import foundation-core.raising-universe-levels
+
open import group-theory.homomorphisms-concrete-groups
open import group-theory.homomorphisms-groups
open import group-theory.isomorphisms-groups
diff --git a/src/finite-group-theory/delooping-sign-homomorphism.lagda.md b/src/finite-group-theory/delooping-sign-homomorphism.lagda.md
index cdb615bc50..e56ceda2d3 100644
--- a/src/finite-group-theory/delooping-sign-homomorphism.lagda.md
+++ b/src/finite-group-theory/delooping-sign-homomorphism.lagda.md
@@ -27,6 +27,9 @@ open import foundation.coproduct-types
open import foundation.decidable-propositions
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
+open import foundation.dependent-products-truncated-types
open import foundation.embeddings
open import foundation.empty-types
open import foundation.equality-dependent-pair-types
@@ -48,7 +51,6 @@ open import foundation.negated-equality
open import foundation.negation
open import foundation.propositional-truncations
open import foundation.propositions
-open import foundation.raising-universe-levels
open import foundation.reflecting-maps-equivalence-relations
open import foundation.sets
open import foundation.transport-along-identifications
@@ -60,7 +62,8 @@ open import foundation.universal-property-set-quotients
open import foundation.universe-levels
open import foundation.whiskering-identifications-concatenation
-open import group-theory.concrete-groups
+open import foundation-core.raising-universe-levels
+
open import group-theory.generating-sets-groups
open import group-theory.groups
open import group-theory.homomorphisms-concrete-groups
diff --git a/src/finite-group-theory/finite-abelian-groups.lagda.md b/src/finite-group-theory/finite-abelian-groups.lagda.md
index 51bc616d82..f944d3248b 100644
--- a/src/finite-group-theory/finite-abelian-groups.lagda.md
+++ b/src/finite-group-theory/finite-abelian-groups.lagda.md
@@ -9,6 +9,7 @@ module finite-group-theory.finite-abelian-groups where
```agda
open import finite-group-theory.finite-groups
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.identity-types
open import foundation.interchange-law
diff --git a/src/finite-group-theory/finite-groups.lagda.md b/src/finite-group-theory/finite-groups.lagda.md
index b52469f559..1ba2e32f92 100644
--- a/src/finite-group-theory/finite-groups.lagda.md
+++ b/src/finite-group-theory/finite-groups.lagda.md
@@ -17,6 +17,7 @@ open import foundation.binary-embeddings
open import foundation.binary-equivalences
open import foundation.decidable-equality
open import foundation.decidable-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/finite-group-theory/finite-monoids.lagda.md b/src/finite-group-theory/finite-monoids.lagda.md
index 36b3f1e29b..db50be0278 100644
--- a/src/finite-group-theory/finite-monoids.lagda.md
+++ b/src/finite-group-theory/finite-monoids.lagda.md
@@ -15,6 +15,7 @@ open import foundation.1-types
open import foundation.decidable-propositions
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.identity-types
open import foundation.mere-equivalences
diff --git a/src/finite-group-theory/finite-semigroups.lagda.md b/src/finite-group-theory/finite-semigroups.lagda.md
index 80e46d4e23..659ad674db 100644
--- a/src/finite-group-theory/finite-semigroups.lagda.md
+++ b/src/finite-group-theory/finite-semigroups.lagda.md
@@ -11,6 +11,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.1-types
open import foundation.decidable-propositions
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
@@ -19,7 +20,6 @@ open import foundation.mere-equivalences
open import foundation.propositions
open import foundation.set-truncations
open import foundation.sets
-open import foundation.subtypes
open import foundation.type-arithmetic-dependent-pair-types
open import foundation.universe-levels
diff --git a/src/finite-group-theory/finite-type-groups.lagda.md b/src/finite-group-theory/finite-type-groups.lagda.md
index 4a1905d8df..3469c84dda 100644
--- a/src/finite-group-theory/finite-type-groups.lagda.md
+++ b/src/finite-group-theory/finite-type-groups.lagda.md
@@ -12,20 +12,22 @@ module finite-group-theory.finite-type-groups where
open import elementary-number-theory.natural-numbers
open import foundation.0-connected-types
-open import foundation.1-types
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
+open import foundation.dependent-products-truncated-types
open import foundation.equality-dependent-pair-types
open import foundation.function-extensionality
open import foundation.function-types
open import foundation.identity-types
open import foundation.propositional-truncations
open import foundation.propositions
-open import foundation.raising-universe-levels
open import foundation.sets
open import foundation.truncated-types
open import foundation.universe-levels
+open import foundation-core.raising-universe-levels
+
open import group-theory.concrete-groups
open import group-theory.groups
open import group-theory.homomorphisms-groups
diff --git a/src/finite-group-theory/orbits-permutations.lagda.md b/src/finite-group-theory/orbits-permutations.lagda.md
index 06919a3b39..150b518f55 100644
--- a/src/finite-group-theory/orbits-permutations.lagda.md
+++ b/src/finite-group-theory/orbits-permutations.lagda.md
@@ -31,6 +31,7 @@ open import foundation.decidable-equivalence-relations
open import foundation.decidable-propositions
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.double-negation
open import foundation.empty-types
open import foundation.equality-dependent-pair-types
diff --git a/src/finite-group-theory/permutations-standard-finite-types.lagda.md b/src/finite-group-theory/permutations-standard-finite-types.lagda.md
index 0be0d3314d..28535a7fe5 100644
--- a/src/finite-group-theory/permutations-standard-finite-types.lagda.md
+++ b/src/finite-group-theory/permutations-standard-finite-types.lagda.md
@@ -19,6 +19,7 @@ open import foundation.cartesian-product-types
open import foundation.coproduct-types
open import foundation.decidable-propositions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equality-dependent-pair-types
open import foundation.equivalence-extensionality
diff --git a/src/finite-group-theory/permutations.lagda.md b/src/finite-group-theory/permutations.lagda.md
index 02097ffebf..22915dcf89 100644
--- a/src/finite-group-theory/permutations.lagda.md
+++ b/src/finite-group-theory/permutations.lagda.md
@@ -22,6 +22,9 @@ open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.decidable-propositions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
+open import foundation.dependent-products-truncated-types
open import foundation.empty-types
open import foundation.equality-dependent-pair-types
open import foundation.equivalence-extensionality
diff --git a/src/finite-group-theory/sign-homomorphism.lagda.md b/src/finite-group-theory/sign-homomorphism.lagda.md
index 877705c2d4..e888295882 100644
--- a/src/finite-group-theory/sign-homomorphism.lagda.md
+++ b/src/finite-group-theory/sign-homomorphism.lagda.md
@@ -19,6 +19,7 @@ open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.decidable-propositions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalence-extensionality
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/finite-group-theory/simpson-delooping-sign-homomorphism.lagda.md b/src/finite-group-theory/simpson-delooping-sign-homomorphism.lagda.md
index 5e6d56f993..53a2dee050 100644
--- a/src/finite-group-theory/simpson-delooping-sign-homomorphism.lagda.md
+++ b/src/finite-group-theory/simpson-delooping-sign-homomorphism.lagda.md
@@ -28,6 +28,7 @@ open import foundation.coproduct-types
open import foundation.decidable-equivalence-relations
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.empty-types
open import foundation.equivalence-classes
open import foundation.equivalence-extensionality
@@ -40,14 +41,14 @@ open import foundation.logical-equivalences
open import foundation.mere-equivalences
open import foundation.negation
open import foundation.propositional-truncations
-open import foundation.raising-universe-levels
open import foundation.sets
open import foundation.transport-along-identifications
open import foundation.type-theoretic-principle-of-choice
open import foundation.unit-type
open import foundation.universe-levels
-open import group-theory.concrete-groups
+open import foundation-core.raising-universe-levels
+
open import group-theory.groups
open import group-theory.homomorphisms-concrete-groups
open import group-theory.homomorphisms-groups
diff --git a/src/finite-group-theory/subgroups-finite-groups.lagda.md b/src/finite-group-theory/subgroups-finite-groups.lagda.md
index e693dcaa67..83c1e6247d 100644
--- a/src/finite-group-theory/subgroups-finite-groups.lagda.md
+++ b/src/finite-group-theory/subgroups-finite-groups.lagda.md
@@ -12,6 +12,7 @@ open import finite-group-theory.finite-semigroups
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalence-relations
open import foundation.equivalences
diff --git a/src/finite-group-theory/transpositions-standard-finite-types.lagda.md b/src/finite-group-theory/transpositions-standard-finite-types.lagda.md
index bd345f2692..23923436c8 100644
--- a/src/finite-group-theory/transpositions-standard-finite-types.lagda.md
+++ b/src/finite-group-theory/transpositions-standard-finite-types.lagda.md
@@ -17,6 +17,7 @@ open import finite-group-theory.transpositions
open import foundation.action-on-identifications-functions
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equivalence-extensionality
open import foundation.equivalences
diff --git a/src/finite-group-theory/transpositions.lagda.md b/src/finite-group-theory/transpositions.lagda.md
index 1900b49eed..7f7c3003ed 100644
--- a/src/finite-group-theory/transpositions.lagda.md
+++ b/src/finite-group-theory/transpositions.lagda.md
@@ -20,6 +20,7 @@ open import foundation.decidable-propositions
open import foundation.decidable-subtypes
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equality-dependent-pair-types
open import foundation.equivalence-extensionality
@@ -27,6 +28,7 @@ open import foundation.equivalences
open import foundation.equivalences-maybe
open import foundation.fibers-of-maps
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.functoriality-coproduct-types
open import foundation.homotopies
@@ -38,7 +40,6 @@ open import foundation.negated-equality
open import foundation.propositional-extensionality
open import foundation.propositional-truncations
open import foundation.propositions
-open import foundation.raising-universe-levels
open import foundation.sets
open import foundation.transport-along-identifications
open import foundation.type-arithmetic-empty-type
@@ -46,6 +47,8 @@ open import foundation.unit-type
open import foundation.univalence
open import foundation.universe-levels
+open import foundation-core.raising-universe-levels
+
open import lists.concatenation-lists
open import lists.functoriality-lists
open import lists.lists
diff --git a/src/foundation-core.lagda.md b/src/foundation-core.lagda.md
index 9b9dd2512c..4a0a82d4dd 100644
--- a/src/foundation-core.lagda.md
+++ b/src/foundation-core.lagda.md
@@ -6,6 +6,7 @@
module foundation-core where
open import foundation-core.1-types public
+open import foundation-core.booleans public
open import foundation-core.cartesian-product-types public
open import foundation-core.coherently-invertible-maps public
open import foundation-core.commuting-prisms-of-maps public
@@ -20,6 +21,7 @@ open import foundation-core.coproduct-types public
open import foundation-core.decidable-propositions public
open import foundation-core.dependent-identifications public
open import foundation-core.diagonal-maps-cartesian-products-of-types public
+open import foundation-core.diagonal-maps-of-types public
open import foundation-core.discrete-types public
open import foundation-core.embeddings public
open import foundation-core.empty-types public
@@ -36,6 +38,8 @@ open import foundation-core.homotopies public
open import foundation-core.identity-types public
open import foundation-core.injective-maps public
open import foundation-core.invertible-maps public
+open import foundation-core.logical-equivalences public
+open import foundation-core.maybe public
open import foundation-core.negation public
open import foundation-core.operations-span-diagrams public
open import foundation-core.operations-spans public
@@ -47,6 +51,7 @@ open import foundation-core.precomposition-functions public
open import foundation-core.propositional-maps public
open import foundation-core.propositions public
open import foundation-core.pullbacks public
+open import foundation-core.raising-universe-levels public
open import foundation-core.retractions public
open import foundation-core.retracts-of-types public
open import foundation-core.sections public
diff --git a/src/foundation-core/1-types.lagda.md b/src/foundation-core/1-types.lagda.md
index 79ac7bd491..e77e1f77a1 100644
--- a/src/foundation-core/1-types.lagda.md
+++ b/src/foundation-core/1-types.lagda.md
@@ -9,6 +9,8 @@ module foundation-core.1-types where
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-truncated-types
open import foundation.truncated-types
open import foundation.universe-levels
diff --git a/src/foundation-core/booleans.lagda.md b/src/foundation-core/booleans.lagda.md
new file mode 100644
index 0000000000..c952e4b34a
--- /dev/null
+++ b/src/foundation-core/booleans.lagda.md
@@ -0,0 +1,235 @@
+# The booleans
+
+```agda
+module foundation-core.booleans where
+```
+
+Imports
+
+```agda
+open import foundation.dependent-pair-types
+open import foundation.unit-type
+open import foundation.universe-levels
+
+open import foundation-core.constant-maps
+open import foundation-core.empty-types
+open import foundation-core.equivalences
+open import foundation-core.function-types
+open import foundation-core.identity-types
+open import foundation-core.negation
+open import foundation-core.propositions
+open import foundation-core.sections
+open import foundation-core.sets
+```
+
+
+
+## Idea
+
+The type of **booleans** is a
+[2-element type](univalent-combinatorics.2-element-types.md) with elements
+`true false : bool`, which is used for reasoning with
+[decidable propositions](foundation-core.decidable-propositions.md).
+
+## Definition
+
+### The booleans
+
+```agda
+data bool : UU lzero where
+ true false : bool
+
+{-# BUILTIN BOOL bool #-}
+{-# BUILTIN TRUE true #-}
+{-# BUILTIN FALSE false #-}
+```
+
+### The induction principle of the booleans
+
+```agda
+module _
+ {l : Level} (P : bool → UU l)
+ where
+
+ ind-bool : P true → P false → (b : bool) → P b
+ ind-bool pt pf true = pt
+ ind-bool pt pf false = pf
+```
+
+### The recursion principle of the booleans
+
+```agda
+module _
+ {l : Level} {P : UU l}
+ where
+
+ rec-bool : P → P → bool → P
+ rec-bool = ind-bool (λ _ → P)
+```
+
+### The `if_then_else` function
+
+```agda
+module _
+ {l : Level} {A : UU l}
+ where
+
+ if_then_else_ : bool → A → A → A
+ if b then x else y = rec-bool x y b
+```
+
+### The standard propositions associated to the constructors of bool
+
+```agda
+prop-bool : bool → Prop lzero
+prop-bool true = unit-Prop
+prop-bool false = empty-Prop
+
+type-prop-bool : bool → UU lzero
+type-prop-bool = type-Prop ∘ prop-bool
+```
+
+### Equality on the booleans
+
+```agda
+Eq-bool : bool → bool → UU lzero
+Eq-bool true true = unit
+Eq-bool true false = empty
+Eq-bool false true = empty
+Eq-bool false false = unit
+
+refl-Eq-bool : (x : bool) → Eq-bool x x
+refl-Eq-bool true = star
+refl-Eq-bool false = star
+
+Eq-eq-bool :
+ {x y : bool} → x = y → Eq-bool x y
+Eq-eq-bool {x = x} refl = refl-Eq-bool x
+
+eq-Eq-bool :
+ {x y : bool} → Eq-bool x y → x = y
+eq-Eq-bool {true} {true} star = refl
+eq-Eq-bool {false} {false} star = refl
+
+neq-false-true-bool : ¬ (false = true)
+neq-false-true-bool ()
+
+neq-true-false-bool : ¬ (true = false)
+neq-true-false-bool ()
+```
+
+## Structure
+
+### The boolean operators
+
+```agda
+neg-bool : bool → bool
+neg-bool true = false
+neg-bool false = true
+
+conjunction-bool : bool → bool → bool
+conjunction-bool true true = true
+conjunction-bool true false = false
+conjunction-bool false true = false
+conjunction-bool false false = false
+
+disjunction-bool : bool → bool → bool
+disjunction-bool true true = true
+disjunction-bool true false = true
+disjunction-bool false true = true
+disjunction-bool false false = false
+
+implication-bool : bool → bool → bool
+implication-bool true true = true
+implication-bool true false = false
+implication-bool false true = true
+implication-bool false false = true
+```
+
+## Properties
+
+### The booleans are a set
+
+```agda
+abstract
+ is-prop-Eq-bool : (x y : bool) → is-prop (Eq-bool x y)
+ is-prop-Eq-bool true true = is-prop-unit
+ is-prop-Eq-bool true false = is-prop-empty
+ is-prop-Eq-bool false true = is-prop-empty
+ is-prop-Eq-bool false false = is-prop-unit
+
+abstract
+ is-set-bool : is-set bool
+ is-set-bool =
+ is-set-prop-in-id
+ ( Eq-bool)
+ ( is-prop-Eq-bool)
+ ( refl-Eq-bool)
+ ( λ x y → eq-Eq-bool)
+
+bool-Set : Set lzero
+bool-Set = bool , is-set-bool
+```
+
+### The "is true" predicate on booleans
+
+```agda
+is-true : bool → UU lzero
+is-true = _= true
+
+is-prop-is-true : (b : bool) → is-prop (is-true b)
+is-prop-is-true b = is-set-bool b true
+
+is-true-Prop : bool → Prop lzero
+is-true-Prop b = is-true b , is-prop-is-true b
+```
+
+### The "is false" predicate on booleans
+
+```agda
+is-false : bool → UU lzero
+is-false = _= false
+
+is-prop-is-false : (b : bool) → is-prop (is-false b)
+is-prop-is-false b = is-set-bool b false
+
+is-false-Prop : bool → Prop lzero
+is-false-Prop b = is-false b , is-prop-is-false b
+```
+
+### A boolean cannot be both true and false
+
+```agda
+not-is-false-is-true : (x : bool) → is-true x → ¬ (is-false x)
+not-is-false-is-true true t ()
+not-is-false-is-true false () f
+
+not-is-true-is-false : (x : bool) → is-false x → ¬ (is-true x)
+not-is-true-is-false true () f
+not-is-true-is-false false t ()
+```
+
+### Boolean negation has no fixed points
+
+```agda
+neq-neg-bool : (b : bool) → ¬ (b = neg-bool b)
+neq-neg-bool true ()
+neq-neg-bool false ()
+
+neq-neg-bool' : (b : bool) → ¬ (neg-bool b = b)
+neq-neg-bool' b = neq-neg-bool b ∘ inv
+```
+
+### The constant function `const bool b` is not an equivalence
+
+```agda
+abstract
+ no-section-const-bool : (b : bool) → ¬ (section (const bool b))
+ no-section-const-bool true (g , G) = neq-true-false-bool (G false)
+ no-section-const-bool false (g , G) = neq-false-true-bool (G true)
+
+abstract
+ is-not-equiv-const-bool :
+ (b : bool) → ¬ (is-equiv (const bool b))
+ is-not-equiv-const-bool b e = no-section-const-bool b (section-is-equiv e)
+```
diff --git a/src/foundation-core/commuting-prisms-of-maps.lagda.md b/src/foundation-core/commuting-prisms-of-maps.lagda.md
index 68a2637fd1..40f37dea92 100644
--- a/src/foundation-core/commuting-prisms-of-maps.lagda.md
+++ b/src/foundation-core/commuting-prisms-of-maps.lagda.md
@@ -9,14 +9,14 @@ module foundation-core.commuting-prisms-of-maps where
```agda
open import foundation.action-on-identifications-functions
open import foundation.commuting-pentagons-of-identifications
-open import foundation.identity-types
open import foundation.universe-levels
open import foundation.whiskering-homotopies-composition
-open import foundation.whiskering-identifications-concatenation
open import foundation-core.commuting-squares-of-maps
open import foundation-core.commuting-triangles-of-maps
open import foundation-core.homotopies
+open import foundation-core.identity-types
+open import foundation-core.whiskering-identifications-concatenation
```
diff --git a/src/foundation-core/contractible-maps.lagda.md b/src/foundation-core/contractible-maps.lagda.md
index 2c2d1e9c41..12610e8c3d 100644
--- a/src/foundation-core/contractible-maps.lagda.md
+++ b/src/foundation-core/contractible-maps.lagda.md
@@ -16,7 +16,6 @@ open import foundation-core.contractible-types
open import foundation-core.equivalences
open import foundation-core.fibers-of-maps
open import foundation-core.function-types
-open import foundation-core.homotopies
open import foundation-core.identity-types
open import foundation-core.retractions
open import foundation-core.sections
diff --git a/src/foundation-core/contractible-types.lagda.md b/src/foundation-core/contractible-types.lagda.md
index d86bdea803..f6b56e6169 100644
--- a/src/foundation-core/contractible-types.lagda.md
+++ b/src/foundation-core/contractible-types.lagda.md
@@ -10,8 +10,6 @@ module foundation-core.contractible-types where
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.equality-cartesian-product-types
-open import foundation.function-extensionality
-open import foundation.implicit-function-types
open import foundation.universe-levels
open import foundation-core.cartesian-product-types
@@ -256,75 +254,3 @@ is-prop-is-contr :
pr1 (is-prop-is-contr H x y) = eq-is-contr H
pr2 (is-prop-is-contr H x .x) refl = left-inv (pr2 H x)
```
-
-### Products of families of contractible types are contractible
-
-```agda
-abstract
- is-contr-Π :
- {l1 l2 : Level} {A : UU l1} {B : A → UU l2} →
- ((x : A) → is-contr (B x)) → is-contr ((x : A) → B x)
- pr1 (is-contr-Π {A = A} {B = B} H) x = center (H x)
- pr2 (is-contr-Π {A = A} {B = B} H) f =
- eq-htpy (λ x → contraction (H x) (f x))
-
-abstract
- is-contr-implicit-Π :
- {l1 l2 : Level} {A : UU l1} {B : A → UU l2} →
- ((x : A) → is-contr (B x)) → is-contr ({x : A} → B x)
- is-contr-implicit-Π H =
- is-contr-equiv _ equiv-explicit-implicit-Π (is-contr-Π H)
-```
-
-### The type of functions into a contractible type is contractible
-
-```agda
-is-contr-function-type :
- {l1 l2 : Level} {A : UU l1} {B : UU l2} →
- is-contr B → is-contr (A → B)
-is-contr-function-type is-contr-B = is-contr-Π (λ _ → is-contr-B)
-```
-
-### The type of equivalences between contractible types is contractible
-
-```agda
-module _
- {l1 l2 : Level} {A : UU l1} {B : UU l2}
- where
-
- is-contr-equiv-is-contr :
- is-contr A → is-contr B → is-contr (A ≃ B)
- is-contr-equiv-is-contr (pair a α) (pair b β) =
- is-contr-Σ
- ( is-contr-function-type (pair b β))
- ( λ x → b)
- ( is-contr-product
- ( is-contr-Σ
- ( is-contr-function-type (pair a α))
- ( λ y → a)
- ( is-contr-Π (is-prop-is-contr (pair b β) b)))
- ( is-contr-Σ
- ( is-contr-function-type (pair a α))
- ( λ y → a)
- ( is-contr-Π (is-prop-is-contr (pair a α) a))))
-```
-
-### Being contractible is a proposition
-
-```agda
-module _
- {l : Level} {A : UU l}
- where
-
- abstract
- is-contr-is-contr : is-contr A → is-contr (is-contr A)
- is-contr-is-contr (pair a α) =
- is-contr-Σ
- ( pair a α)
- ( a)
- ( is-contr-Π (is-prop-is-contr (pair a α) a))
-
- abstract
- is-property-is-contr : (H K : is-contr A) → is-contr (H = K)
- is-property-is-contr H = is-prop-is-contr (is-contr-is-contr H) H
-```
diff --git a/src/foundation-core/decidable-propositions.lagda.md b/src/foundation-core/decidable-propositions.lagda.md
index eb48a26b7d..8337ddd8fa 100644
--- a/src/foundation-core/decidable-propositions.lagda.md
+++ b/src/foundation-core/decidable-propositions.lagda.md
@@ -10,6 +10,7 @@ module foundation-core.decidable-propositions where
open import foundation.coproduct-types
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.double-negation
open import foundation.negation
open import foundation.propositional-truncations
diff --git a/src/foundation-core/diagonal-maps-cartesian-products-of-types.lagda.md b/src/foundation-core/diagonal-maps-cartesian-products-of-types.lagda.md
index afab6f6e6a..7674be4787 100644
--- a/src/foundation-core/diagonal-maps-cartesian-products-of-types.lagda.md
+++ b/src/foundation-core/diagonal-maps-cartesian-products-of-types.lagda.md
@@ -15,8 +15,6 @@ open import foundation.universe-levels
open import foundation-core.cartesian-product-types
open import foundation-core.equivalences
open import foundation-core.fibers-of-maps
-open import foundation-core.function-types
-open import foundation-core.homotopies
open import foundation-core.identity-types
open import foundation-core.propositions
open import foundation-core.retractions
diff --git a/src/foundation-core/diagonal-maps-of-types.lagda.md b/src/foundation-core/diagonal-maps-of-types.lagda.md
new file mode 100644
index 0000000000..3e09e621f5
--- /dev/null
+++ b/src/foundation-core/diagonal-maps-of-types.lagda.md
@@ -0,0 +1,92 @@
+# Diagonal maps of types
+
+```agda
+module foundation-core.diagonal-maps-of-types where
+```
+
+Imports
+
+```agda
+open import foundation.action-on-identifications-functions
+open import foundation.dependent-pair-types
+open import foundation.function-extensionality-axiom
+open import foundation.universe-levels
+
+open import foundation-core.constant-maps
+open import foundation-core.function-types
+open import foundation-core.homotopies
+open import foundation-core.identity-types
+open import foundation-core.injective-maps
+```
+
+
+
+## Idea
+
+The
+{{#concept "diagonal map" Disambiguation="of a type into exponentials" Agda=diagonal-exponential}}
+of a type `A` is the map that includes the points of `A` into the exponential
+`X → A`.
+
+## Definitions
+
+```agda
+module _
+ {l1 l2 : Level} (A : UU l1) (X : UU l2)
+ where
+
+ diagonal-exponential : A → X → A
+ diagonal-exponential = const X
+```
+
+## Properties
+
+### The action on identifications of a diagonal map is another diagonal map
+
+```agda
+module _
+ {l1 l2 : Level} {A : UU l1} (x y : A) (B : UU l2)
+ where
+
+ htpy-diagonal-exponential-Id-ap-diagonal-exponential-htpy-eq :
+ htpy-eq ∘ ap (diagonal-exponential A B) ~ diagonal-exponential (x = y) B
+ htpy-diagonal-exponential-Id-ap-diagonal-exponential-htpy-eq refl = refl
+
+ htpy-ap-diagonal-exponential-htpy-eq-diagonal-exponential-Id :
+ diagonal-exponential (x = y) B ~ htpy-eq ∘ ap (diagonal-exponential A B)
+ htpy-ap-diagonal-exponential-htpy-eq-diagonal-exponential-Id =
+ inv-htpy htpy-diagonal-exponential-Id-ap-diagonal-exponential-htpy-eq
+```
+
+### Given an element of the exponent the diagonal map is injective
+
+```agda
+module _
+ {l1 l2 : Level} (A : UU l1) (B : UU l2) (b : B)
+ where
+
+ is-injective-diagonal-exponential :
+ is-injective (diagonal-exponential A B)
+ is-injective-diagonal-exponential p = htpy-eq p b
+
+ diagonal-exponential-injection : injection A (B → A)
+ pr1 diagonal-exponential-injection = diagonal-exponential A B
+ pr2 diagonal-exponential-injection = is-injective-diagonal-exponential
+```
+
+### The action on identifications of an (exponential) diagonal is a diagonal
+
+```agda
+module _
+ {l1 l2 : Level} (A : UU l1) {B : UU l2} (x y : B)
+ where
+
+ compute-htpy-eq-ap-diagonal-exponential :
+ htpy-eq ∘ ap (diagonal-exponential B A) ~ diagonal-exponential (x = y) A
+ compute-htpy-eq-ap-diagonal-exponential refl = refl
+
+ inv-compute-htpy-eq-ap-diagonal-exponential :
+ diagonal-exponential (x = y) A ~ htpy-eq ∘ ap (diagonal-exponential B A)
+ inv-compute-htpy-eq-ap-diagonal-exponential =
+ inv-htpy compute-htpy-eq-ap-diagonal-exponential
+```
diff --git a/src/foundation-core/endomorphisms.lagda.md b/src/foundation-core/endomorphisms.lagda.md
index 0f59be9040..b374c58abd 100644
--- a/src/foundation-core/endomorphisms.lagda.md
+++ b/src/foundation-core/endomorphisms.lagda.md
@@ -8,6 +8,7 @@ module foundation-core.endomorphisms where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-truncated-types
open import foundation.sets
open import foundation.universe-levels
diff --git a/src/foundation-core/equivalence-relations.lagda.md b/src/foundation-core/equivalence-relations.lagda.md
index 28396e95f5..cf970f3056 100644
--- a/src/foundation-core/equivalence-relations.lagda.md
+++ b/src/foundation-core/equivalence-relations.lagda.md
@@ -13,6 +13,7 @@ open import foundation.fundamental-theorem-of-identity-types
open import foundation.inhabited-subtypes
open import foundation.logical-equivalences
open import foundation.propositional-truncations
+open import foundation.raising-universe-levels-unit-type
open import foundation.subtype-identity-principle
open import foundation.unit-type
open import foundation.universe-levels
diff --git a/src/foundation-core/fibers-of-maps.lagda.md b/src/foundation-core/fibers-of-maps.lagda.md
index 12a441cd2d..4728163858 100644
--- a/src/foundation-core/fibers-of-maps.lagda.md
+++ b/src/foundation-core/fibers-of-maps.lagda.md
@@ -16,7 +16,6 @@ open import foundation-core.equivalences
open import foundation-core.function-types
open import foundation-core.homotopies
open import foundation-core.identity-types
-open import foundation-core.postcomposition-functions
open import foundation-core.retractions
open import foundation-core.sections
open import foundation-core.transport-along-identifications
diff --git a/src/foundation-core/functoriality-dependent-function-types.lagda.md b/src/foundation-core/functoriality-dependent-function-types.lagda.md
index 1ed18e0b4c..6c17228aec 100644
--- a/src/foundation-core/functoriality-dependent-function-types.lagda.md
+++ b/src/foundation-core/functoriality-dependent-function-types.lagda.md
@@ -8,6 +8,7 @@ module foundation-core.functoriality-dependent-function-types where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.function-extensionality
open import foundation.implicit-function-types
open import foundation.universe-levels
diff --git a/src/foundation-core/functoriality-dependent-pair-types.lagda.md b/src/foundation-core/functoriality-dependent-pair-types.lagda.md
index f3d941d326..9e6ceb2fb5 100644
--- a/src/foundation-core/functoriality-dependent-pair-types.lagda.md
+++ b/src/foundation-core/functoriality-dependent-pair-types.lagda.md
@@ -7,7 +7,6 @@ module foundation-core.functoriality-dependent-pair-types where
Imports
```agda
-open import foundation.action-on-identifications-dependent-functions
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.transport-along-identifications
diff --git a/src/foundation-core/invertible-maps.lagda.md b/src/foundation-core/invertible-maps.lagda.md
index c4af35f5a7..b958fa00ab 100644
--- a/src/foundation-core/invertible-maps.lagda.md
+++ b/src/foundation-core/invertible-maps.lagda.md
@@ -7,7 +7,6 @@ module foundation-core.invertible-maps where
Imports
```agda
-open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.universe-levels
open import foundation.whiskering-homotopies-composition
diff --git a/src/foundation-core/logical-equivalences.lagda.md b/src/foundation-core/logical-equivalences.lagda.md
new file mode 100644
index 0000000000..bbfe9f6441
--- /dev/null
+++ b/src/foundation-core/logical-equivalences.lagda.md
@@ -0,0 +1,227 @@
+# Logical equivalences
+
+```agda
+module foundation-core.logical-equivalences where
+```
+
+Imports
+
+```agda
+open import foundation.dependent-pair-types
+open import foundation.equality-cartesian-product-types
+open import foundation.type-arithmetic-dependent-pair-types
+open import foundation.universe-levels
+
+open import foundation-core.cartesian-product-types
+open import foundation-core.equivalences
+open import foundation-core.fibers-of-maps
+open import foundation-core.function-types
+open import foundation-core.functoriality-dependent-pair-types
+open import foundation-core.homotopies
+open import foundation-core.identity-types
+open import foundation-core.propositions
+open import foundation-core.torsorial-type-families
+```
+
+
+
+## Idea
+
+{{#concept "Logical equivalences" Disambiguation="of types" Agda=iff}} between
+two types `A` and `B` consist of a map `A → B` and a map `B → A`. The type of
+logical equivalences between types is the
+[Curry–Howard interpretation](https://en.wikipedia.org/wiki/Curry–Howard_correspondence)
+of logical equivalences between [propositions](foundation-core.propositions.md).
+
+## Definition
+
+### The structure on a map of being a logical equivalence
+
+```agda
+has-converse : {l1 l2 : Level} {A : UU l1} {B : UU l2} → (A → B) → UU (l1 ⊔ l2)
+has-converse {A = A} {B} f = (B → A)
+```
+
+### Logical equivalences between types
+
+```agda
+iff : {l1 l2 : Level} → UU l1 → UU l2 → UU (l1 ⊔ l2)
+iff A B = Σ (A → B) has-converse
+
+infix 6 _↔_
+
+_↔_ : {l1 l2 : Level} → UU l1 → UU l2 → UU (l1 ⊔ l2)
+_↔_ = iff
+
+module _
+ {l1 l2 : Level} {A : UU l1} {B : UU l2} (H : A ↔ B)
+ where
+
+ forward-implication : A → B
+ forward-implication = pr1 H
+
+ backward-implication : B → A
+ backward-implication = pr2 H
+```
+
+### The identity logical equivalence
+
+```agda
+id-iff : {l1 : Level} {A : UU l1} → A ↔ A
+id-iff = (id , id)
+```
+
+### Composition of logical equivalences
+
+```agda
+infixr 15 _∘iff_
+
+_∘iff_ :
+ {l1 l2 l3 : Level} {A : UU l1} {B : UU l2} {C : UU l3} →
+ (B ↔ C) → (A ↔ B) → (A ↔ C)
+pr1 ((g1 , g2) ∘iff (f1 , f2)) = g1 ∘ f1
+pr2 ((g1 , g2) ∘iff (f1 , f2)) = f2 ∘ g2
+```
+
+### Inverting a logical equivalence
+
+```agda
+inv-iff :
+ {l1 l2 : Level} {A : UU l1} {B : UU l2} → (A ↔ B) → (B ↔ A)
+pr1 (inv-iff (f , g)) = g
+pr2 (inv-iff (f , g)) = f
+```
+
+## Properties
+
+### Homotopies of logical equivalences
+
+```agda
+module _
+ {l1 l2 : Level} {A : UU l1} {B : UU l2}
+ where
+
+ htpy-iff : (f g : A ↔ B) → UU (l1 ⊔ l2)
+ htpy-iff f g =
+ ( forward-implication f ~ forward-implication g) ×
+ ( backward-implication f ~ backward-implication g)
+```
+
+### Logical equivalences between propositions induce equivalences
+
+```agda
+module _
+ {l1 l2 : Level} {A : UU l1} {B : UU l2}
+ where
+
+ abstract
+ is-equiv-has-converse-is-prop :
+ is-prop A → is-prop B → {f : A → B} → (B → A) → is-equiv f
+ is-equiv-has-converse-is-prop is-prop-A is-prop-B {f} g =
+ is-equiv-is-invertible
+ ( g)
+ ( λ y → eq-is-prop is-prop-B)
+ ( λ x → eq-is-prop is-prop-A)
+
+ abstract
+ equiv-iff-is-prop : is-prop A → is-prop B → (A → B) → (B → A) → A ≃ B
+ pr1 (equiv-iff-is-prop is-prop-A is-prop-B f g) = f
+ pr2 (equiv-iff-is-prop is-prop-A is-prop-B f g) =
+ is-equiv-has-converse-is-prop is-prop-A is-prop-B g
+
+module _
+ {l1 l2 : Level} (P : Prop l1) (Q : Prop l2)
+ where
+
+ abstract
+ is-equiv-has-converse :
+ {f : type-Prop P → type-Prop Q} → (type-Prop Q → type-Prop P) → is-equiv f
+ is-equiv-has-converse =
+ is-equiv-has-converse-is-prop
+ ( is-prop-type-Prop P)
+ ( is-prop-type-Prop Q)
+
+ equiv-iff' : (type-Prop P ↔ type-Prop Q) → (type-Prop P ≃ type-Prop Q)
+ pr1 (equiv-iff' t) = forward-implication t
+ pr2 (equiv-iff' t) =
+ is-equiv-has-converse-is-prop
+ ( is-prop-type-Prop P)
+ ( is-prop-type-Prop Q)
+ ( backward-implication t)
+
+ equiv-iff :
+ (type-Prop P → type-Prop Q) → (type-Prop Q → type-Prop P) →
+ type-Prop P ≃ type-Prop Q
+ equiv-iff f g = equiv-iff' (f , g)
+```
+
+### Equivalences are logical equivalences
+
+```agda
+iff-equiv : {l1 l2 : Level} {A : UU l1} {B : UU l2} → (A ≃ B) → (A ↔ B)
+pr1 (iff-equiv e) = map-equiv e
+pr2 (iff-equiv e) = map-inv-equiv e
+
+iff-equiv' : {l1 l2 : Level} {A : UU l1} {B : UU l2} → (A ≃ B) → (B ↔ A)
+pr1 (iff-equiv' e) = map-inv-equiv e
+pr2 (iff-equiv' e) = map-equiv e
+
+compute-fiber-iff-equiv' :
+ {l1 l2 : Level} {A : UU l1} {B : UU l2} ((f , g) : A ↔ B) →
+ fiber (iff-equiv) (f , g) ≃ Σ (is-equiv f) (λ f' → map-inv-is-equiv f' = g)
+compute-fiber-iff-equiv' {A = A} {B} (f , g) =
+ ( left-unit-law-Σ-is-contr (is-torsorial-Id' f) (f , refl)) ∘e
+ ( inv-associative-Σ (A → B) (_= f) _) ∘e
+ ( equiv-tot (λ _ → equiv-left-swap-Σ)) ∘e
+ ( associative-Σ (A → B) _ _) ∘e
+ ( equiv-tot (λ e → equiv-pair-eq (iff-equiv e) (f , g)))
+```
+
+### Two equal propositions are logically equivalent
+
+```agda
+iff-eq : {l1 : Level} {P Q : Prop l1} → P = Q → (type-Prop P ↔ type-Prop Q)
+pr1 (iff-eq refl) = id
+pr2 (iff-eq refl) = id
+```
+
+## Logical equivalences between dependent function types
+
+```agda
+module _
+ {l1 l2 l3 : Level} {I : UU l1} {A : I → UU l2} {B : I → UU l3}
+ where
+
+ iff-Π-iff-family : ((i : I) → A i ↔ B i) → ((i : I) → A i) ↔ ((i : I) → B i)
+ pr1 (iff-Π-iff-family e) a i = forward-implication (e i) (a i)
+ pr2 (iff-Π-iff-family e) b i = backward-implication (e i) (b i)
+```
+
+## Reasoning with logical equivalences
+
+Logical equivalences can be constructed by equational reasoning in the following
+way:
+
+```text
+logical-equivalence-reasoning
+ X ↔ Y by equiv-1
+ ↔ Z by equiv-2
+ ↔ V by equiv-3
+```
+
+```agda
+infixl 1 logical-equivalence-reasoning_
+infixl 0 step-logical-equivalence-reasoning
+
+logical-equivalence-reasoning_ :
+ {l1 : Level} (X : UU l1) → X ↔ X
+pr1 (logical-equivalence-reasoning X) = id
+pr2 (logical-equivalence-reasoning X) = id
+
+step-logical-equivalence-reasoning :
+ {l1 l2 l3 : Level} {X : UU l1} {Y : UU l2} →
+ (X ↔ Y) → (Z : UU l3) → (Y ↔ Z) → (X ↔ Z)
+step-logical-equivalence-reasoning e Z f = f ∘iff e
+
+syntax step-logical-equivalence-reasoning e Z f = e ↔ Z by f
+```
diff --git a/src/foundation-core/maybe.lagda.md b/src/foundation-core/maybe.lagda.md
new file mode 100644
index 0000000000..ca3502824d
--- /dev/null
+++ b/src/foundation-core/maybe.lagda.md
@@ -0,0 +1,212 @@
+# The maybe monad
+
+```agda
+module foundation-core.maybe where
+```
+
+Imports
+
+```agda
+open import foundation.dependent-pair-types
+open import foundation.unit-type
+open import foundation.universe-levels
+
+open import foundation-core.cartesian-product-types
+open import foundation-core.coproduct-types
+open import foundation-core.equivalences
+open import foundation-core.identity-types
+open import foundation-core.negation
+open import foundation-core.propositions
+open import foundation-core.retractions
+open import foundation-core.sections
+```
+
+
+
+## Idea
+
+The
+{{#concept "maybe monad" Disambiguation="on types" Agda=Maybe WD="option type" WDID=Q7099015}}
+is an operation on types that adds one point. This is used, for example, to
+define [partial functions](foundation.partial-functions.md), where a partial
+function `f : X ⇀ Y` is a map `f : X → Maybe Y`.
+
+The maybe monad is an example of a monad that is not a
+[modality](orthogonal-factorization-systems.higher-modalities.md), since it is
+not [idempotent](foundation.idempotent-maps.md).
+
+## Definitions
+
+### The maybe monad
+
+```agda
+Maybe : {l : Level} → UU l → UU l
+Maybe X = X + unit
+
+unit-Maybe : {l : Level} {X : UU l} → X → Maybe X
+unit-Maybe = inl
+
+exception-Maybe : {l : Level} {X : UU l} → Maybe X
+exception-Maybe = inr star
+
+extend-Maybe :
+ {l1 l2 : Level} {X : UU l1} {Y : UU l2} → (X → Maybe Y) → Maybe X → Maybe Y
+extend-Maybe f (inl x) = f x
+extend-Maybe f (inr *) = inr *
+
+map-Maybe :
+ {l1 l2 : Level} {X : UU l1} {Y : UU l2} → (X → Y) → Maybe X → Maybe Y
+map-Maybe f (inl x) = inl (f x)
+map-Maybe f (inr *) = inr *
+```
+
+### The inductive definition of the maybe monad
+
+```agda
+data Maybe' {l : Level} (X : UU l) : UU l where
+ unit-Maybe' : X → Maybe' X
+ exception-Maybe' : Maybe' X
+
+{-# BUILTIN MAYBE Maybe' #-}
+```
+
+### The predicate of being an exception
+
+```agda
+is-exception-Maybe : {l : Level} {X : UU l} → Maybe X → UU l
+is-exception-Maybe {l} {X} x = (x = exception-Maybe)
+
+is-not-exception-Maybe : {l : Level} {X : UU l} → Maybe X → UU l
+is-not-exception-Maybe x = ¬ (is-exception-Maybe x)
+
+abstract
+ is-prop-is-exception-Maybe :
+ {l : Level} {X : UU l} (x : Maybe X) → is-prop (is-exception-Maybe x)
+ is-prop-is-exception-Maybe (inl x) ()
+ is-prop-is-exception-Maybe (inr star) refl refl = refl , (λ where refl → refl)
+```
+
+### The predicate of being a value
+
+```agda
+is-value-Maybe : {l : Level} {X : UU l} → Maybe X → UU l
+is-value-Maybe {l} {X} x = Σ X (λ y → inl y = x)
+
+value-is-value-Maybe :
+ {l : Level} {X : UU l} (x : Maybe X) → is-value-Maybe x → X
+value-is-value-Maybe x = pr1
+
+eq-is-value-Maybe :
+ {l : Level} {X : UU l} (x : Maybe X) (H : is-value-Maybe x) →
+ inl (value-is-value-Maybe x H) = x
+eq-is-value-Maybe x H = pr2 H
+```
+
+### Maybe structure on a type
+
+```agda
+maybe-structure : {l1 : Level} (X : UU l1) → UU (lsuc l1)
+maybe-structure {l1} X = Σ (UU l1) (λ Y → Maybe Y ≃ X)
+```
+
+## Properties
+
+### The values of the unit of the `Maybe` monad are not exceptions
+
+```agda
+abstract
+ is-not-exception-unit-Maybe :
+ {l : Level} {X : UU l} (x : X) → is-not-exception-Maybe (unit-Maybe x)
+ is-not-exception-unit-Maybe x ()
+```
+
+### For any element of type `Maybe X` we can decide whether it is a value or an exception
+
+```agda
+decide-Maybe :
+ {l : Level} {X : UU l} (x : Maybe X) → is-value-Maybe x + is-exception-Maybe x
+decide-Maybe (inl x) = inl (x , refl)
+decide-Maybe (inr star) = inr refl
+```
+
+### Values are not exceptions
+
+```agda
+abstract
+ is-not-exception-is-value-Maybe :
+ {l1 : Level} {X : UU l1} (x : Maybe X) →
+ is-value-Maybe x → is-not-exception-Maybe x
+ is-not-exception-is-value-Maybe {l1} {X} .(inl x) (x , refl) =
+ is-not-exception-unit-Maybe x
+```
+
+### The two definitions of `Maybe` are equivalent
+
+```agda
+module _
+ {l1 l2 : Level} {X : UU l1}
+ where
+
+ map-Maybe-Maybe' : Maybe X → Maybe' X
+ map-Maybe-Maybe' (inl x) = unit-Maybe' x
+ map-Maybe-Maybe' (inr _) = exception-Maybe'
+
+ map-inv-Maybe-Maybe' : Maybe' X → Maybe X
+ map-inv-Maybe-Maybe' (unit-Maybe' x) = inl x
+ map-inv-Maybe-Maybe' exception-Maybe' = inr star
+
+ is-section-map-inv-Maybe-Maybe' :
+ is-section map-Maybe-Maybe' map-inv-Maybe-Maybe'
+ is-section-map-inv-Maybe-Maybe' (unit-Maybe' x) = refl
+ is-section-map-inv-Maybe-Maybe' exception-Maybe' = refl
+
+ is-retraction-map-inv-Maybe-Maybe' :
+ is-retraction map-Maybe-Maybe' map-inv-Maybe-Maybe'
+ is-retraction-map-inv-Maybe-Maybe' (inl x) = refl
+ is-retraction-map-inv-Maybe-Maybe' (inr x) = refl
+
+ is-equiv-map-Maybe-Maybe' : is-equiv map-Maybe-Maybe'
+ is-equiv-map-Maybe-Maybe' =
+ is-equiv-is-invertible
+ ( map-inv-Maybe-Maybe')
+ ( is-section-map-inv-Maybe-Maybe')
+ ( is-retraction-map-inv-Maybe-Maybe')
+
+ equiv-Maybe-Maybe' : Maybe X ≃ Maybe' X
+ equiv-Maybe-Maybe' = (map-Maybe-Maybe' , is-equiv-map-Maybe-Maybe')
+```
+
+### There is a surjection from `Maybe A + Maybe B` to `Maybe (A + B)`
+
+```agda
+module _
+ {l1 l2 : Level} {A : UU l1} {B : UU l2}
+ where
+
+ map-maybe-coproduct : Maybe A + Maybe B → Maybe (A + B)
+ map-maybe-coproduct (inl (inl x)) = inl (inl x)
+ map-maybe-coproduct (inl (inr star)) = inr star
+ map-maybe-coproduct (inr (inl x)) = inl (inr x)
+ map-maybe-coproduct (inr (inr star)) = inr star
+```
+
+### There is a surjection from `Maybe A × Maybe B` to `Maybe (A × B)`
+
+```agda
+module _
+ {l1 l2 : Level} {A : UU l1} {B : UU l2}
+ where
+
+ map-maybe-product : Maybe A × Maybe B → Maybe (A × B)
+ map-maybe-product (inl a , inl b) = inl (a , b)
+ map-maybe-product (inl a , inr star) = inr star
+ map-maybe-product (inr star , inl b) = inr star
+ map-maybe-product (inr star , inr star) = inr star
+```
+
+## External links
+
+- [maybe monad](https://ncatlab.org/nlab/show/maybe+monad) at $n$Lab
+- [Monad (category theory)#The maybe monad]()
+ at Wikipedia
+- [Option type](https://en.wikipedia.org/wiki/Option_type) at Wikipedia
diff --git a/src/foundation-core/negation.lagda.md b/src/foundation-core/negation.lagda.md
index 620f220429..720d64e266 100644
--- a/src/foundation-core/negation.lagda.md
+++ b/src/foundation-core/negation.lagda.md
@@ -10,6 +10,7 @@ module foundation-core.negation where
open import foundation.universe-levels
open import foundation-core.empty-types
+open import foundation-core.logical-equivalences
```
@@ -23,7 +24,7 @@ using propositions as types. Thus, the
{{#concept "negation" Disambiguation="of a type" WDID=Q190558 WD="logical negation" Agda=¬_}}
of a type `A` is the type `A → empty`.
-## Definition
+## Definitions
```agda
infix 25 ¬_
@@ -37,6 +38,23 @@ map-neg :
map-neg f nq p = nq (f p)
```
+### Reductio ad absurdum
+
+```agda
+reductio-ad-absurdum : {l1 l2 : Level} {P : UU l1} {Q : UU l2} → P → ¬ P → Q
+reductio-ad-absurdum p np = ex-falso (np p)
+```
+
+### Negation has no fixed points
+
+```agda
+no-fixed-points-neg :
+ {l : Level} (A : UU l) → ¬ (A ↔ ¬ A)
+no-fixed-points-neg A e =
+ ( λ (h : ¬ A) → h (backward-implication e h))
+ ( λ (a : A) → forward-implication e a a)
+```
+
## External links
- [negation](https://ncatlab.org/nlab/show/negation) at $n$Lab
diff --git a/src/foundation-core/propositions.lagda.md b/src/foundation-core/propositions.lagda.md
index 5aeafc52d4..c35bb3436e 100644
--- a/src/foundation-core/propositions.lagda.md
+++ b/src/foundation-core/propositions.lagda.md
@@ -8,7 +8,7 @@ module foundation-core.propositions where
```agda
open import foundation.dependent-pair-types
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.universe-levels
open import foundation-core.cartesian-product-types
@@ -16,7 +16,6 @@ open import foundation-core.contractible-types
open import foundation-core.equality-dependent-pair-types
open import foundation-core.equivalences
open import foundation-core.function-types
-open import foundation-core.homotopies
open import foundation-core.identity-types
open import foundation-core.transport-along-identifications
```
@@ -236,141 +235,7 @@ module _
product-Prop = (type-product-Prop , is-prop-product-Prop)
```
-### Products of families of propositions are propositions
-
-```agda
-abstract
- is-prop-Π :
- {l1 l2 : Level} {A : UU l1} {B : A → UU l2} →
- ((x : A) → is-prop (B x)) → is-prop ((x : A) → B x)
- is-prop-Π H =
- is-prop-is-proof-irrelevant
- ( λ f → is-contr-Π (λ x → is-proof-irrelevant-is-prop (H x) (f x)))
-
-module _
- {l1 l2 : Level} (A : UU l1) (P : A → Prop l2)
- where
-
- type-Π-Prop : UU (l1 ⊔ l2)
- type-Π-Prop = (x : A) → type-Prop (P x)
-
- is-prop-Π-Prop : is-prop type-Π-Prop
- is-prop-Π-Prop = is-prop-Π (λ x → is-prop-type-Prop (P x))
-
- Π-Prop : Prop (l1 ⊔ l2)
- pr1 Π-Prop = type-Π-Prop
- pr2 Π-Prop = is-prop-Π-Prop
-```
-
-We now repeat the above for implicit Π-types.
-
-```agda
-abstract
- is-prop-implicit-Π :
- {l1 l2 : Level} {A : UU l1} {B : A → UU l2} →
- ((x : A) → is-prop (B x)) → is-prop ({x : A} → B x)
- is-prop-implicit-Π H =
- is-prop-equiv
- ( ( λ f x → f {x}) ,
- ( is-equiv-is-invertible (λ g {x} → g x) (refl-htpy) (refl-htpy)))
- ( is-prop-Π H)
-
-module _
- {l1 l2 : Level} (A : UU l1) (P : A → Prop l2)
- where
-
- type-implicit-Π-Prop : UU (l1 ⊔ l2)
- type-implicit-Π-Prop = {x : A} → type-Prop (P x)
-
- is-prop-implicit-Π-Prop : is-prop type-implicit-Π-Prop
- is-prop-implicit-Π-Prop =
- is-prop-implicit-Π (λ x → is-prop-type-Prop (P x))
-
- implicit-Π-Prop : Prop (l1 ⊔ l2)
- pr1 implicit-Π-Prop = type-implicit-Π-Prop
- pr2 implicit-Π-Prop = is-prop-implicit-Π-Prop
-```
-
-### The type of functions into a proposition is a proposition
-
-```agda
-abstract
- is-prop-function-type :
- {l1 l2 : Level} {A : UU l1} {B : UU l2} →
- is-prop B → is-prop (A → B)
- is-prop-function-type H = is-prop-Π (λ _ → H)
-
-type-function-Prop :
- {l1 l2 : Level} → UU l1 → Prop l2 → UU (l1 ⊔ l2)
-type-function-Prop A P = A → type-Prop P
-
-is-prop-function-Prop :
- {l1 l2 : Level} {A : UU l1} (P : Prop l2) →
- is-prop (type-function-Prop A P)
-is-prop-function-Prop P =
- is-prop-function-type (is-prop-type-Prop P)
-
-function-Prop :
- {l1 l2 : Level} → UU l1 → Prop l2 → Prop (l1 ⊔ l2)
-pr1 (function-Prop A P) = type-function-Prop A P
-pr2 (function-Prop A P) = is-prop-function-Prop P
-
-type-hom-Prop :
- {l1 l2 : Level} (P : Prop l1) (Q : Prop l2) → UU (l1 ⊔ l2)
-type-hom-Prop P = type-function-Prop (type-Prop P)
-
-is-prop-hom-Prop :
- {l1 l2 : Level} (P : Prop l1) (Q : Prop l2) →
- is-prop (type-hom-Prop P Q)
-is-prop-hom-Prop P = is-prop-function-Prop
-
-hom-Prop :
- {l1 l2 : Level} → Prop l1 → Prop l2 → Prop (l1 ⊔ l2)
-pr1 (hom-Prop P Q) = type-hom-Prop P Q
-pr2 (hom-Prop P Q) = is-prop-hom-Prop P Q
-
-infixr 5 _⇒_
-_⇒_ = hom-Prop
-```
-
-### The type of equivalences between two propositions is a proposition
-
-```agda
-module _
- {l1 l2 : Level} {A : UU l1} {B : UU l2}
- where
-
- is-prop-equiv-is-prop : is-prop A → is-prop B → is-prop (A ≃ B)
- is-prop-equiv-is-prop H K =
- is-prop-Σ
- ( is-prop-function-type K)
- ( λ f →
- is-prop-product
- ( is-prop-Σ
- ( is-prop-function-type H)
- ( λ g → is-prop-is-contr (is-contr-Π (λ y → K (f (g y)) y))))
- ( is-prop-Σ
- ( is-prop-function-type H)
- ( λ h → is-prop-is-contr (is-contr-Π (λ x → H (h (f x)) x)))))
-
-type-equiv-Prop :
- { l1 l2 : Level} (P : Prop l1) (Q : Prop l2) → UU (l1 ⊔ l2)
-type-equiv-Prop P Q = (type-Prop P) ≃ (type-Prop Q)
-
-abstract
- is-prop-type-equiv-Prop :
- {l1 l2 : Level} (P : Prop l1) (Q : Prop l2) →
- is-prop (type-equiv-Prop P Q)
- is-prop-type-equiv-Prop P Q =
- is-prop-equiv-is-prop (is-prop-type-Prop P) (is-prop-type-Prop Q)
-
-equiv-Prop :
- { l1 l2 : Level} → Prop l1 → Prop l2 → Prop (l1 ⊔ l2)
-pr1 (equiv-Prop P Q) = type-equiv-Prop P Q
-pr2 (equiv-Prop P Q) = is-prop-type-equiv-Prop P Q
-```
-
-### A type is a proposition if and only if the type of its endomaps is contractible
+### A type is a proposition if the type of its endomaps is contractible
```agda
abstract
@@ -378,25 +243,6 @@ abstract
{l : Level} (P : UU l) → is-contr (P → P) → is-prop P
is-prop-is-contr-endomaps P H =
is-prop-all-elements-equal (λ x → htpy-eq (eq-is-contr H))
-
-abstract
- is-contr-endomaps-is-prop :
- {l : Level} (P : UU l) → is-prop P → is-contr (P → P)
- is-contr-endomaps-is-prop P is-prop-P =
- is-proof-irrelevant-is-prop (is-prop-function-type is-prop-P) id
-```
-
-### Being a proposition is a proposition
-
-```agda
-abstract
- is-prop-is-prop :
- {l : Level} (A : UU l) → is-prop (is-prop A)
- is-prop-is-prop A = is-prop-Π (λ x → is-prop-Π (λ y → is-property-is-contr))
-
-is-prop-Prop : {l : Level} (A : UU l) → Prop l
-pr1 (is-prop-Prop A) = is-prop A
-pr2 (is-prop-Prop A) = is-prop-is-prop A
```
## See also
diff --git a/src/foundation-core/raising-universe-levels.lagda.md b/src/foundation-core/raising-universe-levels.lagda.md
new file mode 100644
index 0000000000..15251fb47f
--- /dev/null
+++ b/src/foundation-core/raising-universe-levels.lagda.md
@@ -0,0 +1,128 @@
+# Raising universe levels
+
+```agda
+module foundation-core.raising-universe-levels where
+```
+
+Imports
+
+```agda
+open import foundation.action-on-identifications-functions
+open import foundation.dependent-pair-types
+open import foundation.universe-levels
+
+open import foundation-core.equivalences
+open import foundation-core.function-types
+open import foundation-core.homotopies
+open import foundation-core.identity-types
+open import foundation-core.propositions
+open import foundation-core.sets
+```
+
+
+
+## Idea
+
+In Agda, types have a designated universe levels, and universes in Agda don't
+overlap. Using `data` types we can construct for any type `A` of universe level
+`l` an equivalent type in any higher universe.
+
+## Definition
+
+```agda
+data raise (l : Level) {l1 : Level} (A : UU l1) : UU (l1 ⊔ l) where
+ map-raise : A → raise l A
+
+data raiseω {l1 : Level} (A : UU l1) : UUω where
+ map-raiseω : A → raiseω A
+```
+
+## Properties
+
+### Types are equivalent to their raised equivalents
+
+```agda
+module _
+ {l l1 : Level} {A : UU l1}
+ where
+
+ map-inv-raise : raise l A → A
+ map-inv-raise (map-raise x) = x
+
+ is-section-map-inv-raise : (map-raise ∘ map-inv-raise) ~ id
+ is-section-map-inv-raise (map-raise x) = refl
+
+ is-retraction-map-inv-raise : (map-inv-raise ∘ map-raise) ~ id
+ is-retraction-map-inv-raise x = refl
+
+ is-equiv-map-raise : is-equiv (map-raise {l} {l1} {A})
+ is-equiv-map-raise =
+ is-equiv-is-invertible
+ map-inv-raise
+ is-section-map-inv-raise
+ is-retraction-map-inv-raise
+
+compute-raise : (l : Level) {l1 : Level} (A : UU l1) → A ≃ raise l A
+pr1 (compute-raise l A) = map-raise
+pr2 (compute-raise l A) = is-equiv-map-raise
+
+inv-compute-raise : (l : Level) {l1 : Level} (A : UU l1) → raise l A ≃ A
+inv-compute-raise l A = inv-equiv (compute-raise l A)
+
+Raise : (l : Level) {l1 : Level} (A : UU l1) → Σ (UU (l1 ⊔ l)) (λ X → A ≃ X)
+pr1 (Raise l A) = raise l A
+pr2 (Raise l A) = compute-raise l A
+```
+
+### Raising universe levels of propositions
+
+```agda
+raise-Prop : (l : Level) {l1 : Level} → Prop l1 → Prop (l ⊔ l1)
+pr1 (raise-Prop l P) = raise l (type-Prop P)
+pr2 (raise-Prop l P) =
+ is-prop-equiv' (compute-raise l (type-Prop P)) (is-prop-type-Prop P)
+```
+
+### Raising universe levels of sets
+
+```agda
+raise-Set : (l : Level) {l1 : Level} → Set l1 → Set (l ⊔ l1)
+pr1 (raise-Set l A) = raise l (type-Set A)
+pr2 (raise-Set l A) =
+ is-set-equiv' (type-Set A) (compute-raise l (type-Set A)) (is-set-type-Set A)
+```
+
+### Raising equivalent types
+
+```agda
+module _
+ {l1 l2 : Level} (l3 l4 : Level) {A : UU l1} {B : UU l2} (e : A ≃ B)
+ where
+
+ map-equiv-raise : raise l3 A → raise l4 B
+ map-equiv-raise (map-raise x) = map-raise (map-equiv e x)
+
+ map-inv-equiv-raise : raise l4 B → raise l3 A
+ map-inv-equiv-raise (map-raise y) = map-raise (map-inv-equiv e y)
+
+ is-section-map-inv-equiv-raise :
+ ( map-equiv-raise ∘ map-inv-equiv-raise) ~ id
+ is-section-map-inv-equiv-raise (map-raise y) =
+ ap map-raise (is-section-map-inv-equiv e y)
+
+ is-retraction-map-inv-equiv-raise :
+ ( map-inv-equiv-raise ∘ map-equiv-raise) ~ id
+ is-retraction-map-inv-equiv-raise (map-raise x) =
+ ap map-raise (is-retraction-map-inv-equiv e x)
+
+ is-equiv-map-equiv-raise : is-equiv map-equiv-raise
+ is-equiv-map-equiv-raise =
+ is-equiv-is-invertible
+ map-inv-equiv-raise
+ is-section-map-inv-equiv-raise
+ is-retraction-map-inv-equiv-raise
+
+ equiv-raise : raise l3 A ≃ raise l4 B
+ pr1 equiv-raise = map-equiv-raise
+ pr2 equiv-raise = is-equiv-map-equiv-raise
+```
diff --git a/src/foundation-core/retracts-of-types.lagda.md b/src/foundation-core/retracts-of-types.lagda.md
index 43c71c5134..6aea379f91 100644
--- a/src/foundation-core/retracts-of-types.lagda.md
+++ b/src/foundation-core/retracts-of-types.lagda.md
@@ -9,15 +9,11 @@ module foundation-core.retracts-of-types where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
-open import foundation.function-extensionality
open import foundation.universe-levels
-open import foundation.whiskering-homotopies-composition
open import foundation-core.function-types
open import foundation-core.homotopies
open import foundation-core.identity-types
-open import foundation-core.postcomposition-functions
-open import foundation-core.precomposition-functions
open import foundation-core.retractions
open import foundation-core.sections
```
@@ -140,40 +136,6 @@ module _
pr2 retract-eq = retraction-ap (inclusion-retract R) (retraction-retract R)
```
-### If `A` is a retract of `B` then `A → S` is a retract of `B → S` via precomposition
-
-```agda
-module _
- {l1 l2 l3 : Level} {A : UU l1} {B : UU l2} (R : A retract-of B) (S : UU l3)
- where
-
- retract-precomp :
- (A → S) retract-of (B → S)
- pr1 retract-precomp =
- precomp (map-retraction-retract R) S
- pr1 (pr2 retract-precomp) =
- precomp (inclusion-retract R) S
- pr2 (pr2 retract-precomp) h =
- eq-htpy (h ·l is-retraction-map-retraction-retract R)
-```
-
-### If `A` is a retract of `B` then `S → A` is a retract of `S → B` via postcomposition
-
-```agda
-module _
- {l1 l2 l3 : Level} {A : UU l1} {B : UU l2} (S : UU l3) (R : A retract-of B)
- where
-
- retract-postcomp :
- (S → A) retract-of (S → B)
- pr1 retract-postcomp =
- postcomp S (inclusion-retract R)
- pr1 (pr2 retract-postcomp) =
- postcomp S (map-retraction-retract R)
- pr2 (pr2 retract-postcomp) h =
- eq-htpy (is-retraction-map-retraction-retract R ·r h)
-```
-
### Every type is a retract of itself
```agda
diff --git a/src/foundation-core/sets.lagda.md b/src/foundation-core/sets.lagda.md
index def449a7a1..b05ea9bb42 100644
--- a/src/foundation-core/sets.lagda.md
+++ b/src/foundation-core/sets.lagda.md
@@ -12,7 +12,6 @@ open import foundation.fundamental-theorem-of-identity-types
open import foundation.universe-levels
open import foundation-core.contractible-types
-open import foundation-core.embeddings
open import foundation-core.equivalences
open import foundation-core.identity-types
open import foundation-core.injective-maps
@@ -194,24 +193,6 @@ abstract
{l1 l2 : Level} (A : UU l1) {B : UU l2} (e : A ≃ B) →
is-set A → is-set B
is-set-equiv' = is-trunc-equiv' zero-𝕋
-
-abstract
- is-set-equiv-is-set :
- {l1 l2 : Level} {A : UU l1} {B : UU l2} →
- is-set A → is-set B → is-set (A ≃ B)
- is-set-equiv-is-set = is-trunc-equiv-is-trunc zero-𝕋
-
-module _
- {l1 l2 : Level} (A : Set l1) (B : Set l2)
- where
-
- equiv-Set : UU (l1 ⊔ l2)
- equiv-Set = type-Set A ≃ type-Set B
-
- equiv-set-Set : Set (l1 ⊔ l2)
- pr1 equiv-set-Set = equiv-Set
- pr2 equiv-set-Set =
- is-set-equiv-is-set (is-set-type-Set A) (is-set-type-Set B)
```
### If a type injects into a set, then it is a set
diff --git a/src/foundation-core/small-types.lagda.md b/src/foundation-core/small-types.lagda.md
index 96a3cd8d75..9acc144795 100644
--- a/src/foundation-core/small-types.lagda.md
+++ b/src/foundation-core/small-types.lagda.md
@@ -14,7 +14,7 @@ open import foundation.functoriality-dependent-function-types
open import foundation.logical-equivalences
open import foundation.mere-equivalences
open import foundation.propositional-truncations
-open import foundation.raising-universe-levels
+open import foundation.raising-universe-levels-unit-type
open import foundation.transport-along-identifications
open import foundation.type-arithmetic-dependent-pair-types
open import foundation.unit-type
@@ -28,6 +28,7 @@ open import foundation-core.coproduct-types
open import foundation-core.functoriality-dependent-pair-types
open import foundation-core.identity-types
open import foundation-core.propositions
+open import foundation-core.raising-universe-levels
open import foundation-core.retractions
open import foundation-core.sections
```
diff --git a/src/foundation-core/subtypes.lagda.md b/src/foundation-core/subtypes.lagda.md
index 128f682668..c6a4afc4c4 100644
--- a/src/foundation-core/subtypes.lagda.md
+++ b/src/foundation-core/subtypes.lagda.md
@@ -9,6 +9,7 @@ module foundation-core.subtypes where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.logical-equivalences
open import foundation.subtype-identity-principle
open import foundation.universe-levels
diff --git a/src/foundation-core/truncated-types.lagda.md b/src/foundation-core/truncated-types.lagda.md
index fb88b4c3df..a0c1773090 100644
--- a/src/foundation-core/truncated-types.lagda.md
+++ b/src/foundation-core/truncated-types.lagda.md
@@ -11,7 +11,6 @@ open import foundation.action-on-identifications-dependent-functions
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.equality-cartesian-product-types
-open import foundation.function-extensionality
open import foundation.universe-levels
open import foundation-core.cartesian-product-types
@@ -19,9 +18,7 @@ open import foundation-core.contractible-types
open import foundation-core.embeddings
open import foundation-core.equality-dependent-pair-types
open import foundation-core.equivalences
-open import foundation-core.homotopies
open import foundation-core.identity-types
-open import foundation-core.propositions
open import foundation-core.retracts-of-types
open import foundation-core.transport-along-identifications
open import foundation-core.truncation-levels
@@ -292,153 +289,3 @@ is-trunc-right-factor-product (succ-𝕋 k) {A} {B} H a b b' =
( H (pair a b) (pair a b')))
( refl)
```
-
-### Products of families of truncated types are truncated
-
-```agda
-abstract
- is-trunc-Π :
- {l1 l2 : Level} (k : 𝕋) {A : UU l1} {B : A → UU l2} →
- ((x : A) → is-trunc k (B x)) → is-trunc k ((x : A) → B x)
- is-trunc-Π neg-two-𝕋 is-trunc-B = is-contr-Π is-trunc-B
- is-trunc-Π (succ-𝕋 k) is-trunc-B f g =
- is-trunc-is-equiv k (f ~ g) htpy-eq
- ( funext f g)
- ( is-trunc-Π k (λ x → is-trunc-B x (f x) (g x)))
-
-type-Π-Truncated-Type' :
- (k : 𝕋) {l1 l2 : Level} (A : UU l1) (B : A → Truncated-Type l2 k) →
- UU (l1 ⊔ l2)
-type-Π-Truncated-Type' k A B = (x : A) → type-Truncated-Type (B x)
-
-is-trunc-type-Π-Truncated-Type' :
- (k : 𝕋) {l1 l2 : Level} (A : UU l1) (B : A → Truncated-Type l2 k) →
- is-trunc k (type-Π-Truncated-Type' k A B)
-is-trunc-type-Π-Truncated-Type' k A B =
- is-trunc-Π k (λ x → is-trunc-type-Truncated-Type (B x))
-
-Π-Truncated-Type' :
- (k : 𝕋) {l1 l2 : Level} (A : UU l1) (B : A → Truncated-Type l2 k) →
- Truncated-Type (l1 ⊔ l2) k
-pr1 (Π-Truncated-Type' k A B) = type-Π-Truncated-Type' k A B
-pr2 (Π-Truncated-Type' k A B) = is-trunc-type-Π-Truncated-Type' k A B
-
-type-Π-Truncated-Type :
- (k : 𝕋) {l1 l2 : Level} (A : Truncated-Type l1 k)
- (B : type-Truncated-Type A → Truncated-Type l2 k) →
- UU (l1 ⊔ l2)
-type-Π-Truncated-Type k A B =
- type-Π-Truncated-Type' k (type-Truncated-Type A) B
-
-is-trunc-type-Π-Truncated-Type :
- (k : 𝕋) {l1 l2 : Level} (A : Truncated-Type l1 k)
- (B : type-Truncated-Type A → Truncated-Type l2 k) →
- is-trunc k (type-Π-Truncated-Type k A B)
-is-trunc-type-Π-Truncated-Type k A B =
- is-trunc-type-Π-Truncated-Type' k (type-Truncated-Type A) B
-
-Π-Truncated-Type :
- (k : 𝕋) {l1 l2 : Level} (A : Truncated-Type l1 k)
- (B : type-Truncated-Type A → Truncated-Type l2 k) →
- Truncated-Type (l1 ⊔ l2) k
-Π-Truncated-Type k A B =
- Π-Truncated-Type' k (type-Truncated-Type A) B
-```
-
-### The type of functions into a truncated type is truncated
-
-```agda
-abstract
- is-trunc-function-type :
- {l1 l2 : Level} (k : 𝕋) {A : UU l1} {B : UU l2} →
- is-trunc k B → is-trunc k (A → B)
- is-trunc-function-type k {A} {B} is-trunc-B =
- is-trunc-Π k {B = λ (x : A) → B} (λ x → is-trunc-B)
-
-function-type-Truncated-Type :
- {l1 l2 : Level} {k : 𝕋} (A : UU l1) (B : Truncated-Type l2 k) →
- Truncated-Type (l1 ⊔ l2) k
-pr1 (function-type-Truncated-Type A B) = A → type-Truncated-Type B
-pr2 (function-type-Truncated-Type A B) =
- is-trunc-function-type _ (is-trunc-type-Truncated-Type B)
-
-type-hom-Truncated-Type :
- (k : 𝕋) {l1 l2 : Level} (A : Truncated-Type l1 k)
- (B : Truncated-Type l2 k) → UU (l1 ⊔ l2)
-type-hom-Truncated-Type k A B =
- type-Truncated-Type A → type-Truncated-Type B
-
-is-trunc-type-hom-Truncated-Type :
- (k : 𝕋) {l1 l2 : Level} (A : Truncated-Type l1 k)
- (B : Truncated-Type l2 k) →
- is-trunc k (type-hom-Truncated-Type k A B)
-is-trunc-type-hom-Truncated-Type k A B =
- is-trunc-function-type k (is-trunc-type-Truncated-Type B)
-
-hom-Truncated-Type :
- (k : 𝕋) {l1 l2 : Level} (A : Truncated-Type l1 k)
- (B : Truncated-Type l2 k) → Truncated-Type (l1 ⊔ l2) k
-pr1 (hom-Truncated-Type k A B) = type-hom-Truncated-Type k A B
-pr2 (hom-Truncated-Type k A B) = is-trunc-type-hom-Truncated-Type k A B
-```
-
-### Being truncated is a property
-
-```agda
-abstract
- is-prop-is-trunc :
- {l : Level} (k : 𝕋) (A : UU l) → is-prop (is-trunc k A)
- is-prop-is-trunc neg-two-𝕋 A = is-property-is-contr
- is-prop-is-trunc (succ-𝕋 k) A =
- is-trunc-Π neg-one-𝕋
- ( λ x → is-trunc-Π neg-one-𝕋 (λ y → is-prop-is-trunc k (x = y)))
-
-is-trunc-Prop : {l : Level} (k : 𝕋) (A : UU l) → Σ (UU l) (is-trunc neg-one-𝕋)
-pr1 (is-trunc-Prop k A) = is-trunc k A
-pr2 (is-trunc-Prop k A) = is-prop-is-trunc k A
-```
-
-### The type of equivalences between truncated types is truncated
-
-```agda
-module _
- {l1 l2 : Level} {A : UU l1} {B : UU l2}
- where
-
- is-trunc-equiv-is-trunc :
- (k : 𝕋) → is-trunc k A → is-trunc k B → is-trunc k (A ≃ B)
- is-trunc-equiv-is-trunc k H K =
- is-trunc-Σ
- ( is-trunc-function-type k K)
- ( λ f →
- is-trunc-Σ
- ( is-trunc-Σ
- ( is-trunc-function-type k H)
- ( λ g →
- is-trunc-Π k (λ y → is-trunc-Id K (f (g y)) y)))
- ( λ _ →
- is-trunc-Σ
- ( is-trunc-function-type k H)
- ( λ h →
- is-trunc-Π k (λ x → is-trunc-Id H (h (f x)) x))))
-
-type-equiv-Truncated-Type :
- {l1 l2 : Level} {k : 𝕋} (A : Truncated-Type l1 k) (B : Truncated-Type l2 k) →
- UU (l1 ⊔ l2)
-type-equiv-Truncated-Type A B =
- type-Truncated-Type A ≃ type-Truncated-Type B
-
-is-trunc-type-equiv-Truncated-Type :
- {l1 l2 : Level} {k : 𝕋} (A : Truncated-Type l1 k) (B : Truncated-Type l2 k) →
- is-trunc k (type-equiv-Truncated-Type A B)
-is-trunc-type-equiv-Truncated-Type A B =
- is-trunc-equiv-is-trunc _
- ( is-trunc-type-Truncated-Type A)
- ( is-trunc-type-Truncated-Type B)
-
-equiv-Truncated-Type :
- {l1 l2 : Level} {k : 𝕋} (A : Truncated-Type l1 k) (B : Truncated-Type l2 k) →
- Truncated-Type (l1 ⊔ l2) k
-pr1 (equiv-Truncated-Type A B) = type-equiv-Truncated-Type A B
-pr2 (equiv-Truncated-Type A B) = is-trunc-type-equiv-Truncated-Type A B
-```
diff --git a/src/foundation-core/universal-property-truncation.lagda.md b/src/foundation-core/universal-property-truncation.lagda.md
index 1f7366ca3a..875fd1d2ba 100644
--- a/src/foundation-core/universal-property-truncation.lagda.md
+++ b/src/foundation-core/universal-property-truncation.lagda.md
@@ -8,6 +8,7 @@ module foundation-core.universal-property-truncation where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-truncated-types
open import foundation.function-extensionality
open import foundation.universal-property-equivalences
open import foundation.universe-levels
diff --git a/src/foundation.lagda.md b/src/foundation.lagda.md
index fa5ed4f5b6..ebab239526 100644
--- a/src/foundation.lagda.md
+++ b/src/foundation.lagda.md
@@ -120,7 +120,10 @@ open import foundation.dependent-homotopies public
open import foundation.dependent-identifications public
open import foundation.dependent-inverse-sequential-diagrams public
open import foundation.dependent-pair-types public
+open import foundation.dependent-products-contractible-types public
+open import foundation.dependent-products-propositions public
open import foundation.dependent-products-pullbacks public
+open import foundation.dependent-products-truncated-types public
open import foundation.dependent-sequences public
open import foundation.dependent-sums-pullbacks public
open import foundation.dependent-telescopes public
@@ -198,6 +201,7 @@ open import foundation.finitely-coherently-invertible-maps public
open import foundation.fixed-points-endofunctions public
open import foundation.full-subtypes public
open import foundation.function-extensionality public
+open import foundation.function-extensionality-axiom public
open import foundation.function-types public
open import foundation.functional-correspondences public
open import foundation.functoriality-action-on-identifications-functions public
@@ -356,6 +360,8 @@ open import foundation.pullbacks public
open import foundation.pullbacks-subtypes public
open import foundation.quasicoherently-idempotent-maps public
open import foundation.raising-universe-levels public
+open import foundation.raising-universe-levels-booleans public
+open import foundation.raising-universe-levels-unit-type public
open import foundation.reflecting-maps-equivalence-relations public
open import foundation.reflexive-relations public
open import foundation.regensburg-extension-fundamental-theorem-of-identity-types public
diff --git a/src/foundation/0-connected-types.lagda.md b/src/foundation/0-connected-types.lagda.md
index d2bdc9203d..6ddc4d196a 100644
--- a/src/foundation/0-connected-types.lagda.md
+++ b/src/foundation/0-connected-types.lagda.md
@@ -11,6 +11,7 @@ open import foundation.action-on-identifications-functions
open import foundation.constant-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.fiber-inclusions
open import foundation.functoriality-set-truncation
open import foundation.images
diff --git a/src/foundation/1-types.lagda.md b/src/foundation/1-types.lagda.md
index cdce9dfe87..9a4b7da289 100644
--- a/src/foundation/1-types.lagda.md
+++ b/src/foundation/1-types.lagda.md
@@ -10,6 +10,7 @@ open import foundation-core.1-types public
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-truncated-types
open import foundation.subuniverses
open import foundation.truncated-types
open import foundation.universe-levels
diff --git a/src/foundation/action-on-homotopies-functions.lagda.md b/src/foundation/action-on-homotopies-functions.lagda.md
index 0bb5100c4c..e8dbeeaaba 100644
--- a/src/foundation/action-on-homotopies-functions.lagda.md
+++ b/src/foundation/action-on-homotopies-functions.lagda.md
@@ -14,9 +14,7 @@ open import foundation.function-extensionality
open import foundation.homotopy-induction
open import foundation.universe-levels
-open import foundation-core.constant-maps
open import foundation-core.contractible-types
-open import foundation-core.function-types
open import foundation-core.homotopies
open import foundation-core.identity-types
```
diff --git a/src/foundation/apartness-relations.lagda.md b/src/foundation/apartness-relations.lagda.md
index ed13a9135d..605d8b5b43 100644
--- a/src/foundation/apartness-relations.lagda.md
+++ b/src/foundation/apartness-relations.lagda.md
@@ -9,6 +9,7 @@ module foundation.apartness-relations where
```agda
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.disjunction
open import foundation.existential-quantification
open import foundation.propositional-truncations
diff --git a/src/foundation/automorphisms.lagda.md b/src/foundation/automorphisms.lagda.md
index 183752d129..bc5d12d351 100644
--- a/src/foundation/automorphisms.lagda.md
+++ b/src/foundation/automorphisms.lagda.md
@@ -8,10 +8,10 @@ module foundation.automorphisms where
```agda
open import foundation.dependent-pair-types
+open import foundation.sets
open import foundation.universe-levels
open import foundation-core.equivalences
-open import foundation-core.sets
open import structured-types.pointed-types
```
diff --git a/src/foundation/axiom-of-choice.lagda.md b/src/foundation/axiom-of-choice.lagda.md
index 26774379b7..aa6b055a68 100644
--- a/src/foundation/axiom-of-choice.lagda.md
+++ b/src/foundation/axiom-of-choice.lagda.md
@@ -8,12 +8,11 @@ module foundation.axiom-of-choice where
```agda
open import foundation.dependent-pair-types
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.functoriality-propositional-truncation
open import foundation.inhabited-types
open import foundation.postcomposition-functions
open import foundation.projective-types
-open import foundation.propositional-truncations
open import foundation.sections
open import foundation.split-surjective-maps
open import foundation.surjective-maps
diff --git a/src/foundation/binary-dependent-identifications.lagda.md b/src/foundation/binary-dependent-identifications.lagda.md
index 28877b6bcd..325d574d1e 100644
--- a/src/foundation/binary-dependent-identifications.lagda.md
+++ b/src/foundation/binary-dependent-identifications.lagda.md
@@ -8,8 +8,9 @@ module foundation.binary-dependent-identifications where
```agda
open import foundation.binary-transport
-open import foundation.identity-types
open import foundation.universe-levels
+
+open import foundation-core.identity-types
```
diff --git a/src/foundation/binary-functoriality-set-quotients.lagda.md b/src/foundation/binary-functoriality-set-quotients.lagda.md
index 43c1441aa4..767805918d 100644
--- a/src/foundation/binary-functoriality-set-quotients.lagda.md
+++ b/src/foundation/binary-functoriality-set-quotients.lagda.md
@@ -11,8 +11,10 @@ module foundation.binary-functoriality-set-quotients where
```agda
open import foundation.binary-homotopies
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.exponents-set-quotients
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.functoriality-set-quotients
open import foundation.fundamental-theorem-of-identity-types
open import foundation.homotopies
diff --git a/src/foundation/binary-reflecting-maps-equivalence-relations.lagda.md b/src/foundation/binary-reflecting-maps-equivalence-relations.lagda.md
index eb1244a707..954e06617b 100644
--- a/src/foundation/binary-reflecting-maps-equivalence-relations.lagda.md
+++ b/src/foundation/binary-reflecting-maps-equivalence-relations.lagda.md
@@ -8,6 +8,7 @@ module foundation.binary-reflecting-maps-equivalence-relations where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equality-dependent-function-types
open import foundation.fundamental-theorem-of-identity-types
open import foundation.homotopy-induction
diff --git a/src/foundation/binary-relations.lagda.md b/src/foundation/binary-relations.lagda.md
index b9ad577958..d564eebeb0 100644
--- a/src/foundation/binary-relations.lagda.md
+++ b/src/foundation/binary-relations.lagda.md
@@ -8,10 +8,12 @@ module foundation.binary-relations where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equality-dependent-function-types
open import foundation.fundamental-theorem-of-identity-types
open import foundation.iterated-dependent-product-types
open import foundation.subtypes
+open import foundation.telescopes
open import foundation.univalence
open import foundation.universe-levels
diff --git a/src/foundation/binary-type-duality.lagda.md b/src/foundation/binary-type-duality.lagda.md
index 20a23bc58d..5a4cfa15a6 100644
--- a/src/foundation/binary-type-duality.lagda.md
+++ b/src/foundation/binary-type-duality.lagda.md
@@ -10,12 +10,12 @@ module foundation.binary-type-duality where
open import foundation.dependent-pair-types
open import foundation.equivalences
open import foundation.equivalences-spans
-open import foundation.function-extensionality
open import foundation.function-types
open import foundation.multivariable-homotopies
open import foundation.retractions
open import foundation.sections
open import foundation.spans
+open import foundation.telescopes
open import foundation.univalence
open import foundation.universe-levels
diff --git a/src/foundation/booleans.lagda.md b/src/foundation/booleans.lagda.md
index 712d69cc6b..3ac9ef298c 100644
--- a/src/foundation/booleans.lagda.md
+++ b/src/foundation/booleans.lagda.md
@@ -2,18 +2,18 @@
```agda
module foundation.booleans where
+
+open import foundation-core.booleans public
```
Imports
```agda
open import foundation.decidable-equality
-open import foundation.decidable-types
open import foundation.dependent-pair-types
open import foundation.discrete-types
open import foundation.involutions
open import foundation.negated-equality
-open import foundation.raising-universe-levels
open import foundation.unit-type
open import foundation.universe-levels
@@ -24,7 +24,6 @@ open import foundation-core.equivalences
open import foundation-core.function-types
open import foundation-core.homotopies
open import foundation-core.identity-types
-open import foundation-core.injective-maps
open import foundation-core.negation
open import foundation-core.propositions
open import foundation-core.sections
@@ -43,162 +42,8 @@ The type of **booleans** is a
`true false : bool`, which is used for reasoning with
[decidable propositions](foundation-core.decidable-propositions.md).
-## Definition
-
-### The booleans
-
-```agda
-data bool : UU lzero where
- true false : bool
-
-{-# BUILTIN BOOL bool #-}
-{-# BUILTIN TRUE true #-}
-{-# BUILTIN FALSE false #-}
-```
-
-### The induction principle of the booleans
-
-```agda
-module _
- {l : Level} (P : bool → UU l)
- where
-
- ind-bool : P true → P false → (b : bool) → P b
- ind-bool pt pf true = pt
- ind-bool pt pf false = pf
-```
-
-### The recursion principle of the booleans
-
-```agda
-module _
- {l : Level} {P : UU l}
- where
-
- rec-bool : P → P → bool → P
- rec-bool = ind-bool (λ _ → P)
-```
-
-### The `if_then_else` function
-
-```agda
-module _
- {l : Level} {A : UU l}
- where
-
- if_then_else_ : bool → A → A → A
- if b then x else y = rec-bool x y b
-```
-
-### Raising universe levels of the booleans
-
-```agda
-raise-bool : (l : Level) → UU l
-raise-bool l = raise l bool
-
-raise-true : (l : Level) → raise-bool l
-raise-true l = map-raise true
-
-raise-false : (l : Level) → raise-bool l
-raise-false l = map-raise false
-
-compute-raise-bool : (l : Level) → bool ≃ raise-bool l
-compute-raise-bool l = compute-raise l bool
-```
-
-### The standard propositions associated to the constructors of bool
-
-```agda
-prop-bool : bool → Prop lzero
-prop-bool true = unit-Prop
-prop-bool false = empty-Prop
-
-type-prop-bool : bool → UU lzero
-type-prop-bool = type-Prop ∘ prop-bool
-```
-
-### Equality on the booleans
-
-```agda
-Eq-bool : bool → bool → UU lzero
-Eq-bool true true = unit
-Eq-bool true false = empty
-Eq-bool false true = empty
-Eq-bool false false = unit
-
-refl-Eq-bool : (x : bool) → Eq-bool x x
-refl-Eq-bool true = star
-refl-Eq-bool false = star
-
-Eq-eq-bool :
- {x y : bool} → x = y → Eq-bool x y
-Eq-eq-bool {x = x} refl = refl-Eq-bool x
-
-eq-Eq-bool :
- {x y : bool} → Eq-bool x y → x = y
-eq-Eq-bool {true} {true} star = refl
-eq-Eq-bool {false} {false} star = refl
-
-neq-false-true-bool : false ≠ true
-neq-false-true-bool ()
-
-neq-true-false-bool : true ≠ false
-neq-true-false-bool ()
-```
-
-## Structure
-
-### The boolean operators
-
-```agda
-neg-bool : bool → bool
-neg-bool true = false
-neg-bool false = true
-
-conjunction-bool : bool → bool → bool
-conjunction-bool true true = true
-conjunction-bool true false = false
-conjunction-bool false true = false
-conjunction-bool false false = false
-
-disjunction-bool : bool → bool → bool
-disjunction-bool true true = true
-disjunction-bool true false = true
-disjunction-bool false true = true
-disjunction-bool false false = false
-
-implication-bool : bool → bool → bool
-implication-bool true true = true
-implication-bool true false = false
-implication-bool false true = true
-implication-bool false false = true
-```
-
## Properties
-### The booleans are a set
-
-```agda
-abstract
- is-prop-Eq-bool : (x y : bool) → is-prop (Eq-bool x y)
- is-prop-Eq-bool true true = is-prop-unit
- is-prop-Eq-bool true false = is-prop-empty
- is-prop-Eq-bool false true = is-prop-empty
- is-prop-Eq-bool false false = is-prop-unit
-
-abstract
- is-set-bool : is-set bool
- is-set-bool =
- is-set-prop-in-id
- ( Eq-bool)
- ( is-prop-Eq-bool)
- ( refl-Eq-bool)
- ( λ x y → eq-Eq-bool)
-
-bool-Set : Set lzero
-bool-Set = bool , is-set-bool
-```
-
### The booleans have decidable equality
```agda
@@ -212,44 +57,6 @@ bool-Discrete-Type : Discrete-Type lzero
bool-Discrete-Type = bool , has-decidable-equality-bool
```
-### The "is true" predicate on booleans
-
-```agda
-is-true : bool → UU lzero
-is-true = _= true
-
-is-prop-is-true : (b : bool) → is-prop (is-true b)
-is-prop-is-true b = is-set-bool b true
-
-is-true-Prop : bool → Prop lzero
-is-true-Prop b = is-true b , is-prop-is-true b
-```
-
-### The "is false" predicate on booleans
-
-```agda
-is-false : bool → UU lzero
-is-false = _= false
-
-is-prop-is-false : (b : bool) → is-prop (is-false b)
-is-prop-is-false b = is-set-bool b false
-
-is-false-Prop : bool → Prop lzero
-is-false-Prop b = is-false b , is-prop-is-false b
-```
-
-### A boolean cannot be both true and false
-
-```agda
-not-is-false-is-true : (x : bool) → is-true x → ¬ (is-false x)
-not-is-false-is-true true t ()
-not-is-false-is-true false () f
-
-not-is-true-is-false : (x : bool) → is-false x → ¬ (is-true x)
-not-is-true-is-false true () f
-not-is-true-is-false false t ()
-```
-
### The type of booleans is equivalent to `Fin 2`
```agda
@@ -298,17 +105,6 @@ pr1 bool-Finite-Type = bool
pr2 bool-Finite-Type = is-finite-bool
```
-### Boolean negation has no fixed points
-
-```agda
-neq-neg-bool : (b : bool) → b ≠ neg-bool b
-neq-neg-bool true ()
-neq-neg-bool false ()
-
-neq-neg-bool' : (b : bool) → neg-bool b ≠ b
-neq-neg-bool' b = neq-neg-bool b ∘ inv
-```
-
### Boolean negation is an involution
```agda
@@ -328,17 +124,3 @@ equiv-neg-bool : bool ≃ bool
pr1 equiv-neg-bool = neg-bool
pr2 equiv-neg-bool = is-equiv-neg-bool
```
-
-### The constant function `const bool b` is not an equivalence
-
-```agda
-abstract
- no-section-const-bool : (b : bool) → ¬ (section (const bool b))
- no-section-const-bool true (g , G) = neq-true-false-bool (G false)
- no-section-const-bool false (g , G) = neq-false-true-bool (G true)
-
-abstract
- is-not-equiv-const-bool :
- (b : bool) → ¬ (is-equiv (const bool b))
- is-not-equiv-const-bool b e = no-section-const-bool b (section-is-equiv e)
-```
diff --git a/src/foundation/cantors-theorem.lagda.md b/src/foundation/cantors-theorem.lagda.md
index 499ebf65d6..f44e28067a 100644
--- a/src/foundation/cantors-theorem.lagda.md
+++ b/src/foundation/cantors-theorem.lagda.md
@@ -12,7 +12,7 @@ open import foundation.decidable-propositions
open import foundation.decidable-subtypes
open import foundation.dependent-pair-types
open import foundation.double-negation-stable-propositions
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.logical-equivalences
open import foundation.negation
open import foundation.powersets
@@ -22,7 +22,6 @@ open import foundation.universe-levels
open import foundation-core.empty-types
open import foundation-core.fibers-of-maps
-open import foundation-core.propositions
open import logic.de-morgan-propositions
open import logic.de-morgan-subtypes
diff --git a/src/foundation/cartesian-products-set-quotients.lagda.md b/src/foundation/cartesian-products-set-quotients.lagda.md
index 7c5319f8da..f016d8c0f7 100644
--- a/src/foundation/cartesian-products-set-quotients.lagda.md
+++ b/src/foundation/cartesian-products-set-quotients.lagda.md
@@ -11,6 +11,7 @@ open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.equality-cartesian-product-types
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.products-equivalence-relations
open import foundation.reflecting-maps-equivalence-relations
open import foundation.set-quotients
diff --git a/src/foundation/category-of-sets.lagda.md b/src/foundation/category-of-sets.lagda.md
index 7089fccb08..1d847f4316 100644
--- a/src/foundation/category-of-sets.lagda.md
+++ b/src/foundation/category-of-sets.lagda.md
@@ -18,21 +18,16 @@ open import category-theory.large-precategories
open import category-theory.limits-precategories
open import category-theory.natural-transformations-functors-precategories
open import category-theory.precategories
-open import category-theory.right-extensions-precategories
-open import category-theory.right-kan-extensions-precategories
-open import category-theory.terminal-category
-open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
-open import foundation.equality-dependent-pair-types
open import foundation.equivalences
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.fundamental-theorem-of-identity-types
open import foundation.identity-types
open import foundation.isomorphisms-of-sets
-open import foundation.multivariable-homotopies
-open import foundation.raising-universe-levels
+open import foundation.raising-universe-levels-unit-type
open import foundation.retractions
open import foundation.sections
open import foundation.sets
@@ -42,6 +37,7 @@ open import foundation.universe-levels
open import foundation-core.contractible-types
open import foundation-core.functoriality-dependent-pair-types
+open import foundation-core.raising-universe-levels
```
diff --git a/src/foundation/coalgebras-maybe.lagda.md b/src/foundation/coalgebras-maybe.lagda.md
index 855690a002..afca8c6ef1 100644
--- a/src/foundation/coalgebras-maybe.lagda.md
+++ b/src/foundation/coalgebras-maybe.lagda.md
@@ -8,9 +8,10 @@ module foundation.coalgebras-maybe where
```agda
open import foundation.dependent-pair-types
-open import foundation.maybe
open import foundation.universe-levels
+open import foundation-core.maybe
+
open import trees.polynomial-endofunctors
```
diff --git a/src/foundation/coherently-invertible-maps.lagda.md b/src/foundation/coherently-invertible-maps.lagda.md
index 03f1ed4655..d811bbad78 100644
--- a/src/foundation/coherently-invertible-maps.lagda.md
+++ b/src/foundation/coherently-invertible-maps.lagda.md
@@ -10,6 +10,7 @@ open import foundation-core.coherently-invertible-maps public
```agda
open import foundation.action-on-identifications-functions
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.identity-types
open import foundation.logical-equivalences
diff --git a/src/foundation/computational-identity-types.lagda.md b/src/foundation/computational-identity-types.lagda.md
index dd7b53ac80..5c40b6da91 100644
--- a/src/foundation/computational-identity-types.lagda.md
+++ b/src/foundation/computational-identity-types.lagda.md
@@ -12,6 +12,7 @@ open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.equality-cartesian-product-types
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.strictly-right-unital-concatenation-identifications
open import foundation.transport-along-identifications
open import foundation.univalence
diff --git a/src/foundation/cones-over-cospan-diagrams.lagda.md b/src/foundation/cones-over-cospan-diagrams.lagda.md
index 56fa968cec..8bc7769426 100644
--- a/src/foundation/cones-over-cospan-diagrams.lagda.md
+++ b/src/foundation/cones-over-cospan-diagrams.lagda.md
@@ -17,6 +17,7 @@ open import foundation.homotopy-induction
open import foundation.identity-types
open import foundation.multivariable-homotopies
open import foundation.structure-identity-principle
+open import foundation.telescopes
open import foundation.universe-levels
open import foundation.whiskering-homotopies-composition
diff --git a/src/foundation/conjunction.lagda.md b/src/foundation/conjunction.lagda.md
index 54c4cc00c9..0ba08d98b8 100644
--- a/src/foundation/conjunction.lagda.md
+++ b/src/foundation/conjunction.lagda.md
@@ -9,6 +9,7 @@ module foundation.conjunction where
```agda
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.logical-equivalences
open import foundation.propositional-truncations
open import foundation.universal-property-cartesian-product-types
diff --git a/src/foundation/connected-components-universes.lagda.md b/src/foundation/connected-components-universes.lagda.md
index 6e4a87e413..a4d4a7e90e 100644
--- a/src/foundation/connected-components-universes.lagda.md
+++ b/src/foundation/connected-components-universes.lagda.md
@@ -14,7 +14,6 @@ open import foundation.functoriality-propositional-truncation
open import foundation.fundamental-theorem-of-identity-types
open import foundation.mere-equivalences
open import foundation.propositional-truncations
-open import foundation.raising-universe-levels
open import foundation.subtype-identity-principle
open import foundation.subuniverses
open import foundation.univalence
@@ -23,6 +22,7 @@ open import foundation.universe-levels
open import foundation-core.contractible-types
open import foundation-core.equivalences
open import foundation-core.identity-types
+open import foundation-core.raising-universe-levels
open import foundation-core.subtypes
open import foundation-core.torsorial-type-families
```
diff --git a/src/foundation/connected-components.lagda.md b/src/foundation/connected-components.lagda.md
index 9de3f80bbc..b4518a4ce1 100644
--- a/src/foundation/connected-components.lagda.md
+++ b/src/foundation/connected-components.lagda.md
@@ -9,6 +9,7 @@ module foundation.connected-components where
```agda
open import foundation.0-connected-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.logical-equivalences
open import foundation.mere-equality
open import foundation.propositional-truncations
diff --git a/src/foundation/connected-maps.lagda.md b/src/foundation/connected-maps.lagda.md
index d893f11646..45bfc39a86 100644
--- a/src/foundation/connected-maps.lagda.md
+++ b/src/foundation/connected-maps.lagda.md
@@ -9,7 +9,9 @@ module foundation.connected-maps where
```agda
open import foundation.connected-types
open import foundation.dependent-pair-types
-open import foundation.function-extensionality
+open import foundation.dependent-products-propositions
+open import foundation.dependent-products-truncated-types
+open import foundation.function-extensionality-axiom
open import foundation.fundamental-theorem-of-identity-types
open import foundation.homotopy-induction
open import foundation.precomposition-dependent-functions
diff --git a/src/foundation/connected-types.lagda.md b/src/foundation/connected-types.lagda.md
index e7a26ab34e..c6a72c99b6 100644
--- a/src/foundation/connected-types.lagda.md
+++ b/src/foundation/connected-types.lagda.md
@@ -9,8 +9,9 @@ module foundation.connected-types where
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
-open import foundation.diagonal-maps-of-types
-open import foundation.function-extensionality
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
+open import foundation.function-extensionality-axiom
open import foundation.functoriality-truncation
open import foundation.inhabited-types
open import foundation.propositional-truncations
@@ -19,8 +20,8 @@ open import foundation.truncations
open import foundation.type-arithmetic-dependent-pair-types
open import foundation.universe-levels
-open import foundation-core.constant-maps
open import foundation-core.contractible-maps
+open import foundation-core.diagonal-maps-of-types
open import foundation-core.equivalences
open import foundation-core.functoriality-dependent-pair-types
open import foundation-core.identity-types
diff --git a/src/foundation/constant-type-families.lagda.md b/src/foundation/constant-type-families.lagda.md
index 15db228460..80e1f984df 100644
--- a/src/foundation/constant-type-families.lagda.md
+++ b/src/foundation/constant-type-families.lagda.md
@@ -11,12 +11,12 @@ open import foundation.action-on-identifications-dependent-functions
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.identity-types
-open import foundation.transport-along-identifications
open import foundation.universe-levels
open import foundation-core.commuting-squares-of-identifications
open import foundation-core.dependent-identifications
open import foundation-core.equivalences
+open import foundation-core.transport-along-identifications
```
diff --git a/src/foundation/continuations.lagda.md b/src/foundation/continuations.lagda.md
index 3c7d65926e..8792570be4 100644
--- a/src/foundation/continuations.lagda.md
+++ b/src/foundation/continuations.lagda.md
@@ -7,37 +7,23 @@ module foundation.continuations where
Imports
```agda
-open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
-open import foundation.equality-cartesian-product-types
open import foundation.evaluation-functions
-open import foundation.function-extensionality
-open import foundation.logical-equivalences
-open import foundation.type-arithmetic-cartesian-product-types
open import foundation.type-arithmetic-dependent-function-types
-open import foundation.type-arithmetic-empty-type
open import foundation.type-arithmetic-unit-type
open import foundation.unit-type
-open import foundation.universal-property-cartesian-product-types
open import foundation.universal-property-empty-type
open import foundation.universal-property-equivalences
open import foundation.universe-levels
-open import foundation-core.cartesian-product-types
open import foundation-core.equivalences
open import foundation-core.function-types
open import foundation-core.homotopies
-open import foundation-core.identity-types
open import foundation-core.propositions
-open import foundation-core.retractions
-open import foundation-core.sections
-open import foundation-core.transport-along-identifications
open import orthogonal-factorization-systems.extensions-maps
-open import orthogonal-factorization-systems.modal-operators
-open import orthogonal-factorization-systems.types-local-at-maps
-open import orthogonal-factorization-systems.uniquely-eliminating-modalities
```
diff --git a/src/foundation/contractible-types.lagda.md b/src/foundation/contractible-types.lagda.md
index bfb117148d..d335c28e74 100644
--- a/src/foundation/contractible-types.lagda.md
+++ b/src/foundation/contractible-types.lagda.md
@@ -11,15 +11,17 @@ open import foundation-core.contractible-types public
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
-open import foundation.diagonal-maps-of-types
+open import foundation.dependent-products-contractible-types
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.logical-equivalences
+open import foundation.raising-universe-levels-unit-type
open import foundation.subuniverses
open import foundation.unit-type
open import foundation.universe-levels
-open import foundation-core.constant-maps
open import foundation-core.contractible-maps
+open import foundation-core.diagonal-maps-of-types
open import foundation-core.equivalences
open import foundation-core.function-types
open import foundation-core.functoriality-dependent-pair-types
diff --git a/src/foundation/copartial-functions.lagda.md b/src/foundation/copartial-functions.lagda.md
index 6b5c611c47..f205b74049 100644
--- a/src/foundation/copartial-functions.lagda.md
+++ b/src/foundation/copartial-functions.lagda.md
@@ -8,6 +8,7 @@ module foundation.copartial-functions where
```agda
open import foundation.copartial-elements
+open import foundation.dependent-products-propositions
open import foundation.partial-functions
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/foundation/cospans.lagda.md b/src/foundation/cospans.lagda.md
index 41f0b583d6..ac8a374d21 100644
--- a/src/foundation/cospans.lagda.md
+++ b/src/foundation/cospans.lagda.md
@@ -8,10 +8,7 @@ module foundation.cospans where
```agda
open import foundation.dependent-pair-types
-open import foundation.fundamental-theorem-of-identity-types
-open import foundation.homotopy-induction
open import foundation.structure-identity-principle
-open import foundation.univalence
open import foundation.universe-levels
open import foundation-core.cartesian-product-types
diff --git a/src/foundation/decidable-dependent-function-types.lagda.md b/src/foundation/decidable-dependent-function-types.lagda.md
index c63c6ddeea..efc5cf4919 100644
--- a/src/foundation/decidable-dependent-function-types.lagda.md
+++ b/src/foundation/decidable-dependent-function-types.lagda.md
@@ -9,7 +9,6 @@ module foundation.decidable-dependent-function-types where
```agda
open import foundation.decidable-types
open import foundation.functoriality-dependent-function-types
-open import foundation.maybe
open import foundation.uniformly-decidable-type-families
open import foundation.universal-property-coproduct-types
open import foundation.universal-property-maybe
@@ -19,6 +18,7 @@ open import foundation-core.coproduct-types
open import foundation-core.empty-types
open import foundation-core.equivalences
open import foundation-core.function-types
+open import foundation-core.maybe
open import foundation-core.negation
```
diff --git a/src/foundation/decidable-dependent-pair-types.lagda.md b/src/foundation/decidable-dependent-pair-types.lagda.md
index 4af4b5e568..eb012329f7 100644
--- a/src/foundation/decidable-dependent-pair-types.lagda.md
+++ b/src/foundation/decidable-dependent-pair-types.lagda.md
@@ -9,7 +9,6 @@ module foundation.decidable-dependent-pair-types where
```agda
open import foundation.decidable-types
open import foundation.dependent-pair-types
-open import foundation.maybe
open import foundation.type-arithmetic-coproduct-types
open import foundation.type-arithmetic-unit-type
open import foundation.uniformly-decidable-type-families
@@ -19,6 +18,7 @@ open import foundation-core.coproduct-types
open import foundation-core.equivalences
open import foundation-core.function-types
open import foundation-core.functoriality-dependent-pair-types
+open import foundation-core.maybe
open import foundation-core.negation
```
diff --git a/src/foundation/decidable-embeddings.lagda.md b/src/foundation/decidable-embeddings.lagda.md
index f4780285bd..3b869167e1 100644
--- a/src/foundation/decidable-embeddings.lagda.md
+++ b/src/foundation/decidable-embeddings.lagda.md
@@ -13,6 +13,7 @@ open import foundation.decidable-maps
open import foundation.decidable-propositions
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.fibers-of-maps
open import foundation.functoriality-cartesian-product-types
diff --git a/src/foundation/decidable-equality.lagda.md b/src/foundation/decidable-equality.lagda.md
index 05a5b5b201..dbd26b93ec 100644
--- a/src/foundation/decidable-equality.lagda.md
+++ b/src/foundation/decidable-equality.lagda.md
@@ -11,6 +11,7 @@ open import foundation.action-on-identifications-functions
open import foundation.coproduct-types
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.double-negation
open import foundation.injective-maps
open import foundation.negation
diff --git a/src/foundation/decidable-equivalence-relations.lagda.md b/src/foundation/decidable-equivalence-relations.lagda.md
index 149af1b5ca..935c973f50 100644
--- a/src/foundation/decidable-equivalence-relations.lagda.md
+++ b/src/foundation/decidable-equivalence-relations.lagda.md
@@ -14,6 +14,7 @@ open import foundation.decidable-relations
open import foundation.decidable-subtypes
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.effective-maps-equivalence-relations
open import foundation.equivalence-classes
open import foundation.equivalence-relations
diff --git a/src/foundation/decidable-propositions.lagda.md b/src/foundation/decidable-propositions.lagda.md
index ef885f24e7..a942804d38 100644
--- a/src/foundation/decidable-propositions.lagda.md
+++ b/src/foundation/decidable-propositions.lagda.md
@@ -13,6 +13,7 @@ open import foundation.action-on-identifications-functions
open import foundation.booleans
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.empty-types
open import foundation.equivalences
@@ -21,7 +22,7 @@ open import foundation.negation
open import foundation.propositional-extensionality
open import foundation.propositional-truncations
open import foundation.propositions
-open import foundation.raising-universe-levels
+open import foundation.raising-universe-levels-unit-type
open import foundation.type-arithmetic-coproduct-types
open import foundation.type-arithmetic-dependent-pair-types
open import foundation.unit-type
@@ -32,6 +33,7 @@ open import foundation-core.coproduct-types
open import foundation-core.function-types
open import foundation-core.homotopies
open import foundation-core.identity-types
+open import foundation-core.raising-universe-levels
open import foundation-core.retracts-of-types
open import foundation-core.sets
open import foundation-core.small-types
diff --git a/src/foundation/decidable-subtypes.lagda.md b/src/foundation/decidable-subtypes.lagda.md
index 0bd5ecec7f..208d8f6862 100644
--- a/src/foundation/decidable-subtypes.lagda.md
+++ b/src/foundation/decidable-subtypes.lagda.md
@@ -14,6 +14,7 @@ open import foundation.decidable-maps
open import foundation.decidable-propositions
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equality-dependent-function-types
open import foundation.functoriality-cartesian-product-types
open import foundation.functoriality-dependent-function-types
diff --git a/src/foundation/decidable-types.lagda.md b/src/foundation/decidable-types.lagda.md
index 93bdd1707e..e61835a0b8 100644
--- a/src/foundation/decidable-types.lagda.md
+++ b/src/foundation/decidable-types.lagda.md
@@ -17,7 +17,6 @@ open import foundation.hilberts-epsilon-operators
open import foundation.logical-equivalences
open import foundation.negation
open import foundation.propositional-truncations
-open import foundation.raising-universe-levels
open import foundation.retracts-of-types
open import foundation.type-arithmetic-empty-type
open import foundation.unit-type
@@ -26,6 +25,7 @@ open import foundation.universe-levels
open import foundation-core.cartesian-product-types
open import foundation-core.function-types
open import foundation-core.propositions
+open import foundation-core.raising-universe-levels
open import foundation-core.retractions
open import foundation-core.sections
```
diff --git a/src/foundation/dependent-binomial-theorem.lagda.md b/src/foundation/dependent-binomial-theorem.lagda.md
index d86a4ac378..78ab7bbd20 100644
--- a/src/foundation/dependent-binomial-theorem.lagda.md
+++ b/src/foundation/dependent-binomial-theorem.lagda.md
@@ -11,10 +11,10 @@ open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.coproduct-decompositions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equality-dependent-pair-types
open import foundation.functoriality-cartesian-product-types
open import foundation.functoriality-dependent-function-types
-open import foundation.raising-universe-levels
open import foundation.transport-along-identifications
open import foundation.universal-property-coproduct-types
open import foundation.universal-property-dependent-pair-types
@@ -26,6 +26,7 @@ open import foundation-core.equivalences
open import foundation-core.function-types
open import foundation-core.functoriality-dependent-pair-types
open import foundation-core.homotopies
+open import foundation-core.raising-universe-levels
open import foundation-core.type-theoretic-principle-of-choice
open import foundation-core.univalence
diff --git a/src/foundation/dependent-inverse-sequential-diagrams.lagda.md b/src/foundation/dependent-inverse-sequential-diagrams.lagda.md
index f48ea9d065..7fa699aa8e 100644
--- a/src/foundation/dependent-inverse-sequential-diagrams.lagda.md
+++ b/src/foundation/dependent-inverse-sequential-diagrams.lagda.md
@@ -12,6 +12,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.dependent-pair-types
open import foundation.inverse-sequential-diagrams
open import foundation.iterating-families-of-maps
+open import foundation.raising-universe-levels-unit-type
open import foundation.unit-type
open import foundation.universe-levels
diff --git a/src/foundation/dependent-products-contractible-types.lagda.md b/src/foundation/dependent-products-contractible-types.lagda.md
new file mode 100644
index 0000000000..da25f720c5
--- /dev/null
+++ b/src/foundation/dependent-products-contractible-types.lagda.md
@@ -0,0 +1,99 @@
+# Dependent products of contractible types
+
+```agda
+module foundation.dependent-products-contractible-types where
+```
+
+Imports
+
+```agda
+open import foundation.dependent-pair-types
+open import foundation.function-extensionality
+open import foundation.implicit-function-types
+open import foundation.universe-levels
+
+open import foundation-core.contractible-types
+open import foundation-core.equivalences
+open import foundation-core.identity-types
+```
+
+
+
+## Idea
+
+Given a family of [contractible types](foundation-core.contractible-types.md)
+`B : A → 𝒰`, then the dependent product `Π A B` is again contractible.
+
+## Properties
+
+### Products of families of contractible types are contractible
+
+```agda
+abstract
+ is-contr-Π :
+ {l1 l2 : Level} {A : UU l1} {B : A → UU l2} →
+ ((x : A) → is-contr (B x)) → is-contr ((x : A) → B x)
+ pr1 (is-contr-Π {A = A} {B = B} H) x = center (H x)
+ pr2 (is-contr-Π {A = A} {B = B} H) f =
+ eq-htpy (λ x → contraction (H x) (f x))
+
+abstract
+ is-contr-implicit-Π :
+ {l1 l2 : Level} {A : UU l1} {B : A → UU l2} →
+ ((x : A) → is-contr (B x)) → is-contr ({x : A} → B x)
+ is-contr-implicit-Π H =
+ is-contr-equiv _ equiv-explicit-implicit-Π (is-contr-Π H)
+```
+
+### The type of functions into a contractible type is contractible
+
+```agda
+is-contr-function-type :
+ {l1 l2 : Level} {A : UU l1} {B : UU l2} →
+ is-contr B → is-contr (A → B)
+is-contr-function-type is-contr-B = is-contr-Π (λ _ → is-contr-B)
+```
+
+### The type of equivalences between contractible types is contractible
+
+```agda
+module _
+ {l1 l2 : Level} {A : UU l1} {B : UU l2}
+ where
+
+ is-contr-equiv-is-contr :
+ is-contr A → is-contr B → is-contr (A ≃ B)
+ is-contr-equiv-is-contr (pair a α) (pair b β) =
+ is-contr-Σ
+ ( is-contr-function-type (pair b β))
+ ( λ x → b)
+ ( is-contr-product
+ ( is-contr-Σ
+ ( is-contr-function-type (pair a α))
+ ( λ y → a)
+ ( is-contr-Π (is-prop-is-contr (pair b β) b)))
+ ( is-contr-Σ
+ ( is-contr-function-type (pair a α))
+ ( λ y → a)
+ ( is-contr-Π (is-prop-is-contr (pair a α) a))))
+```
+
+### Being contractible is a proposition
+
+```agda
+module _
+ {l : Level} {A : UU l}
+ where
+
+ abstract
+ is-contr-is-contr : is-contr A → is-contr (is-contr A)
+ is-contr-is-contr (pair a α) =
+ is-contr-Σ
+ ( pair a α)
+ ( a)
+ ( is-contr-Π (is-prop-is-contr (pair a α) a))
+
+ abstract
+ is-property-is-contr : (H K : is-contr A) → is-contr (H = K)
+ is-property-is-contr H = is-prop-is-contr (is-contr-is-contr H) H
+```
diff --git a/src/foundation/dependent-products-propositions.lagda.md b/src/foundation/dependent-products-propositions.lagda.md
new file mode 100644
index 0000000000..fbb367cc9a
--- /dev/null
+++ b/src/foundation/dependent-products-propositions.lagda.md
@@ -0,0 +1,243 @@
+# Dependent products of propositions
+
+```agda
+module foundation.dependent-products-propositions where
+```
+
+Imports
+
+```agda
+open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.universe-levels
+
+open import foundation-core.contractible-types
+open import foundation-core.equivalences
+open import foundation-core.function-types
+open import foundation-core.homotopies
+open import foundation-core.propositions
+```
+
+
+
+## Idea
+
+Given a family of [propositions](foundation-core.propositions.md) `B : A → 𝒰`,
+then the dependent product `Π A B` is again a proposition.
+
+## Definitions
+
+### Products of families of propositions are propositions
+
+```agda
+abstract
+ is-prop-Π :
+ {l1 l2 : Level} {A : UU l1} {B : A → UU l2} →
+ ((x : A) → is-prop (B x)) → is-prop ((x : A) → B x)
+ is-prop-Π H =
+ is-prop-is-proof-irrelevant
+ ( λ f → is-contr-Π (λ x → is-proof-irrelevant-is-prop (H x) (f x)))
+
+module _
+ {l1 l2 : Level} (A : UU l1) (P : A → Prop l2)
+ where
+
+ type-Π-Prop : UU (l1 ⊔ l2)
+ type-Π-Prop = (x : A) → type-Prop (P x)
+
+ is-prop-Π-Prop : is-prop type-Π-Prop
+ is-prop-Π-Prop = is-prop-Π (λ x → is-prop-type-Prop (P x))
+
+ Π-Prop : Prop (l1 ⊔ l2)
+ pr1 Π-Prop = type-Π-Prop
+ pr2 Π-Prop = is-prop-Π-Prop
+```
+
+We now repeat the above for implicit Π-types.
+
+```agda
+abstract
+ is-prop-implicit-Π :
+ {l1 l2 : Level} {A : UU l1} {B : A → UU l2} →
+ ((x : A) → is-prop (B x)) → is-prop ({x : A} → B x)
+ is-prop-implicit-Π H =
+ is-prop-equiv
+ ( ( λ f x → f {x}) ,
+ ( is-equiv-is-invertible (λ g {x} → g x) (refl-htpy) (refl-htpy)))
+ ( is-prop-Π H)
+
+module _
+ {l1 l2 : Level} (A : UU l1) (P : A → Prop l2)
+ where
+
+ type-implicit-Π-Prop : UU (l1 ⊔ l2)
+ type-implicit-Π-Prop = {x : A} → type-Prop (P x)
+
+ is-prop-implicit-Π-Prop : is-prop type-implicit-Π-Prop
+ is-prop-implicit-Π-Prop =
+ is-prop-implicit-Π (λ x → is-prop-type-Prop (P x))
+
+ implicit-Π-Prop : Prop (l1 ⊔ l2)
+ pr1 implicit-Π-Prop = type-implicit-Π-Prop
+ pr2 implicit-Π-Prop = is-prop-implicit-Π-Prop
+```
+
+### The type of functions into a proposition is a proposition
+
+```agda
+abstract
+ is-prop-function-type :
+ {l1 l2 : Level} {A : UU l1} {B : UU l2} →
+ is-prop B → is-prop (A → B)
+ is-prop-function-type H = is-prop-Π (λ _ → H)
+
+type-function-Prop :
+ {l1 l2 : Level} → UU l1 → Prop l2 → UU (l1 ⊔ l2)
+type-function-Prop A P = A → type-Prop P
+
+is-prop-function-Prop :
+ {l1 l2 : Level} {A : UU l1} (P : Prop l2) →
+ is-prop (type-function-Prop A P)
+is-prop-function-Prop P =
+ is-prop-function-type (is-prop-type-Prop P)
+
+function-Prop :
+ {l1 l2 : Level} → UU l1 → Prop l2 → Prop (l1 ⊔ l2)
+pr1 (function-Prop A P) = type-function-Prop A P
+pr2 (function-Prop A P) = is-prop-function-Prop P
+
+type-hom-Prop :
+ {l1 l2 : Level} (P : Prop l1) (Q : Prop l2) → UU (l1 ⊔ l2)
+type-hom-Prop P = type-function-Prop (type-Prop P)
+
+is-prop-hom-Prop :
+ {l1 l2 : Level} (P : Prop l1) (Q : Prop l2) →
+ is-prop (type-hom-Prop P Q)
+is-prop-hom-Prop P = is-prop-function-Prop
+
+hom-Prop :
+ {l1 l2 : Level} → Prop l1 → Prop l2 → Prop (l1 ⊔ l2)
+pr1 (hom-Prop P Q) = type-hom-Prop P Q
+pr2 (hom-Prop P Q) = is-prop-hom-Prop P Q
+
+infixr 5 _⇒_
+_⇒_ = hom-Prop
+```
+
+### The type of equivalences between two propositions is a proposition
+
+```agda
+module _
+ {l1 l2 : Level} {A : UU l1} {B : UU l2}
+ where
+
+ is-prop-equiv-is-prop : is-prop A → is-prop B → is-prop (A ≃ B)
+ is-prop-equiv-is-prop H K =
+ is-prop-Σ
+ ( is-prop-function-type K)
+ ( λ f →
+ is-prop-product
+ ( is-prop-Σ
+ ( is-prop-function-type H)
+ ( λ g → is-prop-is-contr (is-contr-Π (λ y → K (f (g y)) y))))
+ ( is-prop-Σ
+ ( is-prop-function-type H)
+ ( λ h → is-prop-is-contr (is-contr-Π (λ x → H (h (f x)) x)))))
+
+type-equiv-Prop :
+ { l1 l2 : Level} (P : Prop l1) (Q : Prop l2) → UU (l1 ⊔ l2)
+type-equiv-Prop P Q = (type-Prop P) ≃ (type-Prop Q)
+
+abstract
+ is-prop-type-equiv-Prop :
+ {l1 l2 : Level} (P : Prop l1) (Q : Prop l2) →
+ is-prop (type-equiv-Prop P Q)
+ is-prop-type-equiv-Prop P Q =
+ is-prop-equiv-is-prop (is-prop-type-Prop P) (is-prop-type-Prop Q)
+
+equiv-Prop :
+ { l1 l2 : Level} → Prop l1 → Prop l2 → Prop (l1 ⊔ l2)
+pr1 (equiv-Prop P Q) = type-equiv-Prop P Q
+pr2 (equiv-Prop P Q) = is-prop-type-equiv-Prop P Q
+```
+
+### A type is a proposition if and only if the type of its endomaps is contractible
+
+```agda
+abstract
+ is-contr-endomaps-is-prop :
+ {l : Level} (P : UU l) → is-prop P → is-contr (P → P)
+ is-contr-endomaps-is-prop P is-prop-P =
+ is-proof-irrelevant-is-prop (is-prop-function-type is-prop-P) id
+```
+
+### Being a proposition is a proposition
+
+```agda
+abstract
+ is-prop-is-prop :
+ {l : Level} (A : UU l) → is-prop (is-prop A)
+ is-prop-is-prop A = is-prop-Π (λ x → is-prop-Π (λ y → is-property-is-contr))
+
+is-prop-Prop : {l : Level} (A : UU l) → Prop l
+pr1 (is-prop-Prop A) = is-prop A
+pr2 (is-prop-Prop A) = is-prop-is-prop A
+```
+
+## See also
+
+### Operations on propositions
+
+There is a wide range of operations on propositions due to the rich structure of
+intuitionistic logic. Below we give a structured overview of a notable selection
+of such operations and their notation in the library.
+
+The list is split into two sections, the first consists of operations that
+generalize to arbitrary types and even sufficiently nice
+[subuniverses](foundation.subuniverses.md), such as
+$n$-[types](foundation-core.truncated-types.md).
+
+| Name | Operator on types | Operator on propositions/subtypes |
+| ----------------------------------------------------------- | ----------------- | --------------------------------- |
+| [Dependent sum](foundation.dependent-pair-types.md) | `Σ` | `Σ-Prop` |
+| [Dependent product](foundation.dependent-function-types.md) | `Π` | `Π-Prop` |
+| [Functions](foundation-core.function-types.md) | `→` | `⇒` |
+| [Logical equivalence](foundation.logical-equivalences.md) | `↔` | `⇔` |
+| [Product](foundation-core.cartesian-product-types.md) | `×` | `product-Prop` |
+| [Join](synthetic-homotopy-theory.joins-of-types.md) | `*` | `join-Prop` |
+| [Exclusive sum](foundation.exclusive-sum.md) | `exclusive-sum` | `exclusive-sum-Prop` |
+| [Coproduct](foundation-core.coproduct-types.md) | `+` | _N/A_ |
+
+Note that for many operations in the second section, there is an equivalent
+operation on propositions in the first.
+
+| Name | Operator on types | Operator on propositions/subtypes |
+| ---------------------------------------------------------------------------- | --------------------------- | ---------------------------------------- |
+| [Initial object](foundation-core.empty-types.md) | `empty` | `empty-Prop` |
+| [Terminal object](foundation.unit-type.md) | `unit` | `unit-Prop` |
+| [Existential quantification](foundation.existential-quantification.md) | `exists-structure` | `∃` |
+| [Unique existential quantification](foundation.uniqueness-quantification.md) | `uniquely-exists-structure` | `∃!` |
+| [Universal quantification](foundation.universal-quantification.md) | | `∀'` (equivalent to `Π-Prop`) |
+| [Conjunction](foundation.conjunction.md) | | `∧` (equivalent to `product-Prop`) |
+| [Disjunction](foundation.disjunction.md) | `disjunction-type` | `∨` (equivalent to `join-Prop`) |
+| [Exclusive disjunction](foundation.exclusive-disjunction.md) | `xor-type` | `⊻` (equivalent to `exclusive-sum-Prop`) |
+| [Negation](foundation.negation.md) | `¬` | `¬'` |
+| [Double negation](foundation.double-negation.md) | `¬¬` | `¬¬'` |
+
+We can also organize these operations by indexed and binary variants, giving us
+the following table:
+
+| Name | Binary | Indexed |
+| ---------------------- | ------ | ------- |
+| Product | `×` | `Π` |
+| Conjunction | `∧` | `∀'` |
+| Constructive existence | `+` | `Σ` |
+| Existence | `∨` | `∃` |
+| Unique existence | `⊻` | `∃!` |
+
+### Table of files about propositional logic
+
+The following table gives an overview of basic constructions in propositional
+logic and related considerations.
+
+{{#include tables/propositional-logic.md}}
diff --git a/src/foundation/dependent-products-pullbacks.lagda.md b/src/foundation/dependent-products-pullbacks.lagda.md
index 7c429ce124..63b84f2dce 100644
--- a/src/foundation/dependent-products-pullbacks.lagda.md
+++ b/src/foundation/dependent-products-pullbacks.lagda.md
@@ -10,6 +10,7 @@ module foundation.dependent-products-pullbacks where
open import foundation.cones-over-cospan-diagrams
open import foundation.dependent-pair-types
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.functoriality-dependent-function-types
open import foundation.identity-types
open import foundation.standard-pullbacks
diff --git a/src/foundation/dependent-products-truncated-types.lagda.md b/src/foundation/dependent-products-truncated-types.lagda.md
new file mode 100644
index 0000000000..1dde1aed0e
--- /dev/null
+++ b/src/foundation/dependent-products-truncated-types.lagda.md
@@ -0,0 +1,190 @@
+# Dependent products truncated types
+
+```agda
+module foundation.dependent-products-truncated-types where
+```
+
+Imports
+
+```agda
+open import foundation.action-on-identifications-dependent-functions
+open import foundation.action-on-identifications-functions
+open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.equality-cartesian-product-types
+open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
+open import foundation.universe-levels
+
+open import foundation-core.cartesian-product-types
+open import foundation-core.contractible-types
+open import foundation-core.embeddings
+open import foundation-core.equality-dependent-pair-types
+open import foundation-core.equivalences
+open import foundation-core.homotopies
+open import foundation-core.identity-types
+open import foundation-core.propositions
+open import foundation-core.retracts-of-types
+open import foundation-core.transport-along-identifications
+open import foundation-core.truncated-types
+open import foundation-core.truncation-levels
+```
+
+
+
+## Idea
+
+Given a family of $n$-[truncated](foundation-core.truncated-types.md)
+`B : A → 𝒰`, then the dependent product `Π A B` is again $n$-truncated.
+
+## Properties
+
+### Products of families of truncated types are truncated
+
+```agda
+abstract
+ is-trunc-Π :
+ {l1 l2 : Level} (k : 𝕋) {A : UU l1} {B : A → UU l2} →
+ ((x : A) → is-trunc k (B x)) → is-trunc k ((x : A) → B x)
+ is-trunc-Π neg-two-𝕋 is-trunc-B = is-contr-Π is-trunc-B
+ is-trunc-Π (succ-𝕋 k) is-trunc-B f g =
+ is-trunc-is-equiv k (f ~ g) htpy-eq
+ ( funext f g)
+ ( is-trunc-Π k (λ x → is-trunc-B x (f x) (g x)))
+
+type-Π-Truncated-Type' :
+ (k : 𝕋) {l1 l2 : Level} (A : UU l1) (B : A → Truncated-Type l2 k) →
+ UU (l1 ⊔ l2)
+type-Π-Truncated-Type' k A B = (x : A) → type-Truncated-Type (B x)
+
+is-trunc-type-Π-Truncated-Type' :
+ (k : 𝕋) {l1 l2 : Level} (A : UU l1) (B : A → Truncated-Type l2 k) →
+ is-trunc k (type-Π-Truncated-Type' k A B)
+is-trunc-type-Π-Truncated-Type' k A B =
+ is-trunc-Π k (λ x → is-trunc-type-Truncated-Type (B x))
+
+Π-Truncated-Type' :
+ (k : 𝕋) {l1 l2 : Level} (A : UU l1) (B : A → Truncated-Type l2 k) →
+ Truncated-Type (l1 ⊔ l2) k
+pr1 (Π-Truncated-Type' k A B) = type-Π-Truncated-Type' k A B
+pr2 (Π-Truncated-Type' k A B) = is-trunc-type-Π-Truncated-Type' k A B
+
+type-Π-Truncated-Type :
+ (k : 𝕋) {l1 l2 : Level} (A : Truncated-Type l1 k)
+ (B : type-Truncated-Type A → Truncated-Type l2 k) →
+ UU (l1 ⊔ l2)
+type-Π-Truncated-Type k A B =
+ type-Π-Truncated-Type' k (type-Truncated-Type A) B
+
+is-trunc-type-Π-Truncated-Type :
+ (k : 𝕋) {l1 l2 : Level} (A : Truncated-Type l1 k)
+ (B : type-Truncated-Type A → Truncated-Type l2 k) →
+ is-trunc k (type-Π-Truncated-Type k A B)
+is-trunc-type-Π-Truncated-Type k A B =
+ is-trunc-type-Π-Truncated-Type' k (type-Truncated-Type A) B
+
+Π-Truncated-Type :
+ (k : 𝕋) {l1 l2 : Level} (A : Truncated-Type l1 k)
+ (B : type-Truncated-Type A → Truncated-Type l2 k) →
+ Truncated-Type (l1 ⊔ l2) k
+Π-Truncated-Type k A B =
+ Π-Truncated-Type' k (type-Truncated-Type A) B
+```
+
+### The type of functions into a truncated type is truncated
+
+```agda
+abstract
+ is-trunc-function-type :
+ {l1 l2 : Level} (k : 𝕋) {A : UU l1} {B : UU l2} →
+ is-trunc k B → is-trunc k (A → B)
+ is-trunc-function-type k {A} {B} is-trunc-B =
+ is-trunc-Π k {B = λ (x : A) → B} (λ x → is-trunc-B)
+
+function-type-Truncated-Type :
+ {l1 l2 : Level} {k : 𝕋} (A : UU l1) (B : Truncated-Type l2 k) →
+ Truncated-Type (l1 ⊔ l2) k
+pr1 (function-type-Truncated-Type A B) = A → type-Truncated-Type B
+pr2 (function-type-Truncated-Type A B) =
+ is-trunc-function-type _ (is-trunc-type-Truncated-Type B)
+
+type-hom-Truncated-Type :
+ (k : 𝕋) {l1 l2 : Level} (A : Truncated-Type l1 k)
+ (B : Truncated-Type l2 k) → UU (l1 ⊔ l2)
+type-hom-Truncated-Type k A B =
+ type-Truncated-Type A → type-Truncated-Type B
+
+is-trunc-type-hom-Truncated-Type :
+ (k : 𝕋) {l1 l2 : Level} (A : Truncated-Type l1 k)
+ (B : Truncated-Type l2 k) →
+ is-trunc k (type-hom-Truncated-Type k A B)
+is-trunc-type-hom-Truncated-Type k A B =
+ is-trunc-function-type k (is-trunc-type-Truncated-Type B)
+
+hom-Truncated-Type :
+ (k : 𝕋) {l1 l2 : Level} (A : Truncated-Type l1 k)
+ (B : Truncated-Type l2 k) → Truncated-Type (l1 ⊔ l2) k
+pr1 (hom-Truncated-Type k A B) = type-hom-Truncated-Type k A B
+pr2 (hom-Truncated-Type k A B) = is-trunc-type-hom-Truncated-Type k A B
+```
+
+### Being truncated is a property
+
+```agda
+abstract
+ is-prop-is-trunc :
+ {l : Level} (k : 𝕋) (A : UU l) → is-prop (is-trunc k A)
+ is-prop-is-trunc neg-two-𝕋 A = is-property-is-contr
+ is-prop-is-trunc (succ-𝕋 k) A =
+ is-trunc-Π neg-one-𝕋
+ ( λ x → is-trunc-Π neg-one-𝕋 (λ y → is-prop-is-trunc k (x = y)))
+
+is-trunc-Prop : {l : Level} (k : 𝕋) (A : UU l) → Σ (UU l) (is-trunc neg-one-𝕋)
+pr1 (is-trunc-Prop k A) = is-trunc k A
+pr2 (is-trunc-Prop k A) = is-prop-is-trunc k A
+```
+
+### The type of equivalences between truncated types is truncated
+
+```agda
+module _
+ {l1 l2 : Level} {A : UU l1} {B : UU l2}
+ where
+
+ is-trunc-equiv-is-trunc :
+ (k : 𝕋) → is-trunc k A → is-trunc k B → is-trunc k (A ≃ B)
+ is-trunc-equiv-is-trunc k H K =
+ is-trunc-Σ
+ ( is-trunc-function-type k K)
+ ( λ f →
+ is-trunc-Σ
+ ( is-trunc-Σ
+ ( is-trunc-function-type k H)
+ ( λ g →
+ is-trunc-Π k (λ y → is-trunc-Id K (f (g y)) y)))
+ ( λ _ →
+ is-trunc-Σ
+ ( is-trunc-function-type k H)
+ ( λ h →
+ is-trunc-Π k (λ x → is-trunc-Id H (h (f x)) x))))
+
+type-equiv-Truncated-Type :
+ {l1 l2 : Level} {k : 𝕋} (A : Truncated-Type l1 k) (B : Truncated-Type l2 k) →
+ UU (l1 ⊔ l2)
+type-equiv-Truncated-Type A B =
+ type-Truncated-Type A ≃ type-Truncated-Type B
+
+is-trunc-type-equiv-Truncated-Type :
+ {l1 l2 : Level} {k : 𝕋} (A : Truncated-Type l1 k) (B : Truncated-Type l2 k) →
+ is-trunc k (type-equiv-Truncated-Type A B)
+is-trunc-type-equiv-Truncated-Type A B =
+ is-trunc-equiv-is-trunc _
+ ( is-trunc-type-Truncated-Type A)
+ ( is-trunc-type-Truncated-Type B)
+
+equiv-Truncated-Type :
+ {l1 l2 : Level} {k : 𝕋} (A : Truncated-Type l1 k) (B : Truncated-Type l2 k) →
+ Truncated-Type (l1 ⊔ l2) k
+pr1 (equiv-Truncated-Type A B) = type-equiv-Truncated-Type A B
+pr2 (equiv-Truncated-Type A B) = is-trunc-type-equiv-Truncated-Type A B
+```
diff --git a/src/foundation/dependent-universal-property-equivalences.lagda.md b/src/foundation/dependent-universal-property-equivalences.lagda.md
index f9a041351b..e02bb797f2 100644
--- a/src/foundation/dependent-universal-property-equivalences.lagda.md
+++ b/src/foundation/dependent-universal-property-equivalences.lagda.md
@@ -11,6 +11,7 @@ open import foundation.action-on-identifications-dependent-functions
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.universe-levels
open import foundation-core.coherently-invertible-maps
diff --git a/src/foundation/diaconescus-theorem.lagda.md b/src/foundation/diaconescus-theorem.lagda.md
index adcacce8cc..0a0e266a2a 100644
--- a/src/foundation/diaconescus-theorem.lagda.md
+++ b/src/foundation/diaconescus-theorem.lagda.md
@@ -13,6 +13,7 @@ open import foundation.booleans
open import foundation.decidable-propositions
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.law-of-excluded-middle
open import foundation.logical-equivalences
open import foundation.propositional-truncations
@@ -44,8 +45,8 @@ We follow the proof given under Theorem 10.1.14 in {{#cite UF13}}.
[suspension](synthetic-homotopy-theory.suspensions-of-propositions.md) `ΣP` is a
[set](foundation-core.sets.md) with the property that `(N = S) ≃ ΣP`, where `N`
and `S` are the _poles_ of `ΣP`. There is a surjection from the
-[booleans](foundation.booleans.md) onto the suspension `f : bool ↠ ΣP` such that
-`f true ≐ N` and `f false ≐ S`. Its
+[booleans](foundation-core.booleans.md) onto the suspension `f : bool ↠ ΣP` such
+that `f true ≐ N` and `f false ≐ S`. Its
[fiber family](foundation-core.fibers-of-maps.md) is in other words an
[inhabited](foundation.inhabited-types.md) family over `ΣP`. Applying the axiom
of choice to this family, we obtain a
diff --git a/src/foundation/diagonal-maps-of-types.lagda.md b/src/foundation/diagonal-maps-of-types.lagda.md
index b4a0135888..ed122f9939 100644
--- a/src/foundation/diagonal-maps-of-types.lagda.md
+++ b/src/foundation/diagonal-maps-of-types.lagda.md
@@ -2,6 +2,8 @@
```agda
module foundation.diagonal-maps-of-types where
+
+open import foundation-core.diagonal-maps-of-types public
```
Imports
@@ -9,26 +11,19 @@ module foundation.diagonal-maps-of-types where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
-open import foundation.equality-cartesian-product-types
open import foundation.function-extensionality
-open import foundation.functoriality-dependent-pair-types
-open import foundation.morphisms-arrows
-open import foundation.postcomposition-functions
-open import foundation.retracts-of-types
+open import foundation.function-extensionality-axiom
open import foundation.transposition-identifications-along-equivalences
open import foundation.universe-levels
-open import foundation-core.cartesian-product-types
open import foundation-core.constant-maps
open import foundation-core.equivalences
open import foundation-core.fibers-of-maps
open import foundation-core.function-types
+open import foundation-core.functoriality-dependent-pair-types
open import foundation-core.homotopies
open import foundation-core.identity-types
open import foundation-core.injective-maps
-open import foundation-core.propositions
-open import foundation-core.retractions
-open import foundation-core.sections
```
@@ -40,52 +35,8 @@ The
of a type `A` is the map that includes the points of `A` into the exponential
`X → A`.
-## Definitions
-
-```agda
-module _
- {l1 l2 : Level} (A : UU l1) (X : UU l2)
- where
-
- diagonal-exponential : A → X → A
- diagonal-exponential = const X
-```
-
## Properties
-### The action on identifications of a diagonal map is another diagonal map
-
-```agda
-module _
- {l1 l2 : Level} {A : UU l1} (x y : A) (B : UU l2)
- where
-
- htpy-diagonal-exponential-Id-ap-diagonal-exponential-htpy-eq :
- htpy-eq ∘ ap (diagonal-exponential A B) ~ diagonal-exponential (x = y) B
- htpy-diagonal-exponential-Id-ap-diagonal-exponential-htpy-eq refl = refl
-
- htpy-ap-diagonal-exponential-htpy-eq-diagonal-exponential-Id :
- diagonal-exponential (x = y) B ~ htpy-eq ∘ ap (diagonal-exponential A B)
- htpy-ap-diagonal-exponential-htpy-eq-diagonal-exponential-Id =
- inv-htpy htpy-diagonal-exponential-Id-ap-diagonal-exponential-htpy-eq
-```
-
-### Given an element of the exponent the diagonal map is injective
-
-```agda
-module _
- {l1 l2 : Level} (A : UU l1) (B : UU l2) (b : B)
- where
-
- is-injective-diagonal-exponential :
- is-injective (diagonal-exponential A B)
- is-injective-diagonal-exponential p = htpy-eq p b
-
- diagonal-exponential-injection : injection A (B → A)
- pr1 diagonal-exponential-injection = diagonal-exponential A B
- pr2 diagonal-exponential-injection = is-injective-diagonal-exponential
-```
-
### The action on identifications of an (exponential) diagonal is a diagonal
```agda
@@ -93,21 +44,12 @@ module _
{l1 l2 : Level} (A : UU l1) {B : UU l2} (x y : B)
where
- compute-htpy-eq-ap-diagonal-exponential :
- htpy-eq ∘ ap (diagonal-exponential B A) ~ diagonal-exponential (x = y) A
- compute-htpy-eq-ap-diagonal-exponential refl = refl
-
- inv-compute-htpy-eq-ap-diagonal-exponential :
- diagonal-exponential (x = y) A ~ htpy-eq ∘ ap (diagonal-exponential B A)
- inv-compute-htpy-eq-ap-diagonal-exponential =
- inv-htpy compute-htpy-eq-ap-diagonal-exponential
-
compute-eq-htpy-ap-diagonal-exponential :
ap (diagonal-exponential B A) ~ eq-htpy ∘ diagonal-exponential (x = y) A
compute-eq-htpy-ap-diagonal-exponential p =
map-eq-transpose-equiv
( equiv-funext)
- ( compute-htpy-eq-ap-diagonal-exponential p)
+ ( compute-htpy-eq-ap-diagonal-exponential A x y p)
```
### Computing the fibers of diagonal maps
diff --git a/src/foundation/discrete-binary-relations.lagda.md b/src/foundation/discrete-binary-relations.lagda.md
index 9edf7ffd3f..ef556b6912 100644
--- a/src/foundation/discrete-binary-relations.lagda.md
+++ b/src/foundation/discrete-binary-relations.lagda.md
@@ -8,6 +8,7 @@ module foundation.discrete-binary-relations where
```agda
open import foundation.binary-relations
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/foundation/discrete-reflexive-relations.lagda.md b/src/foundation/discrete-reflexive-relations.lagda.md
index 236e380874..38a8f6f96c 100644
--- a/src/foundation/discrete-reflexive-relations.lagda.md
+++ b/src/foundation/discrete-reflexive-relations.lagda.md
@@ -10,6 +10,8 @@ module foundation.discrete-reflexive-relations where
open import foundation.binary-relations
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.reflexive-relations
open import foundation.torsorial-type-families
open import foundation.universe-levels
diff --git a/src/foundation/discrete-relaxed-sigma-decompositions.lagda.md b/src/foundation/discrete-relaxed-sigma-decompositions.lagda.md
index 76cdac43a7..334f37a62f 100644
--- a/src/foundation/discrete-relaxed-sigma-decompositions.lagda.md
+++ b/src/foundation/discrete-relaxed-sigma-decompositions.lagda.md
@@ -10,7 +10,10 @@ module foundation.discrete-relaxed-sigma-decompositions where
open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
+open import foundation.raising-universe-levels-unit-type
open import foundation.relaxed-sigma-decompositions
open import foundation.type-arithmetic-dependent-pair-types
open import foundation.unit-type
diff --git a/src/foundation/discrete-sigma-decompositions.lagda.md b/src/foundation/discrete-sigma-decompositions.lagda.md
index 3ed376b244..7527dd92bd 100644
--- a/src/foundation/discrete-sigma-decompositions.lagda.md
+++ b/src/foundation/discrete-sigma-decompositions.lagda.md
@@ -10,8 +10,11 @@ module foundation.discrete-sigma-decompositions where
open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.propositional-truncations
+open import foundation.raising-universe-levels-unit-type
open import foundation.sigma-decompositions
open import foundation.type-arithmetic-dependent-pair-types
open import foundation.unit-type
diff --git a/src/foundation/disjoint-subtypes.lagda.md b/src/foundation/disjoint-subtypes.lagda.md
index e21739bbd5..f336231418 100644
--- a/src/foundation/disjoint-subtypes.lagda.md
+++ b/src/foundation/disjoint-subtypes.lagda.md
@@ -9,8 +9,8 @@ module foundation.disjoint-subtypes where
```agda
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
-open import foundation.intersections-subtypes
open import foundation.propositions
open import foundation.subtypes
open import foundation.universe-levels
diff --git a/src/foundation/double-arrows.lagda.md b/src/foundation/double-arrows.lagda.md
index aac5db2de6..a6c2d5afe3 100644
--- a/src/foundation/double-arrows.lagda.md
+++ b/src/foundation/double-arrows.lagda.md
@@ -7,9 +7,10 @@ module foundation.double-arrows where
Imports
```agda
-open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
open import foundation.universe-levels
+
+open import foundation-core.cartesian-product-types
```
diff --git a/src/foundation/double-negation-modality.lagda.md b/src/foundation/double-negation-modality.lagda.md
index 89f91c3ee0..fb98a826a1 100644
--- a/src/foundation/double-negation-modality.lagda.md
+++ b/src/foundation/double-negation-modality.lagda.md
@@ -8,6 +8,7 @@ module foundation.double-negation-modality where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.double-negation
open import foundation.empty-types
open import foundation.logical-equivalences
diff --git a/src/foundation/double-negation-stable-equality.lagda.md b/src/foundation/double-negation-stable-equality.lagda.md
index 8917c7da41..9dced91af2 100644
--- a/src/foundation/double-negation-stable-equality.lagda.md
+++ b/src/foundation/double-negation-stable-equality.lagda.md
@@ -11,6 +11,7 @@ open import foundation.action-on-identifications-dependent-functions
open import foundation.action-on-identifications-functions
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.double-negation
open import foundation.equality-cartesian-product-types
open import foundation.equality-dependent-pair-types
diff --git a/src/foundation/double-negation-stable-propositions.lagda.md b/src/foundation/double-negation-stable-propositions.lagda.md
index 0ba325bf24..8fb70bf27b 100644
--- a/src/foundation/double-negation-stable-propositions.lagda.md
+++ b/src/foundation/double-negation-stable-propositions.lagda.md
@@ -13,6 +13,7 @@ open import foundation.coproduct-types
open import foundation.decidable-propositions
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.disjunction
open import foundation.double-negation
open import foundation.embeddings
diff --git a/src/foundation/double-powersets.lagda.md b/src/foundation/double-powersets.lagda.md
index 45d84375c0..19aabecf18 100644
--- a/src/foundation/double-powersets.lagda.md
+++ b/src/foundation/double-powersets.lagda.md
@@ -8,6 +8,7 @@ module foundation.double-powersets where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.existential-quantification
open import foundation.powersets
open import foundation.propositional-truncations
diff --git a/src/foundation/dubuc-penon-compact-types.lagda.md b/src/foundation/dubuc-penon-compact-types.lagda.md
index 7a80fcc588..6f726c9481 100644
--- a/src/foundation/dubuc-penon-compact-types.lagda.md
+++ b/src/foundation/dubuc-penon-compact-types.lagda.md
@@ -7,6 +7,7 @@ module foundation.dubuc-penon-compact-types where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.disjunction
open import foundation.universal-quantification
open import foundation.universe-levels
diff --git a/src/foundation/embeddings.lagda.md b/src/foundation/embeddings.lagda.md
index 6631d6bead..16bc0c8d80 100644
--- a/src/foundation/embeddings.lagda.md
+++ b/src/foundation/embeddings.lagda.md
@@ -12,6 +12,7 @@ open import foundation-core.embeddings public
open import foundation.action-on-identifications-functions
open import foundation.cones-over-cospan-diagrams
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.functoriality-cartesian-product-types
open import foundation.functoriality-dependent-pair-types
diff --git a/src/foundation/empty-types.lagda.md b/src/foundation/empty-types.lagda.md
index 67cfc187b9..08551072cb 100644
--- a/src/foundation/empty-types.lagda.md
+++ b/src/foundation/empty-types.lagda.md
@@ -10,10 +10,10 @@ open import foundation-core.empty-types public
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.propositional-truncations
-open import foundation.raising-universe-levels
open import foundation.subuniverses
open import foundation.univalence
open import foundation.universe-levels
@@ -22,6 +22,7 @@ open import foundation-core.contractible-types
open import foundation-core.equality-dependent-pair-types
open import foundation-core.function-types
open import foundation-core.propositions
+open import foundation-core.raising-universe-levels
open import foundation-core.sets
open import foundation-core.truncated-types
open import foundation-core.truncation-levels
diff --git a/src/foundation/epimorphisms-with-respect-to-sets.lagda.md b/src/foundation/epimorphisms-with-respect-to-sets.lagda.md
index f34760598e..63bd907d28 100644
--- a/src/foundation/epimorphisms-with-respect-to-sets.lagda.md
+++ b/src/foundation/epimorphisms-with-respect-to-sets.lagda.md
@@ -11,10 +11,12 @@ open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.existential-quantification
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.identity-types
open import foundation.injective-maps
open import foundation.propositional-extensionality
open import foundation.propositional-truncations
+open import foundation.raising-universe-levels-unit-type
open import foundation.sets
open import foundation.surjective-maps
open import foundation.unit-type
diff --git a/src/foundation/epimorphisms-with-respect-to-truncated-types.lagda.md b/src/foundation/epimorphisms-with-respect-to-truncated-types.lagda.md
index e5ff5b16a5..3a0d69c835 100644
--- a/src/foundation/epimorphisms-with-respect-to-truncated-types.lagda.md
+++ b/src/foundation/epimorphisms-with-respect-to-truncated-types.lagda.md
@@ -11,6 +11,7 @@ open import foundation.action-on-identifications-functions
open import foundation.commuting-squares-of-maps
open import foundation.connected-maps
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.function-extensionality
open import foundation.functoriality-truncation
diff --git a/src/foundation/equality-cartesian-product-types.lagda.md b/src/foundation/equality-cartesian-product-types.lagda.md
index b500eb9d43..068c6de89a 100644
--- a/src/foundation/equality-cartesian-product-types.lagda.md
+++ b/src/foundation/equality-cartesian-product-types.lagda.md
@@ -13,7 +13,6 @@ open import foundation.dependent-pair-types
open import foundation.universe-levels
open import foundation-core.cartesian-product-types
-open import foundation-core.equality-dependent-pair-types
open import foundation-core.equivalences
open import foundation-core.function-types
open import foundation-core.homotopies
diff --git a/src/foundation/equality-dependent-function-types.lagda.md b/src/foundation/equality-dependent-function-types.lagda.md
index 04e62574f7..2512259ea6 100644
--- a/src/foundation/equality-dependent-function-types.lagda.md
+++ b/src/foundation/equality-dependent-function-types.lagda.md
@@ -8,6 +8,7 @@ module foundation.equality-dependent-function-types where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.fundamental-theorem-of-identity-types
open import foundation.implicit-function-types
open import foundation.universe-levels
diff --git a/src/foundation/equivalence-extensionality.lagda.md b/src/foundation/equivalence-extensionality.lagda.md
index 54aad95056..6facfb0297 100644
--- a/src/foundation/equivalence-extensionality.lagda.md
+++ b/src/foundation/equivalence-extensionality.lagda.md
@@ -8,8 +8,10 @@ module foundation.equivalence-extensionality where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.dependent-universal-property-equivalences
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.fundamental-theorem-of-identity-types
open import foundation.identity-systems
open import foundation.subtype-identity-principle
diff --git a/src/foundation/equivalence-injective-type-families.lagda.md b/src/foundation/equivalence-injective-type-families.lagda.md
index 5b1ea1cb5f..f204fe7573 100644
--- a/src/foundation/equivalence-injective-type-families.lagda.md
+++ b/src/foundation/equivalence-injective-type-families.lagda.md
@@ -8,8 +8,10 @@ module foundation.equivalence-injective-type-families where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.functoriality-dependent-function-types
open import foundation.iterated-dependent-product-types
+open import foundation.telescopes
open import foundation.univalence
open import foundation.universal-property-equivalences
open import foundation.universe-levels
diff --git a/src/foundation/equivalences-span-diagrams.lagda.md b/src/foundation/equivalences-span-diagrams.lagda.md
index 92238d6cff..d758f29cdf 100644
--- a/src/foundation/equivalences-span-diagrams.lagda.md
+++ b/src/foundation/equivalences-span-diagrams.lagda.md
@@ -9,6 +9,7 @@ module foundation.equivalences-span-diagrams where
```agda
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.equivalences-arrows
open import foundation.equivalences-spans
diff --git a/src/foundation/equivalences.lagda.md b/src/foundation/equivalences.lagda.md
index 14919d3b92..c7c26fb5c4 100644
--- a/src/foundation/equivalences.lagda.md
+++ b/src/foundation/equivalences.lagda.md
@@ -12,6 +12,7 @@ open import foundation-core.equivalences public
open import foundation.action-on-identifications-functions
open import foundation.cones-over-cospan-diagrams
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalence-extensionality
open import foundation.function-extensionality
open import foundation.functoriality-fibers-of-maps
diff --git a/src/foundation/evaluation-functions.lagda.md b/src/foundation/evaluation-functions.lagda.md
index 45faaf7850..9503610877 100644
--- a/src/foundation/evaluation-functions.lagda.md
+++ b/src/foundation/evaluation-functions.lagda.md
@@ -7,10 +7,7 @@ module foundation.evaluation-functions where
Imports
```agda
-open import foundation.action-on-identifications-functions
open import foundation.universe-levels
-
-open import foundation-core.identity-types
```
diff --git a/src/foundation/exclusive-disjunction.lagda.md b/src/foundation/exclusive-disjunction.lagda.md
index 92407933be..5d95f4c232 100644
--- a/src/foundation/exclusive-disjunction.lagda.md
+++ b/src/foundation/exclusive-disjunction.lagda.md
@@ -10,6 +10,7 @@ module foundation.exclusive-disjunction where
open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equality-coproduct-types
open import foundation.exclusive-sum
open import foundation.functoriality-coproduct-types
diff --git a/src/foundation/exclusive-sum.lagda.md b/src/foundation/exclusive-sum.lagda.md
index 7282c9e05d..d18bfe341a 100644
--- a/src/foundation/exclusive-sum.lagda.md
+++ b/src/foundation/exclusive-sum.lagda.md
@@ -11,16 +11,15 @@ open import foundation.conjunction
open import foundation.coproduct-types
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.negation
open import foundation.propositional-extensionality
open import foundation.symmetric-operations
-open import foundation.universal-quantification
open import foundation.universe-levels
open import foundation.unordered-pairs
open import foundation-core.cartesian-product-types
open import foundation-core.decidable-propositions
-open import foundation-core.embeddings
open import foundation-core.empty-types
open import foundation-core.equality-dependent-pair-types
open import foundation-core.identity-types
diff --git a/src/foundation/existential-quantification.lagda.md b/src/foundation/existential-quantification.lagda.md
index 13a376ea80..1cb3523d44 100644
--- a/src/foundation/existential-quantification.lagda.md
+++ b/src/foundation/existential-quantification.lagda.md
@@ -9,7 +9,7 @@ module foundation.existential-quantification where
```agda
open import foundation.conjunction
open import foundation.dependent-pair-types
-open import foundation.functoriality-propositional-truncation
+open import foundation.dependent-products-propositions
open import foundation.logical-equivalences
open import foundation.propositional-extensionality
open import foundation.propositional-truncations
@@ -18,7 +18,6 @@ open import foundation.universe-levels
open import foundation-core.cartesian-product-types
open import foundation-core.equivalences
open import foundation-core.function-types
-open import foundation-core.functoriality-dependent-pair-types
open import foundation-core.identity-types
open import foundation-core.propositions
```
diff --git a/src/foundation/exponents-set-quotients.lagda.md b/src/foundation/exponents-set-quotients.lagda.md
index bfc9888f3c..7002792799 100644
--- a/src/foundation/exponents-set-quotients.lagda.md
+++ b/src/foundation/exponents-set-quotients.lagda.md
@@ -11,7 +11,9 @@ module foundation.exponents-set-quotients where
```agda
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.functoriality-set-quotients
open import foundation.postcomposition-functions
open import foundation.reflecting-maps-equivalence-relations
diff --git a/src/foundation/extensions-types-global-subuniverses.lagda.md b/src/foundation/extensions-types-global-subuniverses.lagda.md
index a75184e2aa..2465e402f9 100644
--- a/src/foundation/extensions-types-global-subuniverses.lagda.md
+++ b/src/foundation/extensions-types-global-subuniverses.lagda.md
@@ -11,6 +11,8 @@ open import foundation.action-on-identifications-functions
open import foundation.commuting-triangles-of-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.extensions-types
diff --git a/src/foundation/extensions-types-subuniverses.lagda.md b/src/foundation/extensions-types-subuniverses.lagda.md
index b76a1afee1..602d1706eb 100644
--- a/src/foundation/extensions-types-subuniverses.lagda.md
+++ b/src/foundation/extensions-types-subuniverses.lagda.md
@@ -11,6 +11,8 @@ open import foundation.action-on-identifications-functions
open import foundation.commuting-triangles-of-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.extensions-types
diff --git a/src/foundation/families-of-equivalences.lagda.md b/src/foundation/families-of-equivalences.lagda.md
index 3cfded46ff..172bf565b9 100644
--- a/src/foundation/families-of-equivalences.lagda.md
+++ b/src/foundation/families-of-equivalences.lagda.md
@@ -9,6 +9,7 @@ open import foundation-core.families-of-equivalences public
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.universe-levels
diff --git a/src/foundation/families-of-maps.lagda.md b/src/foundation/families-of-maps.lagda.md
index be752e98b8..ffcfb2087d 100644
--- a/src/foundation/families-of-maps.lagda.md
+++ b/src/foundation/families-of-maps.lagda.md
@@ -8,6 +8,7 @@ module foundation.families-of-maps where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.type-arithmetic-dependent-pair-types
open import foundation.universal-property-dependent-pair-types
diff --git a/src/foundation/families-over-telescopes.lagda.md b/src/foundation/families-over-telescopes.lagda.md
index a6a2844f56..7e36e446f0 100644
--- a/src/foundation/families-over-telescopes.lagda.md
+++ b/src/foundation/families-over-telescopes.lagda.md
@@ -9,9 +9,10 @@ module foundation.families-over-telescopes where
```agda
open import elementary-number-theory.natural-numbers
-open import foundation.raising-universe-levels
open import foundation.telescopes
open import foundation.universe-levels
+
+open import foundation-core.raising-universe-levels
```
diff --git a/src/foundation/fiber-inclusions.lagda.md b/src/foundation/fiber-inclusions.lagda.md
index fb33d403c9..ca0e8f0ac8 100644
--- a/src/foundation/fiber-inclusions.lagda.md
+++ b/src/foundation/fiber-inclusions.lagda.md
@@ -12,6 +12,7 @@ open import foundation.cones-over-cospan-diagrams
open import foundation.dependent-pair-types
open import foundation.faithful-maps
open import foundation.fibers-of-maps
+open import foundation.raising-universe-levels-unit-type
open import foundation.standard-pullbacks
open import foundation.transport-along-identifications
open import foundation.type-arithmetic-dependent-pair-types
diff --git a/src/foundation/fibered-maps.lagda.md b/src/foundation/fibered-maps.lagda.md
index 686a7b601f..1ba4249488 100644
--- a/src/foundation/fibered-maps.lagda.md
+++ b/src/foundation/fibered-maps.lagda.md
@@ -9,6 +9,8 @@ module foundation.fibered-maps where
```agda
open import foundation.cones-over-cospan-diagrams
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-truncated-types
open import foundation.function-extensionality
open import foundation.fundamental-theorem-of-identity-types
open import foundation.homotopy-induction
diff --git a/src/foundation/full-subtypes.lagda.md b/src/foundation/full-subtypes.lagda.md
index 57a9714080..c2cb38a34f 100644
--- a/src/foundation/full-subtypes.lagda.md
+++ b/src/foundation/full-subtypes.lagda.md
@@ -9,6 +9,8 @@ module foundation.full-subtypes where
```agda
open import foundation.decidable-subtypes
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
+open import foundation.raising-universe-levels-unit-type
open import foundation.type-arithmetic-dependent-pair-types
open import foundation.unit-type
open import foundation.universe-levels
diff --git a/src/foundation/function-extensionality-axiom.lagda.md b/src/foundation/function-extensionality-axiom.lagda.md
new file mode 100644
index 0000000000..064197ecd1
--- /dev/null
+++ b/src/foundation/function-extensionality-axiom.lagda.md
@@ -0,0 +1,166 @@
+# The function extensionality axiom
+
+```agda
+module foundation.function-extensionality-axiom where
+```
+
+Imports
+
+```agda
+open import foundation.action-on-identifications-functions
+open import foundation.evaluation-functions
+open import foundation.universe-levels
+
+open import foundation-core.equivalences
+open import foundation-core.function-types
+open import foundation-core.homotopies
+open import foundation-core.identity-types
+```
+
+
+
+## Idea
+
+The
+{{#concept "function extensionality axiom" Agda=function-extensionality Agda=funext}}
+asserts that [identifications](foundation-core.identity-types.md) of (dependent)
+functions are [equivalently](foundation-core.equivalences.md) described as
+[homotopies](foundation-core.homotopies.md) between them. In other words, a
+function is completely determined by its values.
+
+Function extensionality is postulated by stating that the canonical map
+
+```text
+ htpy-eq : f = g → f ~ g
+```
+
+from identifications between two functions to homotopies between them is an
+equivalence. The map `htpy-eq` is the unique map that fits in a
+[commuting triangle](foundation-core.commuting-triangles-of-maps.md)
+
+```text
+ htpy-eq
+ (f = g) ----------> (f ~ g)
+ \ /
+ ap (ev x) \ / ev x
+ ∨ ∨
+ (f x = g x)
+```
+
+In other words, we define
+
+```text
+ htpy-eq p x := ap (ev x) p.
+```
+
+It follows from this definition that `htpy-eq refl ≐ refl-htpy`, as expected.
+
+## Definitions
+
+### Equalities induce homotopies
+
+```agda
+module _
+ {l1 l2 : Level} {A : UU l1} {B : A → UU l2}
+ where
+
+ htpy-eq : {f g : (x : A) → B x} → f = g → f ~ g
+ htpy-eq p a = ap (ev a) p
+
+ compute-htpy-eq-refl : {f : (x : A) → B x} → htpy-eq refl = refl-htpy' f
+ compute-htpy-eq-refl = refl
+```
+
+### An instance of function extensionality
+
+This property asserts that, _given_ two functions `f` and `g`, the map
+
+```text
+ htpy-eq : f = g → f ~ g
+```
+
+is an equivalence.
+
+```agda
+module _
+ {l1 l2 : Level} {A : UU l1} {B : A → UU l2}
+ where
+
+ instance-function-extensionality : (f g : (x : A) → B x) → UU (l1 ⊔ l2)
+ instance-function-extensionality f g = is-equiv (htpy-eq {f = f} {g})
+```
+
+### Based function extensionality
+
+This property asserts that, _given_ a function `f`, the map
+
+```text
+ htpy-eq : f = g → f ~ g
+```
+
+is an equivalence for any function `g` of the same type.
+
+```agda
+module _
+ {l1 l2 : Level} {A : UU l1} {B : A → UU l2}
+ where
+
+ based-function-extensionality : (f : (x : A) → B x) → UU (l1 ⊔ l2)
+ based-function-extensionality f =
+ (g : (x : A) → B x) → instance-function-extensionality f g
+```
+
+### The function extensionality principle with respect to a universe level
+
+```agda
+function-extensionality-Level : (l1 l2 : Level) → UU (lsuc l1 ⊔ lsuc l2)
+function-extensionality-Level l1 l2 =
+ {A : UU l1} {B : A → UU l2}
+ (f : (x : A) → B x) → based-function-extensionality f
+```
+
+### The function extensionality axiom
+
+```agda
+function-extensionality : UUω
+function-extensionality = {l1 l2 : Level} → function-extensionality-Level l1 l2
+```
+
+## Properties
+
+### `htpy-eq` preserves inverses
+
+For any two functions `f g : (x : A) → B x` we have a
+[commuting square](foundation-core.commuting-squares-of-maps.md)
+
+```text
+ inv
+ (f = g) ---------> (g = f)
+ | |
+ htpy-eq | | htpy-eq
+ ∨ ∨
+ (f ~ g) ---------> (g ~ f).
+ inv-htpy
+```
+
+```agda
+module _
+ {l1 l2 : Level} {A : UU l1} {B : A → UU l2} {f g : (x : A) → B x}
+ where
+
+ compute-htpy-eq-inv : inv-htpy {f = f} {g} ∘ htpy-eq ~ htpy-eq ∘ inv
+ compute-htpy-eq-inv refl = refl
+
+ compute-inv-htpy-htpy-eq : htpy-eq ∘ inv ~ inv-htpy {f = f} {g} ∘ htpy-eq
+ compute-inv-htpy-htpy-eq = inv-htpy compute-htpy-eq-inv
+```
+
+## See also
+
+- The fact that the univalence axiom implies function extensionality is proven
+ in
+ [`foundation.univalence-implies-function-extensionality`](foundation.univalence-implies-function-extensionality.md).
+- Weak function extensionality is defined in
+ [`foundation.weak-function-extensionality`](foundation.weak-function-extensionality.md).
+- Transporting along homotopies is defined in
+ [`foundation.transport-along-homotopies`](foundation.transport-along-homotopies.md).
diff --git a/src/foundation/function-extensionality.lagda.md b/src/foundation/function-extensionality.lagda.md
index 5633842ad1..d26c3c48c8 100644
--- a/src/foundation/function-extensionality.lagda.md
+++ b/src/foundation/function-extensionality.lagda.md
@@ -1,6 +1,8 @@
# Function extensionality
```agda
+open import foundation.function-extensionality-axiom
+
module foundation.function-extensionality where
```
@@ -10,7 +12,6 @@ module foundation.function-extensionality where
open import foundation.action-on-identifications-binary-functions
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
-open import foundation.evaluation-functions
open import foundation.implicit-function-types
open import foundation.universe-levels
@@ -63,75 +64,8 @@ It follows from this definition that `htpy-eq refl ≐ refl-htpy`, as expected.
## Definitions
-### Equalities induce homotopies
-
-```agda
-module _
- {l1 l2 : Level} {A : UU l1} {B : A → UU l2}
- where
-
- htpy-eq : {f g : (x : A) → B x} → f = g → f ~ g
- htpy-eq p a = ap (ev a) p
-
- compute-htpy-eq-refl : {f : (x : A) → B x} → htpy-eq refl = refl-htpy' f
- compute-htpy-eq-refl = refl
-```
-
-### An instance of function extensionality
-
-This property asserts that, _given_ two functions `f` and `g`, the map
-
-```text
- htpy-eq : f = g → f ~ g
-```
-
-is an equivalence.
-
-```agda
-module _
- {l1 l2 : Level} {A : UU l1} {B : A → UU l2}
- where
-
- instance-function-extensionality : (f g : (x : A) → B x) → UU (l1 ⊔ l2)
- instance-function-extensionality f g = is-equiv (htpy-eq {f = f} {g})
-```
-
-### Based function extensionality
-
-This property asserts that, _given_ a function `f`, the map
-
-```text
- htpy-eq : f = g → f ~ g
-```
-
-is an equivalence for any function `g` of the same type.
-
-```agda
-module _
- {l1 l2 : Level} {A : UU l1} {B : A → UU l2}
- where
-
- based-function-extensionality : (f : (x : A) → B x) → UU (l1 ⊔ l2)
- based-function-extensionality f =
- (g : (x : A) → B x) → instance-function-extensionality f g
-```
-
-### The function extensionality principle with respect to a universe level
-
-```agda
-function-extensionality-Level : (l1 l2 : Level) → UU (lsuc l1 ⊔ lsuc l2)
-function-extensionality-Level l1 l2 =
- {A : UU l1} {B : A → UU l2}
- (f : (x : A) → B x) → based-function-extensionality f
-```
-
### The function extensionality axiom
-```agda
-function-extensionality : UUω
-function-extensionality = {l1 l2 : Level} → function-extensionality-Level l1 l2
-```
-
Rather than postulating a witness of `function-extensionality` directly, we
postulate the constituents of a coherent two-sided inverse to `htpy-eq`. The
benefits are that we end up with a single converse map to `htpy-eq`, rather than
@@ -244,33 +178,6 @@ module _
( is-retraction-eq-htpy (eq-htpy H ∙ eq-htpy K))
```
-### `htpy-eq` preserves inverses
-
-For any two functions `f g : (x : A) → B x` we have a
-[commuting square](foundation-core.commuting-squares-of-maps.md)
-
-```text
- inv
- (f = g) ---------> (g = f)
- | |
- htpy-eq | | htpy-eq
- ∨ ∨
- (f ~ g) ---------> (g ~ f).
- inv-htpy
-```
-
-```agda
-module _
- {l1 l2 : Level} {A : UU l1} {B : A → UU l2} {f g : (x : A) → B x}
- where
-
- compute-htpy-eq-inv : inv-htpy {f = f} {g} ∘ htpy-eq ~ htpy-eq ∘ inv
- compute-htpy-eq-inv refl = refl
-
- compute-inv-htpy-htpy-eq : htpy-eq ∘ inv ~ inv-htpy {f = f} {g} ∘ htpy-eq
- compute-inv-htpy-htpy-eq = inv-htpy compute-htpy-eq-inv
-```
-
### `eq-htpy` preserves inverses
For any two functions `f g : (x : A) → B x` we have a commuting square
diff --git a/src/foundation/functional-correspondences.lagda.md b/src/foundation/functional-correspondences.lagda.md
index ed5998a661..50d3e16e47 100644
--- a/src/foundation/functional-correspondences.lagda.md
+++ b/src/foundation/functional-correspondences.lagda.md
@@ -10,6 +10,8 @@ module foundation.functional-correspondences where
open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equality-dependent-function-types
open import foundation.function-extensionality
open import foundation.fundamental-theorem-of-identity-types
diff --git a/src/foundation/functoriality-dependent-function-types.lagda.md b/src/foundation/functoriality-dependent-function-types.lagda.md
index 9fc8e6c98c..290c471228 100644
--- a/src/foundation/functoriality-dependent-function-types.lagda.md
+++ b/src/foundation/functoriality-dependent-function-types.lagda.md
@@ -11,6 +11,7 @@ open import foundation-core.functoriality-dependent-function-types public
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-truncated-types
open import foundation.dependent-universal-property-equivalences
open import foundation.equivalence-extensionality
open import foundation.function-extensionality
diff --git a/src/foundation/functoriality-morphisms-arrows.lagda.md b/src/foundation/functoriality-morphisms-arrows.lagda.md
index a8cdd6b387..8ad3592690 100644
--- a/src/foundation/functoriality-morphisms-arrows.lagda.md
+++ b/src/foundation/functoriality-morphisms-arrows.lagda.md
@@ -15,9 +15,11 @@ open import foundation.composition-algebra
open import foundation.cones-over-cospan-diagrams
open import foundation.cospan-diagrams
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.functoriality-pullbacks
open import foundation.homotopies
@@ -31,7 +33,6 @@ open import foundation.precomposition-functions
open import foundation.pullback-cones
open import foundation.pullbacks
open import foundation.retractions
-open import foundation.retracts-of-maps
open import foundation.sections
open import foundation.standard-pullbacks
open import foundation.universe-levels
diff --git a/src/foundation/functoriality-propositional-truncation.lagda.md b/src/foundation/functoriality-propositional-truncation.lagda.md
index 1c895736c6..32fdfc1b87 100644
--- a/src/foundation/functoriality-propositional-truncation.lagda.md
+++ b/src/foundation/functoriality-propositional-truncation.lagda.md
@@ -9,7 +9,8 @@ module foundation.functoriality-propositional-truncation where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
-open import foundation.function-extensionality
+open import foundation.dependent-products-propositions
+open import foundation.function-extensionality-axiom
open import foundation.logical-equivalences
open import foundation.propositional-truncations
open import foundation.universe-levels
diff --git a/src/foundation/functoriality-set-quotients.lagda.md b/src/foundation/functoriality-set-quotients.lagda.md
index 556c6b19c2..31b756d2f8 100644
--- a/src/foundation/functoriality-set-quotients.lagda.md
+++ b/src/foundation/functoriality-set-quotients.lagda.md
@@ -11,6 +11,7 @@ module foundation.functoriality-set-quotients where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalence-extensionality
open import foundation.fundamental-theorem-of-identity-types
open import foundation.homotopy-induction
diff --git a/src/foundation/functoriality-set-truncation.lagda.md b/src/foundation/functoriality-set-truncation.lagda.md
index 6e1fb2db8d..e10e05a582 100644
--- a/src/foundation/functoriality-set-truncation.lagda.md
+++ b/src/foundation/functoriality-set-truncation.lagda.md
@@ -9,6 +9,7 @@ module foundation.functoriality-set-truncation where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.functoriality-truncation
open import foundation.images
open import foundation.injective-maps
diff --git a/src/foundation/functoriality-truncation.lagda.md b/src/foundation/functoriality-truncation.lagda.md
index 92e1760616..86a3aaecad 100644
--- a/src/foundation/functoriality-truncation.lagda.md
+++ b/src/foundation/functoriality-truncation.lagda.md
@@ -10,6 +10,7 @@ module foundation.functoriality-truncation where
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.truncations
open import foundation.universe-levels
open import foundation.whiskering-homotopies-composition
diff --git a/src/foundation/global-subuniverses.lagda.md b/src/foundation/global-subuniverses.lagda.md
index fffb54617f..375ab98286 100644
--- a/src/foundation/global-subuniverses.lagda.md
+++ b/src/foundation/global-subuniverses.lagda.md
@@ -10,6 +10,7 @@ module foundation.global-subuniverses where
open import foundation.dependent-pair-types
open import foundation.iterated-dependent-product-types
open import foundation.subuniverses
+open import foundation.telescopes
open import foundation.universe-levels
open import foundation-core.equivalences
diff --git a/src/foundation/homotopy-induction.lagda.md b/src/foundation/homotopy-induction.lagda.md
index 325ffb7e9c..0e79b789dd 100644
--- a/src/foundation/homotopy-induction.lagda.md
+++ b/src/foundation/homotopy-induction.lagda.md
@@ -9,8 +9,8 @@ module foundation.homotopy-induction where
```agda
open import foundation.dependent-pair-types
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.identity-systems
-open import foundation.universal-property-dependent-pair-types
open import foundation.universal-property-identity-systems
open import foundation.universe-levels
diff --git a/src/foundation/homotopy-preorder-of-types.lagda.md b/src/foundation/homotopy-preorder-of-types.lagda.md
index c6c1e1902e..751faa0f5c 100644
--- a/src/foundation/homotopy-preorder-of-types.lagda.md
+++ b/src/foundation/homotopy-preorder-of-types.lagda.md
@@ -10,6 +10,7 @@ module
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.identity-types
open import foundation.mere-functions
diff --git a/src/foundation/idempotent-maps.lagda.md b/src/foundation/idempotent-maps.lagda.md
index 791fca96fa..3e0e0adf77 100644
--- a/src/foundation/idempotent-maps.lagda.md
+++ b/src/foundation/idempotent-maps.lagda.md
@@ -8,6 +8,7 @@ module foundation.idempotent-maps where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.homotopy-algebra
open import foundation.universe-levels
open import foundation.whiskering-homotopies-composition
diff --git a/src/foundation/identity-systems.lagda.md b/src/foundation/identity-systems.lagda.md
index 9f1f3c9ff0..f36c1352dd 100644
--- a/src/foundation/identity-systems.lagda.md
+++ b/src/foundation/identity-systems.lagda.md
@@ -9,17 +9,12 @@ module foundation.identity-systems where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
-open import foundation.function-extensionality
open import foundation.fundamental-theorem-of-identity-types
open import foundation.universe-levels
open import foundation-core.contractible-types
open import foundation-core.families-of-equivalences
-open import foundation-core.function-types
-open import foundation-core.functoriality-dependent-pair-types
open import foundation-core.identity-types
-open import foundation-core.propositions
-open import foundation-core.retractions
open import foundation-core.sections
open import foundation-core.torsorial-type-families
open import foundation-core.transport-along-identifications
diff --git a/src/foundation/identity-truncated-types.lagda.md b/src/foundation/identity-truncated-types.lagda.md
index 3da3145597..0201dea2e3 100644
--- a/src/foundation/identity-truncated-types.lagda.md
+++ b/src/foundation/identity-truncated-types.lagda.md
@@ -7,6 +7,7 @@ module foundation.identity-truncated-types where
Imports
```agda
+open import foundation.dependent-products-truncated-types
open import foundation.univalence
open import foundation.universe-levels
diff --git a/src/foundation/impredicative-encodings.lagda.md b/src/foundation/impredicative-encodings.lagda.md
index dbf1136729..fadc6aea05 100644
--- a/src/foundation/impredicative-encodings.lagda.md
+++ b/src/foundation/impredicative-encodings.lagda.md
@@ -9,6 +9,7 @@ module foundation.impredicative-encodings where
```agda
open import foundation.conjunction
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.disjunction
open import foundation.empty-types
open import foundation.existential-quantification
diff --git a/src/foundation/infinitely-coherent-equivalences.lagda.md b/src/foundation/infinitely-coherent-equivalences.lagda.md
index a650beffa9..0e9ecb5fd4 100644
--- a/src/foundation/infinitely-coherent-equivalences.lagda.md
+++ b/src/foundation/infinitely-coherent-equivalences.lagda.md
@@ -11,6 +11,7 @@ module foundation.infinitely-coherent-equivalences where
```agda
open import foundation.commuting-triangles-of-maps
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.homotopies
diff --git a/src/foundation/inhabited-types.lagda.md b/src/foundation/inhabited-types.lagda.md
index 93682e4ba5..06ef1fb332 100644
--- a/src/foundation/inhabited-types.lagda.md
+++ b/src/foundation/inhabited-types.lagda.md
@@ -7,11 +7,10 @@ module foundation.inhabited-types where
Imports
```agda
-open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equality-dependent-function-types
-open import foundation.function-extensionality
open import foundation.functoriality-propositional-truncation
open import foundation.fundamental-theorem-of-identity-types
open import foundation.propositional-truncations
@@ -20,7 +19,6 @@ open import foundation.univalence
open import foundation.universe-levels
open import foundation-core.equivalences
-open import foundation-core.homotopies
open import foundation-core.identity-types
open import foundation-core.propositions
open import foundation-core.torsorial-type-families
diff --git a/src/foundation/injective-maps.lagda.md b/src/foundation/injective-maps.lagda.md
index 8ab3913353..09640c54b1 100644
--- a/src/foundation/injective-maps.lagda.md
+++ b/src/foundation/injective-maps.lagda.md
@@ -9,10 +9,11 @@ open import foundation-core.injective-maps public
Imports
```agda
-open import foundation.action-on-identifications-dependent-functions
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.logical-equivalences
open import foundation.transport-along-identifications
open import foundation.universe-levels
diff --git a/src/foundation/intersections-subtypes.lagda.md b/src/foundation/intersections-subtypes.lagda.md
index 3ff9cc3f3b..776056c8e1 100644
--- a/src/foundation/intersections-subtypes.lagda.md
+++ b/src/foundation/intersections-subtypes.lagda.md
@@ -10,6 +10,7 @@ module foundation.intersections-subtypes where
open import foundation.conjunction
open import foundation.decidable-subtypes
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.large-locale-of-subtypes
open import foundation.powersets
open import foundation.universe-levels
diff --git a/src/foundation/inverse-sequential-diagrams.lagda.md b/src/foundation/inverse-sequential-diagrams.lagda.md
index 28053d466e..553548e870 100644
--- a/src/foundation/inverse-sequential-diagrams.lagda.md
+++ b/src/foundation/inverse-sequential-diagrams.lagda.md
@@ -11,6 +11,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.dependent-pair-types
open import foundation.iterating-functions
+open import foundation.raising-universe-levels-unit-type
open import foundation.unit-type
open import foundation.universe-levels
```
diff --git a/src/foundation/invertible-maps.lagda.md b/src/foundation/invertible-maps.lagda.md
index 47fb7cca31..3edb105808 100644
--- a/src/foundation/invertible-maps.lagda.md
+++ b/src/foundation/invertible-maps.lagda.md
@@ -12,6 +12,7 @@ open import foundation-core.invertible-maps public
open import foundation.action-on-identifications-functions
open import foundation.commuting-triangles-of-homotopies
open import foundation.dependent-pair-types
+open import foundation.dependent-products-truncated-types
open import foundation.equality-cartesian-product-types
open import foundation.equivalence-extensionality
open import foundation.equivalences
diff --git a/src/foundation/involutions.lagda.md b/src/foundation/involutions.lagda.md
index df78de65a1..8f2ad4d544 100644
--- a/src/foundation/involutions.lagda.md
+++ b/src/foundation/involutions.lagda.md
@@ -9,6 +9,7 @@ module foundation.involutions where
```agda
open import foundation.automorphisms
open import foundation.dependent-pair-types
+open import foundation.dependent-products-truncated-types
open import foundation.equivalence-extensionality
open import foundation.equivalences
open import foundation.function-extensionality
diff --git a/src/foundation/irrefutable-propositions.lagda.md b/src/foundation/irrefutable-propositions.lagda.md
index a6a0d7fcde..99ba2702aa 100644
--- a/src/foundation/irrefutable-propositions.lagda.md
+++ b/src/foundation/irrefutable-propositions.lagda.md
@@ -13,6 +13,8 @@ open import foundation.coproduct-types
open import foundation.decidable-propositions
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.double-negation
open import foundation.empty-types
open import foundation.function-types
diff --git a/src/foundation/isolated-elements.lagda.md b/src/foundation/isolated-elements.lagda.md
index ebf38b94f7..994d1a5448 100644
--- a/src/foundation/isolated-elements.lagda.md
+++ b/src/foundation/isolated-elements.lagda.md
@@ -14,11 +14,11 @@ open import foundation.decidable-equality
open import foundation.decidable-maps
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.fundamental-theorem-of-identity-types
open import foundation.identity-types
open import foundation.injective-maps
-open import foundation.maybe
open import foundation.negated-equality
open import foundation.negation
open import foundation.sets
@@ -34,6 +34,7 @@ open import foundation-core.equivalences
open import foundation-core.function-types
open import foundation-core.functoriality-dependent-pair-types
open import foundation-core.homotopies
+open import foundation-core.maybe
open import foundation-core.propositions
open import foundation-core.subtypes
open import foundation-core.torsorial-type-families
diff --git a/src/foundation/isomorphisms-of-sets.lagda.md b/src/foundation/isomorphisms-of-sets.lagda.md
index db721c44c7..c5f46ffa11 100644
--- a/src/foundation/isomorphisms-of-sets.lagda.md
+++ b/src/foundation/isomorphisms-of-sets.lagda.md
@@ -11,6 +11,7 @@ open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.equivalences
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.sets
open import foundation.universe-levels
diff --git a/src/foundation/iterated-cartesian-product-types.lagda.md b/src/foundation/iterated-cartesian-product-types.lagda.md
index ab1849056b..8a20d00913 100644
--- a/src/foundation/iterated-cartesian-product-types.lagda.md
+++ b/src/foundation/iterated-cartesian-product-types.lagda.md
@@ -15,6 +15,7 @@ open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.functoriality-cartesian-product-types
open import foundation.functoriality-dependent-function-types
+open import foundation.raising-universe-levels-unit-type
open import foundation.type-arithmetic-cartesian-product-types
open import foundation.type-arithmetic-dependent-function-types
open import foundation.unit-type
diff --git a/src/foundation/iterated-dependent-pair-types.lagda.md b/src/foundation/iterated-dependent-pair-types.lagda.md
index ee7b8b853f..cf0e985ca9 100644
--- a/src/foundation/iterated-dependent-pair-types.lagda.md
+++ b/src/foundation/iterated-dependent-pair-types.lagda.md
@@ -2,8 +2,6 @@
```agda
module foundation.iterated-dependent-pair-types where
-
-open import foundation.telescopes public
```
Imports
@@ -12,6 +10,7 @@ open import foundation.telescopes public
open import elementary-number-theory.natural-numbers
open import foundation.dependent-pair-types
+open import foundation.telescopes
open import foundation.universe-levels
open import foundation-core.cartesian-product-types
diff --git a/src/foundation/iterated-dependent-product-types.lagda.md b/src/foundation/iterated-dependent-product-types.lagda.md
index eb1217e03e..a5cada2333 100644
--- a/src/foundation/iterated-dependent-product-types.lagda.md
+++ b/src/foundation/iterated-dependent-product-types.lagda.md
@@ -2,8 +2,6 @@
```agda
module foundation.iterated-dependent-product-types where
-
-open import foundation.telescopes public
```
Imports
@@ -11,7 +9,11 @@ open import foundation.telescopes public
```agda
open import elementary-number-theory.natural-numbers
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
+open import foundation.dependent-products-truncated-types
open import foundation.implicit-function-types
+open import foundation.telescopes
open import foundation.universe-levels
open import foundation-core.contractible-types
diff --git a/src/foundation/iterating-families-of-maps.lagda.md b/src/foundation/iterating-families-of-maps.lagda.md
index 97b4fa1ce6..968976eaf1 100644
--- a/src/foundation/iterating-families-of-maps.lagda.md
+++ b/src/foundation/iterating-families-of-maps.lagda.md
@@ -7,30 +7,15 @@ module foundation.iterating-families-of-maps where
Imports
```agda
-open import elementary-number-theory.addition-natural-numbers
-open import elementary-number-theory.exponentiation-natural-numbers
-open import elementary-number-theory.multiplication-natural-numbers
-open import elementary-number-theory.multiplicative-monoid-of-natural-numbers
open import elementary-number-theory.natural-numbers
-open import foundation.action-on-higher-identifications-functions
-open import foundation.action-on-identifications-dependent-functions
open import foundation.action-on-identifications-functions
-open import foundation.dependent-homotopies
open import foundation.dependent-identifications
-open import foundation.dependent-pair-types
-open import foundation.function-extensionality
open import foundation.iterating-functions
open import foundation.transport-along-identifications
open import foundation.universe-levels
-open import foundation-core.commuting-squares-of-maps
-open import foundation-core.endomorphisms
-open import foundation-core.homotopies
open import foundation-core.identity-types
-open import foundation-core.sets
-
-open import group-theory.monoid-actions
```
diff --git a/src/foundation/iterating-functions.lagda.md b/src/foundation/iterating-functions.lagda.md
index 60dafe2242..7c6c17cdaf 100644
--- a/src/foundation/iterating-functions.lagda.md
+++ b/src/foundation/iterating-functions.lagda.md
@@ -17,6 +17,7 @@ open import foundation.action-on-higher-identifications-functions
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.universe-levels
open import foundation-core.commuting-squares-of-maps
diff --git a/src/foundation/large-apartness-relations.lagda.md b/src/foundation/large-apartness-relations.lagda.md
index 49844edacb..ca04529c9e 100644
--- a/src/foundation/large-apartness-relations.lagda.md
+++ b/src/foundation/large-apartness-relations.lagda.md
@@ -7,8 +7,7 @@ module foundation.large-apartness-relations where
Imports
```agda
-open import foundation.cartesian-product-types
-open import foundation.disjunction
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.large-binary-relations
open import foundation.negated-equality
diff --git a/src/foundation/large-binary-relations.lagda.md b/src/foundation/large-binary-relations.lagda.md
index 9077016804..2a4b155124 100644
--- a/src/foundation/large-binary-relations.lagda.md
+++ b/src/foundation/large-binary-relations.lagda.md
@@ -8,7 +8,6 @@ module foundation.large-binary-relations where
```agda
open import foundation.binary-relations
-open import foundation.coproduct-types
open import foundation.dependent-pair-types
open import foundation.disjunction
open import foundation.universe-levels
diff --git a/src/foundation/large-locale-of-propositions.lagda.md b/src/foundation/large-locale-of-propositions.lagda.md
index d5ef3ea50a..671ef5ad4b 100644
--- a/src/foundation/large-locale-of-propositions.lagda.md
+++ b/src/foundation/large-locale-of-propositions.lagda.md
@@ -8,6 +8,7 @@ module foundation.large-locale-of-propositions where
```agda
open import foundation.conjunction
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.existential-quantification
open import foundation.logical-equivalences
diff --git a/src/foundation/law-of-excluded-middle.lagda.md b/src/foundation/law-of-excluded-middle.lagda.md
index a633ea32d6..2a3935ebdc 100644
--- a/src/foundation/law-of-excluded-middle.lagda.md
+++ b/src/foundation/law-of-excluded-middle.lagda.md
@@ -9,6 +9,7 @@ module foundation.law-of-excluded-middle where
```agda
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.universe-levels
open import foundation-core.decidable-propositions
diff --git a/src/foundation/lawveres-fixed-point-theorem.lagda.md b/src/foundation/lawveres-fixed-point-theorem.lagda.md
index 5432486db4..603c14897d 100644
--- a/src/foundation/lawveres-fixed-point-theorem.lagda.md
+++ b/src/foundation/lawveres-fixed-point-theorem.lagda.md
@@ -9,7 +9,7 @@ module foundation.lawveres-fixed-point-theorem where
```agda
open import foundation.dependent-pair-types
open import foundation.existential-quantification
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.propositional-truncations
open import foundation.surjective-maps
open import foundation.universe-levels
diff --git a/src/foundation/lesser-limited-principle-of-omniscience.lagda.md b/src/foundation/lesser-limited-principle-of-omniscience.lagda.md
index 242c9b27b6..5c9d5e9e71 100644
--- a/src/foundation/lesser-limited-principle-of-omniscience.lagda.md
+++ b/src/foundation/lesser-limited-principle-of-omniscience.lagda.md
@@ -10,12 +10,13 @@ module foundation.lesser-limited-principle-of-omniscience where
open import elementary-number-theory.natural-numbers
open import elementary-number-theory.parity-natural-numbers
-open import foundation.booleans
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.disjunction
open import foundation.universal-quantification
open import foundation.universe-levels
+open import foundation-core.booleans
open import foundation-core.fibers-of-maps
open import foundation-core.propositions
open import foundation-core.sets
@@ -27,9 +28,9 @@ open import foundation-core.sets
The {{#concept "lesser limited principle of omniscience" Agda=LLPO}} (LLPO)
asserts that for any [sequence](foundation.sequences.md) of
-[booleans](foundation.booleans.md) `f : ℕ → bool` such that `f n` is true for
-[at most one](foundation-core.propositions.md) `n`, then either `f n` is false
-for all even `n` or `f n` is false for all odd `n`.
+[booleans](foundation-core.booleans.md) `f : ℕ → bool` such that `f n` is true
+for [at most one](foundation-core.propositions.md) `n`, then either `f n` is
+false for all even `n` or `f n` is false for all odd `n`.
```agda
prop-LLPO : Prop lzero
diff --git a/src/foundation/limited-principle-of-omniscience.lagda.md b/src/foundation/limited-principle-of-omniscience.lagda.md
index e66cea9ad0..58bfd6a8d7 100644
--- a/src/foundation/limited-principle-of-omniscience.lagda.md
+++ b/src/foundation/limited-principle-of-omniscience.lagda.md
@@ -9,15 +9,16 @@ module foundation.limited-principle-of-omniscience where
```agda
open import elementary-number-theory.natural-numbers
-open import foundation.booleans
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.disjunction
open import foundation.existential-quantification
open import foundation.negation
open import foundation.universal-quantification
open import foundation.universe-levels
+open import foundation-core.booleans
open import foundation-core.identity-types
open import foundation-core.propositions
open import foundation-core.sets
diff --git a/src/foundation/locale-of-propositions.lagda.md b/src/foundation/locale-of-propositions.lagda.md
index daef5de811..dd65321505 100644
--- a/src/foundation/locale-of-propositions.lagda.md
+++ b/src/foundation/locale-of-propositions.lagda.md
@@ -12,6 +12,7 @@ open import foundation.dependent-pair-types
open import foundation.existential-quantification
open import foundation.large-locale-of-propositions
open import foundation.logical-equivalences
+open import foundation.raising-universe-levels-unit-type
open import foundation.unit-type
open import foundation.universe-levels
diff --git a/src/foundation/locally-small-types.lagda.md b/src/foundation/locally-small-types.lagda.md
index d46bd2d4bb..2c54ced78e 100644
--- a/src/foundation/locally-small-types.lagda.md
+++ b/src/foundation/locally-small-types.lagda.md
@@ -8,6 +8,8 @@ module foundation.locally-small-types where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
+open import foundation.dependent-products-truncated-types
open import foundation.equivalences
open import foundation.function-extensionality
open import foundation.inhabited-subtypes
diff --git a/src/foundation/logical-equivalences.lagda.md b/src/foundation/logical-equivalences.lagda.md
index d806e1ca3d..7f76f93557 100644
--- a/src/foundation/logical-equivalences.lagda.md
+++ b/src/foundation/logical-equivalences.lagda.md
@@ -2,12 +2,15 @@
```agda
module foundation.logical-equivalences where
+
+open import foundation-core.logical-equivalences public
```
Imports
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equality-cartesian-product-types
open import foundation.equivalence-extensionality
open import foundation.function-extensionality
@@ -32,9 +35,9 @@ open import foundation-core.torsorial-type-families
## Idea
-{{#concept "Logical equivalences" Disambiguation="of types" Agda=iff}} between
-two types `A` and `B` consist of a map `A → B` and a map `B → A`. The type of
-logical equivalences between types is the
+{{#concept "Logical equivalences" Disambiguation="of types"}} between two types
+`A` and `B` consist of a map `A → B` and a map `B → A`. The type of logical
+equivalences between types is the
[Curry–Howard interpretation](https://en.wikipedia.org/wiki/Curry–Howard_correspondence)
of logical equivalences between [propositions](foundation-core.propositions.md).
@@ -43,16 +46,10 @@ of logical equivalences between [propositions](foundation-core.propositions.md).
### The structure on a map of being a logical equivalence
```agda
-module _
- {l1 l2 : Level} {A : UU l1} {B : UU l2}
- where
-
- has-converse : (A → B) → UU (l1 ⊔ l2)
- has-converse f = B → A
-
- is-prop-has-converse :
- is-prop A → (f : A → B) → is-prop (has-converse f)
- is-prop-has-converse is-prop-A f = is-prop-function-type is-prop-A
+is-prop-has-converse :
+ {l1 l2 : Level} {A : UU l1} {B : UU l2} →
+ is-prop A → (f : A → B) → is-prop (has-converse f)
+is-prop-has-converse is-prop-A f = is-prop-function-type is-prop-A
has-converse-Prop :
{l1 l2 : Level} (A : Prop l1) {B : UU l2} → (type-Prop A → B) → Prop (l1 ⊔ l2)
@@ -61,28 +58,6 @@ has-converse-Prop A f =
is-prop-has-converse (is-prop-type-Prop A) f)
```
-### Logical equivalences between types
-
-```agda
-iff : {l1 l2 : Level} → UU l1 → UU l2 → UU (l1 ⊔ l2)
-iff A B = Σ (A → B) has-converse
-
-infix 6 _↔_
-
-_↔_ : {l1 l2 : Level} → UU l1 → UU l2 → UU (l1 ⊔ l2)
-_↔_ = iff
-
-module _
- {l1 l2 : Level} {A : UU l1} {B : UU l2} (H : A ↔ B)
- where
-
- forward-implication : A → B
- forward-implication = pr1 H
-
- backward-implication : B → A
- backward-implication = pr2 H
-```
-
### Logical equivalences between propositions
```agda
@@ -109,34 +84,6 @@ module _
_⇔_ = iff-Prop
```
-### The identity logical equivalence
-
-```agda
-id-iff : {l1 : Level} {A : UU l1} → A ↔ A
-id-iff = (id , id)
-```
-
-### Composition of logical equivalences
-
-```agda
-infixr 15 _∘iff_
-
-_∘iff_ :
- {l1 l2 l3 : Level} {A : UU l1} {B : UU l2} {C : UU l3} →
- (B ↔ C) → (A ↔ B) → (A ↔ C)
-pr1 ((g1 , g2) ∘iff (f1 , f2)) = g1 ∘ f1
-pr2 ((g1 , g2) ∘iff (f1 , f2)) = f2 ∘ g2
-```
-
-### Inverting a logical equivalence
-
-```agda
-inv-iff :
- {l1 l2 : Level} {A : UU l1} {B : UU l2} → (A ↔ B) → (B ↔ A)
-pr1 (inv-iff (f , g)) = g
-pr2 (inv-iff (f , g)) = f
-```
-
## Properties
### Characterizing equality of logical equivalences
@@ -146,11 +93,6 @@ module _
{l1 l2 : Level} {A : UU l1} {B : UU l2}
where
- htpy-iff : (f g : A ↔ B) → UU (l1 ⊔ l2)
- htpy-iff f g =
- ( forward-implication f ~ forward-implication g) ×
- ( backward-implication f ~ backward-implication g)
-
ext-iff : (f g : A ↔ B) → (f = g) ≃ htpy-iff f g
ext-iff f g = equiv-product equiv-funext equiv-funext ∘e equiv-pair-eq f g
@@ -165,89 +107,6 @@ module _
eq-htpy-iff f g = map-inv-equiv (ext-iff f g)
```
-### Logical equivalences between propositions induce equivalences
-
-```agda
-module _
- {l1 l2 : Level} {A : UU l1} {B : UU l2}
- where
-
- abstract
- is-equiv-has-converse-is-prop :
- is-prop A → is-prop B → {f : A → B} → (B → A) → is-equiv f
- is-equiv-has-converse-is-prop is-prop-A is-prop-B {f} g =
- is-equiv-is-invertible
- ( g)
- ( λ y → eq-is-prop is-prop-B)
- ( λ x → eq-is-prop is-prop-A)
-
- abstract
- equiv-iff-is-prop : is-prop A → is-prop B → (A → B) → (B → A) → A ≃ B
- pr1 (equiv-iff-is-prop is-prop-A is-prop-B f g) = f
- pr2 (equiv-iff-is-prop is-prop-A is-prop-B f g) =
- is-equiv-has-converse-is-prop is-prop-A is-prop-B g
-
-module _
- {l1 l2 : Level} (P : Prop l1) (Q : Prop l2)
- where
-
- abstract
- is-equiv-has-converse :
- {f : type-Prop P → type-Prop Q} → (type-Prop Q → type-Prop P) → is-equiv f
- is-equiv-has-converse =
- is-equiv-has-converse-is-prop
- ( is-prop-type-Prop P)
- ( is-prop-type-Prop Q)
-
- equiv-iff' : type-Prop (P ⇔ Q) → (type-Prop P ≃ type-Prop Q)
- pr1 (equiv-iff' t) = forward-implication t
- pr2 (equiv-iff' t) =
- is-equiv-has-converse-is-prop
- ( is-prop-type-Prop P)
- ( is-prop-type-Prop Q)
- ( backward-implication t)
-
- equiv-iff :
- (type-Prop P → type-Prop Q) → (type-Prop Q → type-Prop P) →
- type-Prop P ≃ type-Prop Q
- equiv-iff f g = equiv-iff' (f , g)
-```
-
-### Equivalences are logical equivalences
-
-```agda
-iff-equiv : {l1 l2 : Level} {A : UU l1} {B : UU l2} → (A ≃ B) → (A ↔ B)
-pr1 (iff-equiv e) = map-equiv e
-pr2 (iff-equiv e) = map-inv-equiv e
-
-iff-equiv' : {l1 l2 : Level} {A : UU l1} {B : UU l2} → (A ≃ B) → (B ↔ A)
-pr1 (iff-equiv' e) = map-inv-equiv e
-pr2 (iff-equiv' e) = map-equiv e
-
-is-injective-iff-equiv :
- {l1 l2 : Level} {A : UU l1} {B : UU l2} → is-injective (iff-equiv {A = A} {B})
-is-injective-iff-equiv p = eq-htpy-equiv (pr1 (htpy-eq-iff p))
-
-compute-fiber-iff-equiv :
- {l1 l2 : Level} {A : UU l1} {B : UU l2} ((f , g) : A ↔ B) →
- fiber (iff-equiv) (f , g) ≃ Σ (is-equiv f) (λ f' → map-inv-is-equiv f' ~ g)
-compute-fiber-iff-equiv {A = A} {B} (f , g) =
- ( equiv-tot (λ _ → equiv-funext)) ∘e
- ( left-unit-law-Σ-is-contr (is-torsorial-Id' f) (f , refl)) ∘e
- ( inv-associative-Σ (A → B) (_= f) _) ∘e
- ( equiv-tot (λ _ → equiv-left-swap-Σ)) ∘e
- ( associative-Σ (A → B) _ _) ∘e
- ( equiv-tot (λ e → equiv-pair-eq (iff-equiv e) (f , g)))
-```
-
-### Two equal propositions are logically equivalent
-
-```agda
-iff-eq : {l1 : Level} {P Q : Prop l1} → P = Q → type-Prop (P ⇔ Q)
-pr1 (iff-eq refl) = id
-pr2 (iff-eq refl) = id
-```
-
### Logical equivalence of propositions is equivalent to equivalence of propositions
```agda
@@ -268,43 +127,12 @@ pr1 (equiv-equiv-iff P Q) = equiv-iff' P Q
pr2 (equiv-equiv-iff P Q) = is-equiv-equiv-iff P Q
```
-## Logical equivalences between dependent function types
-
-```agda
-module _
- {l1 l2 l3 : Level} {I : UU l1} {A : I → UU l2} {B : I → UU l3}
- where
-
- iff-Π-iff-family : ((i : I) → A i ↔ B i) → ((i : I) → A i) ↔ ((i : I) → B i)
- pr1 (iff-Π-iff-family e) a i = forward-implication (e i) (a i)
- pr2 (iff-Π-iff-family e) b i = backward-implication (e i) (b i)
-```
-
-## Reasoning with logical equivalences
-
-Logical equivalences can be constructed by equational reasoning in the following
-way:
-
-```text
-logical-equivalence-reasoning
- X ↔ Y by equiv-1
- ↔ Z by equiv-2
- ↔ V by equiv-3
-```
+### Equivalences are logical equivalences
```agda
-infixl 1 logical-equivalence-reasoning_
-infixl 0 step-logical-equivalence-reasoning
-
-logical-equivalence-reasoning_ :
- {l1 : Level} (X : UU l1) → X ↔ X
-pr1 (logical-equivalence-reasoning X) = id
-pr2 (logical-equivalence-reasoning X) = id
-
-step-logical-equivalence-reasoning :
- {l1 l2 l3 : Level} {X : UU l1} {Y : UU l2} →
- (X ↔ Y) → (Z : UU l3) → (Y ↔ Z) → (X ↔ Z)
-step-logical-equivalence-reasoning e Z f = f ∘iff e
-
-syntax step-logical-equivalence-reasoning e Z f = e ↔ Z by f
+compute-fiber-iff-equiv :
+ {l1 l2 : Level} {A : UU l1} {B : UU l2} ((f , g) : A ↔ B) →
+ fiber (iff-equiv) (f , g) ≃ Σ (is-equiv f) (λ f' → map-inv-is-equiv f' ~ g)
+compute-fiber-iff-equiv {A = A} {B} e =
+ equiv-tot (λ _ → equiv-funext) ∘e compute-fiber-iff-equiv' e
```
diff --git a/src/foundation/maps-in-global-subuniverses.lagda.md b/src/foundation/maps-in-global-subuniverses.lagda.md
index c3f263ac66..93a167a49c 100644
--- a/src/foundation/maps-in-global-subuniverses.lagda.md
+++ b/src/foundation/maps-in-global-subuniverses.lagda.md
@@ -9,6 +9,7 @@ module foundation.maps-in-global-subuniverses where
```agda
open import foundation.cartesian-morphisms-arrows
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.fibers-of-maps
open import foundation.functoriality-fibers-of-maps
open import foundation.global-subuniverses
diff --git a/src/foundation/maybe.lagda.md b/src/foundation/maybe.lagda.md
index eb0267724d..a7c8ed3e01 100644
--- a/src/foundation/maybe.lagda.md
+++ b/src/foundation/maybe.lagda.md
@@ -2,13 +2,14 @@
```agda
module foundation.maybe where
+
+open import foundation-core.maybe public
```
Imports
```agda
open import foundation.action-on-identifications-functions
-open import foundation.cartesian-product-types
open import foundation.coproduct-types
open import foundation.decidable-types
open import foundation.dependent-pair-types
@@ -22,13 +23,10 @@ open import foundation.universe-levels
open import foundation-core.embeddings
open import foundation-core.empty-types
-open import foundation-core.equivalences
open import foundation-core.identity-types
open import foundation-core.injective-maps
open import foundation-core.negation
open import foundation-core.propositions
-open import foundation-core.retractions
-open import foundation-core.sections
```
@@ -45,80 +43,6 @@ The maybe monad is an example of a monad that is not a
[modality](orthogonal-factorization-systems.higher-modalities.md), since it is
not [idempotent](foundation.idempotent-maps.md).
-## Definitions
-
-### The maybe monad
-
-```agda
-Maybe : {l : Level} → UU l → UU l
-Maybe X = X + unit
-
-unit-Maybe : {l : Level} {X : UU l} → X → Maybe X
-unit-Maybe = inl
-
-exception-Maybe : {l : Level} {X : UU l} → Maybe X
-exception-Maybe = inr star
-
-extend-Maybe :
- {l1 l2 : Level} {X : UU l1} {Y : UU l2} → (X → Maybe Y) → Maybe X → Maybe Y
-extend-Maybe f (inl x) = f x
-extend-Maybe f (inr *) = inr *
-
-map-Maybe :
- {l1 l2 : Level} {X : UU l1} {Y : UU l2} → (X → Y) → Maybe X → Maybe Y
-map-Maybe f (inl x) = inl (f x)
-map-Maybe f (inr *) = inr *
-```
-
-### The inductive definition of the maybe monad
-
-```agda
-data Maybe' {l : Level} (X : UU l) : UU l where
- unit-Maybe' : X → Maybe' X
- exception-Maybe' : Maybe' X
-
-{-# BUILTIN MAYBE Maybe' #-}
-```
-
-### The predicate of being an exception
-
-```agda
-is-exception-Maybe : {l : Level} {X : UU l} → Maybe X → UU l
-is-exception-Maybe {l} {X} x = (x = exception-Maybe)
-
-is-not-exception-Maybe : {l : Level} {X : UU l} → Maybe X → UU l
-is-not-exception-Maybe x = ¬ (is-exception-Maybe x)
-
-is-prop-is-exception-Maybe :
- {l : Level} {X : UU l} (x : Maybe X) → is-prop (is-exception-Maybe x)
-is-prop-is-exception-Maybe (inl x) ()
-is-prop-is-exception-Maybe (inr x) =
- is-prop-equiv (compute-eq-coproduct-inr-inr x star) (is-set-unit x star)
-```
-
-### The predicate of being a value
-
-```agda
-is-value-Maybe : {l : Level} {X : UU l} → Maybe X → UU l
-is-value-Maybe {l} {X} x = Σ X (λ y → inl y = x)
-
-value-is-value-Maybe :
- {l : Level} {X : UU l} (x : Maybe X) → is-value-Maybe x → X
-value-is-value-Maybe x = pr1
-
-eq-is-value-Maybe :
- {l : Level} {X : UU l} (x : Maybe X) (H : is-value-Maybe x) →
- inl (value-is-value-Maybe x H) = x
-eq-is-value-Maybe x H = pr2 H
-```
-
-### Maybe structure on a type
-
-```agda
-maybe-structure : {l1 : Level} (X : UU l1) → UU (lsuc l1)
-maybe-structure {l1} X = Σ (UU l1) (λ Y → Maybe Y ≃ X)
-```
-
## Properties
### The unit of `Maybe` is an embedding
@@ -157,47 +81,6 @@ module _
is-decidable-neg (is-decidable-is-exception-Maybe x)
```
-### The values of the unit of the `Maybe` monad are not exceptions
-
-```agda
-abstract
- is-not-exception-unit-Maybe :
- {l : Level} {X : UU l} (x : X) → is-not-exception-Maybe (unit-Maybe x)
- is-not-exception-unit-Maybe x ()
-```
-
-### The unit of `Maybe` is not surjective
-
-```agda
-abstract
- is-not-surjective-unit-Maybe :
- {l : Level} {X : UU l} → ¬ (is-surjective (unit-Maybe {X = X}))
- is-not-surjective-unit-Maybe H =
- rec-trunc-Prop empty-Prop
- ( λ p → is-not-exception-unit-Maybe (pr1 p) (pr2 p))
- ( H exception-Maybe)
-```
-
-### For any element of type `Maybe X` we can decide whether it is a value or an exception
-
-```agda
-decide-Maybe :
- {l : Level} {X : UU l} (x : Maybe X) → is-value-Maybe x + is-exception-Maybe x
-decide-Maybe (inl x) = inl (x , refl)
-decide-Maybe (inr star) = inr refl
-```
-
-### Values are not exceptions
-
-```agda
-abstract
- is-not-exception-is-value-Maybe :
- {l1 : Level} {X : UU l1} (x : Maybe X) →
- is-value-Maybe x → is-not-exception-Maybe x
- is-not-exception-is-value-Maybe {l1} {X} .(inl x) (x , refl) =
- is-not-exception-unit-Maybe x
-```
-
### If a point is not an exception, then it is a value
```agda
@@ -223,40 +106,16 @@ eq-is-not-exception-Maybe x H =
eq-is-value-Maybe x (is-value-is-not-exception-Maybe x H)
```
-### The two definitions of `Maybe` are equivalent
+### The unit of `Maybe` is not surjective
```agda
-module _
- {l1 l2 : Level} {X : UU l1}
- where
-
- map-Maybe-Maybe' : Maybe X → Maybe' X
- map-Maybe-Maybe' (inl x) = unit-Maybe' x
- map-Maybe-Maybe' (inr _) = exception-Maybe'
-
- map-inv-Maybe-Maybe' : Maybe' X → Maybe X
- map-inv-Maybe-Maybe' (unit-Maybe' x) = inl x
- map-inv-Maybe-Maybe' exception-Maybe' = inr star
-
- is-section-map-inv-Maybe-Maybe' :
- is-section map-Maybe-Maybe' map-inv-Maybe-Maybe'
- is-section-map-inv-Maybe-Maybe' (unit-Maybe' x) = refl
- is-section-map-inv-Maybe-Maybe' exception-Maybe' = refl
-
- is-retraction-map-inv-Maybe-Maybe' :
- is-retraction map-Maybe-Maybe' map-inv-Maybe-Maybe'
- is-retraction-map-inv-Maybe-Maybe' (inl x) = refl
- is-retraction-map-inv-Maybe-Maybe' (inr x) = refl
-
- is-equiv-map-Maybe-Maybe' : is-equiv map-Maybe-Maybe'
- is-equiv-map-Maybe-Maybe' =
- is-equiv-is-invertible
- ( map-inv-Maybe-Maybe')
- ( is-section-map-inv-Maybe-Maybe')
- ( is-retraction-map-inv-Maybe-Maybe')
-
- equiv-Maybe-Maybe' : Maybe X ≃ Maybe' X
- equiv-Maybe-Maybe' = (map-Maybe-Maybe' , is-equiv-map-Maybe-Maybe')
+abstract
+ is-not-surjective-unit-Maybe :
+ {l : Level} {X : UU l} → ¬ (is-surjective (unit-Maybe {X = X}))
+ is-not-surjective-unit-Maybe H =
+ rec-trunc-Prop empty-Prop
+ ( λ p → is-not-exception-unit-Maybe (pr1 p) (pr2 p))
+ ( H exception-Maybe)
```
### The extension of surjective maps is surjective
@@ -299,13 +158,8 @@ module _
{l1 l2 : Level} {A : UU l1} {B : UU l2}
where
- map-maybe-coproduct : Maybe A + Maybe B → Maybe (A + B)
- map-maybe-coproduct (inl (inl x)) = inl (inl x)
- map-maybe-coproduct (inl (inr star)) = inr star
- map-maybe-coproduct (inr (inl x)) = inl (inr x)
- map-maybe-coproduct (inr (inr star)) = inr star
-
- is-surjective-map-maybe-coproduct : is-surjective map-maybe-coproduct
+ is-surjective-map-maybe-coproduct :
+ is-surjective (map-maybe-coproduct {A = A} {B})
is-surjective-map-maybe-coproduct (inl (inl x)) =
unit-trunc-Prop ((inl (inl x)) , refl)
is-surjective-map-maybe-coproduct (inl (inr x)) =
@@ -321,13 +175,8 @@ module _
{l1 l2 : Level} {A : UU l1} {B : UU l2}
where
- map-maybe-product : Maybe A × Maybe B → Maybe (A × B)
- map-maybe-product (inl a , inl b) = inl (a , b)
- map-maybe-product (inl a , inr star) = inr star
- map-maybe-product (inr star , inl b) = inr star
- map-maybe-product (inr star , inr star) = inr star
-
- is-surjective-map-maybe-product : is-surjective map-maybe-product
+ is-surjective-map-maybe-product :
+ is-surjective (map-maybe-product {A = A} {B})
is-surjective-map-maybe-product (inl (a , b)) =
unit-trunc-Prop ((inl a , inl b) , refl)
is-surjective-map-maybe-product (inr star) =
diff --git a/src/foundation/mere-equivalences.lagda.md b/src/foundation/mere-equivalences.lagda.md
index 663c8f4d24..27fecbd0f1 100644
--- a/src/foundation/mere-equivalences.lagda.md
+++ b/src/foundation/mere-equivalences.lagda.md
@@ -9,6 +9,7 @@ module foundation.mere-equivalences where
```agda
open import foundation.binary-relations
open import foundation.decidable-equality
+open import foundation.dependent-products-truncated-types
open import foundation.functoriality-propositional-truncation
open import foundation.mere-equality
open import foundation.propositional-truncations
diff --git a/src/foundation/mere-path-cosplit-maps.lagda.md b/src/foundation/mere-path-cosplit-maps.lagda.md
index dd39c03112..5cd5644ffe 100644
--- a/src/foundation/mere-path-cosplit-maps.lagda.md
+++ b/src/foundation/mere-path-cosplit-maps.lagda.md
@@ -9,6 +9,7 @@ module foundation.mere-path-cosplit-maps where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences-arrows
open import foundation.inhabited-types
open import foundation.iterated-dependent-product-types
diff --git a/src/foundation/monomorphisms.lagda.md b/src/foundation/monomorphisms.lagda.md
index 1908560489..9fc0e6bd82 100644
--- a/src/foundation/monomorphisms.lagda.md
+++ b/src/foundation/monomorphisms.lagda.md
@@ -9,6 +9,7 @@ module foundation.monomorphisms where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.function-extensionality
open import foundation.functoriality-function-types
diff --git a/src/foundation/morphisms-coalgebras-maybe.lagda.md b/src/foundation/morphisms-coalgebras-maybe.lagda.md
index 356b8eba5b..41c03ed586 100644
--- a/src/foundation/morphisms-coalgebras-maybe.lagda.md
+++ b/src/foundation/morphisms-coalgebras-maybe.lagda.md
@@ -10,9 +10,10 @@ module foundation.morphisms-coalgebras-maybe where
open import foundation.coalgebras-maybe
open import foundation.commuting-squares-of-maps
open import foundation.dependent-pair-types
-open import foundation.maybe
open import foundation.universe-levels
+open import foundation-core.maybe
+
open import trees.polynomial-endofunctors
```
@@ -21,8 +22,8 @@ open import trees.polynomial-endofunctors
## Idea
Given two [coalgebras](foundation.coalgebras-maybe.md) of the
-[maybe monad](foundation.maybe.md) `η : X → Maybe X`, `η' : Y → Maybe Y`, then a
-map `f : X → Y` is a
+[maybe monad](foundation-core.maybe.md) `η : X → Maybe X`, `η' : Y → Maybe Y`,
+then a map `f : X → Y` is a
{{#concept "morphism of coalgebras" Disambiguation="of the maybe monad" Agda=hom-coalgebra-Maybe}}
if the square
diff --git a/src/foundation/morphisms-cospans.lagda.md b/src/foundation/morphisms-cospans.lagda.md
index b3cdf33eb6..4eade956fa 100644
--- a/src/foundation/morphisms-cospans.lagda.md
+++ b/src/foundation/morphisms-cospans.lagda.md
@@ -7,11 +7,11 @@ module foundation.morphisms-cospans where
Imports
```agda
-open import foundation.cartesian-product-types
open import foundation.cospans
open import foundation.dependent-pair-types
open import foundation.universe-levels
+open import foundation-core.cartesian-product-types
open import foundation-core.commuting-triangles-of-maps
```
diff --git a/src/foundation/morphisms-spans.lagda.md b/src/foundation/morphisms-spans.lagda.md
index 0632d4ed00..10cddfab98 100644
--- a/src/foundation/morphisms-spans.lagda.md
+++ b/src/foundation/morphisms-spans.lagda.md
@@ -12,9 +12,7 @@ open import foundation.spans
open import foundation.universe-levels
open import foundation-core.cartesian-product-types
-open import foundation-core.commuting-squares-of-maps
open import foundation-core.commuting-triangles-of-maps
-open import foundation-core.operations-spans
```
diff --git a/src/foundation/multivariable-homotopies.lagda.md b/src/foundation/multivariable-homotopies.lagda.md
index 01f1635bf5..3d3588b02c 100644
--- a/src/foundation/multivariable-homotopies.lagda.md
+++ b/src/foundation/multivariable-homotopies.lagda.md
@@ -2,8 +2,6 @@
```agda
module foundation.multivariable-homotopies where
-
-open import foundation.telescopes public
```
Imports
@@ -14,8 +12,10 @@ open import elementary-number-theory.natural-numbers
open import foundation.dependent-pair-types
open import foundation.equality-dependent-function-types
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.implicit-function-types
open import foundation.iterated-dependent-product-types
+open import foundation.telescopes
open import foundation.universe-levels
open import foundation-core.contractible-types
diff --git a/src/foundation/multivariable-operations.lagda.md b/src/foundation/multivariable-operations.lagda.md
index fe71b9e834..5da52c8b7a 100644
--- a/src/foundation/multivariable-operations.lagda.md
+++ b/src/foundation/multivariable-operations.lagda.md
@@ -12,7 +12,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.equality-cartesian-product-types
-open import foundation.raising-universe-levels
+open import foundation.raising-universe-levels-unit-type
open import foundation.unit-type
open import foundation.universe-levels
@@ -22,6 +22,7 @@ open import foundation-core.equivalences
open import foundation-core.function-types
open import foundation-core.homotopies
open import foundation-core.identity-types
+open import foundation-core.raising-universe-levels
open import linear-algebra.vectors
```
diff --git a/src/foundation/multivariable-sections.lagda.md b/src/foundation/multivariable-sections.lagda.md
index 08d12e5bd9..f3fd8820d7 100644
--- a/src/foundation/multivariable-sections.lagda.md
+++ b/src/foundation/multivariable-sections.lagda.md
@@ -2,8 +2,6 @@
```agda
module foundation.multivariable-sections where
-
-open import foundation.telescopes public
```
Imports
@@ -14,6 +12,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.dependent-pair-types
open import foundation.iterated-dependent-product-types
open import foundation.multivariable-homotopies
+open import foundation.telescopes
open import foundation.universe-levels
open import foundation-core.function-types
diff --git a/src/foundation/negated-equality.lagda.md b/src/foundation/negated-equality.lagda.md
index 96ad3cd6a1..6978557244 100644
--- a/src/foundation/negated-equality.lagda.md
+++ b/src/foundation/negated-equality.lagda.md
@@ -10,7 +10,7 @@ module foundation.negated-equality where
open import foundation.action-on-identifications-functions
open import foundation.binary-relations
open import foundation.dependent-pair-types
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.negation
open import foundation.universe-levels
diff --git a/src/foundation/negation.lagda.md b/src/foundation/negation.lagda.md
index 273c37d133..6e01b1d0a1 100644
--- a/src/foundation/negation.lagda.md
+++ b/src/foundation/negation.lagda.md
@@ -10,6 +10,7 @@ open import foundation-core.negation public
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.logical-equivalences
open import foundation.universe-levels
@@ -55,13 +56,6 @@ eq-neg : {l : Level} {A : UU l} {p q : ¬ A} → p = q
eq-neg = eq-is-prop is-prop-neg
```
-### Reductio ad absurdum
-
-```agda
-reductio-ad-absurdum : {l1 l2 : Level} {P : UU l1} {Q : UU l2} → P → ¬ P → Q
-reductio-ad-absurdum p np = ex-falso (np p)
-```
-
### Logically equivalent types have logically equivalent negations
```agda
@@ -91,11 +85,6 @@ module _
### Negation has no fixed points
```agda
-no-fixed-points-neg :
- {l : Level} (A : UU l) → ¬ (A ↔ ¬ A)
-no-fixed-points-neg A (f , g) =
- ( λ (h : ¬ A) → h (g h)) (λ (a : A) → f a a)
-
abstract
no-fixed-points-neg-Prop :
{l : Level} (P : Prop l) → ¬ (type-Prop P ↔ ¬ (type-Prop P))
diff --git a/src/foundation/null-homotopic-maps.lagda.md b/src/foundation/null-homotopic-maps.lagda.md
index 2500c019f4..6cc34e69b3 100644
--- a/src/foundation/null-homotopic-maps.lagda.md
+++ b/src/foundation/null-homotopic-maps.lagda.md
@@ -10,6 +10,7 @@ module foundation.null-homotopic-maps where
open import foundation.commuting-triangles-of-identifications
open import foundation.constant-maps
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.functoriality-dependent-pair-types
open import foundation.fundamental-theorem-of-identity-types
diff --git a/src/foundation/partitions.lagda.md b/src/foundation/partitions.lagda.md
index 11658b834b..ec8c78a019 100644
--- a/src/foundation/partitions.lagda.md
+++ b/src/foundation/partitions.lagda.md
@@ -11,6 +11,8 @@ open import foundation.action-on-identifications-functions
open import foundation.conjunction
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.existential-quantification
diff --git a/src/foundation/path-cosplit-maps.lagda.md b/src/foundation/path-cosplit-maps.lagda.md
index 6a4f96e2e3..cf0e458b12 100644
--- a/src/foundation/path-cosplit-maps.lagda.md
+++ b/src/foundation/path-cosplit-maps.lagda.md
@@ -13,6 +13,9 @@ open import foundation.action-on-identifications-functions
open import foundation.commuting-triangles-of-maps
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
+open import foundation.dependent-products-truncated-types
open import foundation.empty-types
open import foundation.equality-cartesian-product-types
open import foundation.equality-coproduct-types
diff --git a/src/foundation/path-split-maps.lagda.md b/src/foundation/path-split-maps.lagda.md
index 7c985434d4..28223aec36 100644
--- a/src/foundation/path-split-maps.lagda.md
+++ b/src/foundation/path-split-maps.lagda.md
@@ -13,6 +13,7 @@ open import foundation.dependent-pair-types
open import foundation.equivalences
open import foundation.iterated-dependent-product-types
open import foundation.logical-equivalences
+open import foundation.telescopes
open import foundation.universe-levels
open import foundation-core.contractible-types
diff --git a/src/foundation/path-split-type-families.lagda.md b/src/foundation/path-split-type-families.lagda.md
index 690d6d1a74..0aad6110c8 100644
--- a/src/foundation/path-split-type-families.lagda.md
+++ b/src/foundation/path-split-type-families.lagda.md
@@ -9,6 +9,7 @@ module foundation.path-split-type-families where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.embeddings
open import foundation.transport-along-identifications
open import foundation.universe-levels
diff --git a/src/foundation/perfect-images.lagda.md b/src/foundation/perfect-images.lagda.md
index 73b8c53e54..2a0569e866 100644
--- a/src/foundation/perfect-images.lagda.md
+++ b/src/foundation/perfect-images.lagda.md
@@ -18,6 +18,7 @@ open import foundation.iterating-functions
open import foundation.law-of-excluded-middle
open import foundation.negated-equality
open import foundation.negation
+open import foundation.telescopes
open import foundation.universe-levels
open import foundation-core.cartesian-product-types
diff --git a/src/foundation/pi-decompositions.lagda.md b/src/foundation/pi-decompositions.lagda.md
index 1d57a83088..dcbbb9f548 100644
--- a/src/foundation/pi-decompositions.lagda.md
+++ b/src/foundation/pi-decompositions.lagda.md
@@ -10,6 +10,7 @@ module foundation.pi-decompositions where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalence-extensionality
open import foundation.equivalences
open import foundation.functoriality-dependent-function-types
diff --git a/src/foundation/pointed-torsorial-type-families.lagda.md b/src/foundation/pointed-torsorial-type-families.lagda.md
index 247b60ec3a..ac06797f4c 100644
--- a/src/foundation/pointed-torsorial-type-families.lagda.md
+++ b/src/foundation/pointed-torsorial-type-families.lagda.md
@@ -9,6 +9,7 @@ module foundation.pointed-torsorial-type-families where
```agda
open import foundation.0-connected-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.fundamental-theorem-of-identity-types
open import foundation.locally-small-types
diff --git a/src/foundation/postcomposition-dependent-functions.lagda.md b/src/foundation/postcomposition-dependent-functions.lagda.md
index af9cd90fde..f01cde3833 100644
--- a/src/foundation/postcomposition-dependent-functions.lagda.md
+++ b/src/foundation/postcomposition-dependent-functions.lagda.md
@@ -11,11 +11,11 @@ open import foundation-core.postcomposition-dependent-functions public
```agda
open import foundation.action-on-identifications-functions
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.universe-levels
open import foundation.whiskering-homotopies-composition
open import foundation-core.commuting-squares-of-maps
-open import foundation-core.function-types
open import foundation-core.identity-types
```
diff --git a/src/foundation/postcomposition-functions.lagda.md b/src/foundation/postcomposition-functions.lagda.md
index 2799d76ae4..247b3d1eb1 100644
--- a/src/foundation/postcomposition-functions.lagda.md
+++ b/src/foundation/postcomposition-functions.lagda.md
@@ -12,6 +12,7 @@ open import foundation-core.postcomposition-functions public
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.postcomposition-dependent-functions
open import foundation.universe-levels
open import foundation.whiskering-homotopies-composition
diff --git a/src/foundation/postcomposition-pullbacks.lagda.md b/src/foundation/postcomposition-pullbacks.lagda.md
index b24c28bb74..7b3dc4fee2 100644
--- a/src/foundation/postcomposition-pullbacks.lagda.md
+++ b/src/foundation/postcomposition-pullbacks.lagda.md
@@ -10,6 +10,7 @@ module foundation.postcomposition-pullbacks where
open import foundation.cones-over-cospan-diagrams
open import foundation.dependent-pair-types
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.identity-types
open import foundation.standard-pullbacks
open import foundation.universe-levels
@@ -20,7 +21,6 @@ open import foundation-core.equality-dependent-pair-types
open import foundation-core.equivalences
open import foundation-core.function-types
open import foundation-core.functoriality-dependent-pair-types
-open import foundation-core.homotopies
open import foundation-core.postcomposition-functions
open import foundation-core.pullbacks
open import foundation-core.universal-property-pullbacks
diff --git a/src/foundation/powersets.lagda.md b/src/foundation/powersets.lagda.md
index b375489232..0823ad893f 100644
--- a/src/foundation/powersets.lagda.md
+++ b/src/foundation/powersets.lagda.md
@@ -8,12 +8,13 @@ module foundation.powersets where
```agda
open import foundation.dependent-pair-types
-open import foundation.embeddings
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.identity-types
open import foundation.large-locale-of-propositions
open import foundation.logical-equivalences
open import foundation.propositions
+open import foundation.raising-universe-levels-unit-type
open import foundation.subtypes
open import foundation.unit-type
open import foundation.universe-levels
@@ -30,9 +31,6 @@ open import order-theory.large-meet-semilattices
open import order-theory.large-posets
open import order-theory.large-preorders
open import order-theory.large-suplattices
-open import order-theory.meet-semilattices
-open import order-theory.order-preserving-maps-large-posets
-open import order-theory.order-preserving-maps-large-preorders
open import order-theory.posets
open import order-theory.preorders
open import order-theory.similarity-of-elements-large-posets
diff --git a/src/foundation/precomposition-dependent-functions.lagda.md b/src/foundation/precomposition-dependent-functions.lagda.md
index fef97c901d..f7a092edc9 100644
--- a/src/foundation/precomposition-dependent-functions.lagda.md
+++ b/src/foundation/precomposition-dependent-functions.lagda.md
@@ -13,6 +13,7 @@ open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.dependent-universal-property-equivalences
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.universe-levels
open import foundation-core.commuting-squares-of-maps
diff --git a/src/foundation/precomposition-functions-into-subuniverses.lagda.md b/src/foundation/precomposition-functions-into-subuniverses.lagda.md
index 8e0a567f55..c6dcd9527c 100644
--- a/src/foundation/precomposition-functions-into-subuniverses.lagda.md
+++ b/src/foundation/precomposition-functions-into-subuniverses.lagda.md
@@ -9,7 +9,7 @@ module foundation.precomposition-functions-into-subuniverses where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.precomposition-functions
open import foundation.universe-levels
@@ -17,7 +17,6 @@ open import foundation-core.contractible-maps
open import foundation-core.contractible-types
open import foundation-core.equivalences
open import foundation-core.function-types
-open import foundation-core.homotopies
open import foundation-core.identity-types
open import foundation-core.propositions
open import foundation-core.retractions
diff --git a/src/foundation/precomposition-functions.lagda.md b/src/foundation/precomposition-functions.lagda.md
index 9e48f70cfd..c8216b79b9 100644
--- a/src/foundation/precomposition-functions.lagda.md
+++ b/src/foundation/precomposition-functions.lagda.md
@@ -12,6 +12,7 @@ open import foundation-core.precomposition-functions public
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.precomposition-dependent-functions
open import foundation.sections
open import foundation.universe-levels
diff --git a/src/foundation/principle-of-omniscience.lagda.md b/src/foundation/principle-of-omniscience.lagda.md
index cf03f741b2..6b5ce7a3d1 100644
--- a/src/foundation/principle-of-omniscience.lagda.md
+++ b/src/foundation/principle-of-omniscience.lagda.md
@@ -8,6 +8,7 @@ module foundation.principle-of-omniscience where
```agda
open import foundation.decidable-subtypes
+open import foundation.dependent-products-propositions
open import foundation.propositional-truncations
open import foundation.universe-levels
diff --git a/src/foundation/product-decompositions-subuniverse.lagda.md b/src/foundation/product-decompositions-subuniverse.lagda.md
index 8b340ce9dd..cb4513fe87 100644
--- a/src/foundation/product-decompositions-subuniverse.lagda.md
+++ b/src/foundation/product-decompositions-subuniverse.lagda.md
@@ -9,7 +9,10 @@ module foundation.product-decompositions-subuniverse where
```agda
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
+open import foundation.raising-universe-levels-unit-type
open import foundation.subuniverses
open import foundation.type-arithmetic-cartesian-product-types
open import foundation.type-arithmetic-dependent-pair-types
diff --git a/src/foundation/propositional-extensionality.lagda.md b/src/foundation/propositional-extensionality.lagda.md
index a92f6d6176..cbe65e5a9e 100644
--- a/src/foundation/propositional-extensionality.lagda.md
+++ b/src/foundation/propositional-extensionality.lagda.md
@@ -8,12 +8,14 @@ module foundation.propositional-extensionality where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.fundamental-theorem-of-identity-types
open import foundation.logical-equivalences
open import foundation.negation
open import foundation.postcomposition-functions
-open import foundation.raising-universe-levels
+open import foundation.raising-universe-levels-unit-type
open import foundation.subtype-identity-principle
open import foundation.transport-along-identifications
open import foundation.type-arithmetic-cartesian-product-types
@@ -29,6 +31,7 @@ open import foundation-core.equivalences
open import foundation-core.functoriality-dependent-pair-types
open import foundation-core.identity-types
open import foundation-core.propositions
+open import foundation-core.raising-universe-levels
open import foundation-core.sets
open import foundation-core.torsorial-type-families
```
diff --git a/src/foundation/propositional-maps.lagda.md b/src/foundation/propositional-maps.lagda.md
index 39115738b7..00de80bd25 100644
--- a/src/foundation/propositional-maps.lagda.md
+++ b/src/foundation/propositional-maps.lagda.md
@@ -10,6 +10,7 @@ open import foundation-core.propositional-maps public
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.logical-equivalences
open import foundation.truncated-maps
diff --git a/src/foundation/propositional-resizing.lagda.md b/src/foundation/propositional-resizing.lagda.md
index 4abe732a36..22cb73035d 100644
--- a/src/foundation/propositional-resizing.lagda.md
+++ b/src/foundation/propositional-resizing.lagda.md
@@ -8,6 +8,7 @@ module foundation.propositional-resizing where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.universe-levels
open import foundation-core.equivalences
diff --git a/src/foundation/propositional-truncations.lagda.md b/src/foundation/propositional-truncations.lagda.md
index 2ae3713137..c9ae9be7fc 100644
--- a/src/foundation/propositional-truncations.lagda.md
+++ b/src/foundation/propositional-truncations.lagda.md
@@ -9,6 +9,7 @@ module foundation.propositional-truncations where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.functoriality-cartesian-product-types
open import foundation.logical-equivalences
open import foundation.propositions
diff --git a/src/foundation/propositions.lagda.md b/src/foundation/propositions.lagda.md
index e4bf1eb773..35cb7fef2d 100644
--- a/src/foundation/propositions.lagda.md
+++ b/src/foundation/propositions.lagda.md
@@ -11,6 +11,8 @@ open import foundation-core.propositions public
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.fibers-of-maps
open import foundation.logical-equivalences
open import foundation.retracts-of-types
diff --git a/src/foundation/pullback-cones.lagda.md b/src/foundation/pullback-cones.lagda.md
index f35b29848d..5a098e4403 100644
--- a/src/foundation/pullback-cones.lagda.md
+++ b/src/foundation/pullback-cones.lagda.md
@@ -7,37 +7,23 @@ module foundation.pullback-cones where
Imports
```agda
-open import foundation.action-on-identifications-functions
open import foundation.cartesian-product-types
open import foundation.cones-over-cospan-diagrams
open import foundation.cospan-diagrams
open import foundation.dependent-pair-types
-open import foundation.dependent-universal-property-equivalences
-open import foundation.function-extensionality
-open import foundation.fundamental-theorem-of-identity-types
-open import foundation.homotopies
-open import foundation.homotopy-induction
open import foundation.identity-types
-open import foundation.multivariable-homotopies
open import foundation.pullbacks
open import foundation.standard-pullbacks
-open import foundation.structure-identity-principle
open import foundation.unit-type
open import foundation.universal-property-cartesian-product-types
open import foundation.universe-levels
-open import foundation.whiskering-homotopies-composition
open import foundation-core.commuting-squares-of-maps
-open import foundation-core.contractible-types
open import foundation-core.equivalences
open import foundation-core.function-types
-open import foundation-core.functoriality-dependent-pair-types
open import foundation-core.retractions
open import foundation-core.sections
-open import foundation-core.torsorial-type-families
-open import foundation-core.transport-along-identifications
open import foundation-core.universal-property-pullbacks
-open import foundation-core.whiskering-identifications-concatenation
```
diff --git a/src/foundation/pullbacks.lagda.md b/src/foundation/pullbacks.lagda.md
index aa710ea8cd..db2de5b6a1 100644
--- a/src/foundation/pullbacks.lagda.md
+++ b/src/foundation/pullbacks.lagda.md
@@ -17,31 +17,22 @@ open import foundation.dependent-pair-types
open import foundation.dependent-sums-pullbacks
open import foundation.descent-equivalences
open import foundation.equality-cartesian-product-types
-open import foundation.equivalence-extensionality
open import foundation.equivalences
open import foundation.function-extensionality
-open import foundation.functoriality-coproduct-types
-open import foundation.functoriality-function-types
+open import foundation.function-extensionality-axiom
open import foundation.standard-pullbacks
open import foundation.subtypes
open import foundation.unit-type
open import foundation.universe-levels
open import foundation.whiskering-homotopies-composition
-open import foundation-core.cartesian-product-types
-open import foundation-core.constant-maps
open import foundation-core.contractible-types
-open import foundation-core.diagonal-maps-cartesian-products-of-types
open import foundation-core.equality-dependent-pair-types
open import foundation-core.function-types
-open import foundation-core.functoriality-dependent-function-types
open import foundation-core.functoriality-dependent-pair-types
open import foundation-core.homotopies
open import foundation-core.identity-types
-open import foundation-core.postcomposition-functions
open import foundation-core.propositions
-open import foundation-core.retractions
-open import foundation-core.sections
open import foundation-core.torsorial-type-families
open import foundation-core.transport-along-identifications
open import foundation-core.whiskering-identifications-concatenation
diff --git a/src/foundation/quasicoherently-idempotent-maps.lagda.md b/src/foundation/quasicoherently-idempotent-maps.lagda.md
index bec945c76a..0cda3d0440 100644
--- a/src/foundation/quasicoherently-idempotent-maps.lagda.md
+++ b/src/foundation/quasicoherently-idempotent-maps.lagda.md
@@ -11,6 +11,7 @@ open import foundation.1-types
open import foundation.action-on-identifications-functions
open import foundation.commuting-squares-of-homotopies
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equality-dependent-pair-types
open import foundation.fundamental-theorem-of-identity-types
open import foundation.homotopy-algebra
diff --git a/src/foundation/raising-universe-levels-booleans.lagda.md b/src/foundation/raising-universe-levels-booleans.lagda.md
new file mode 100644
index 0000000000..3b47e71463
--- /dev/null
+++ b/src/foundation/raising-universe-levels-booleans.lagda.md
@@ -0,0 +1,41 @@
+# Raising universe levels of the booleans
+
+```agda
+module foundation.raising-universe-levels-booleans where
+```
+
+Imports
+
+```agda
+open import foundation.universe-levels
+
+open import foundation-core.booleans
+open import foundation-core.equivalences
+open import foundation-core.raising-universe-levels
+```
+
+
+
+## Idea
+
+We can [raise](foundation.raising-universe-levels.md) the type of
+[booleans](foundation-core.booleans.md) to any
+[universe](foundation.universe-levels.md).
+
+## Definition
+
+### Raising universe levels of the booleans
+
+```agda
+raise-bool : (l : Level) → UU l
+raise-bool l = raise l bool
+
+raise-true : (l : Level) → raise-bool l
+raise-true l = map-raise true
+
+raise-false : (l : Level) → raise-bool l
+raise-false l = map-raise false
+
+compute-raise-bool : (l : Level) → bool ≃ raise-bool l
+compute-raise-bool l = compute-raise l bool
+```
diff --git a/src/foundation/raising-universe-levels-unit-type.lagda.md b/src/foundation/raising-universe-levels-unit-type.lagda.md
new file mode 100644
index 0000000000..403eb843ca
--- /dev/null
+++ b/src/foundation/raising-universe-levels-unit-type.lagda.md
@@ -0,0 +1,123 @@
+# Raising universe levels for the unit type
+
+```agda
+module foundation.raising-universe-levels-unit-type where
+```
+
+Imports
+
+```agda
+open import foundation.action-on-identifications-functions
+open import foundation.dependent-pair-types
+open import foundation.unit-type
+open import foundation.universe-levels
+
+open import foundation-core.constant-maps
+open import foundation-core.contractible-types
+open import foundation-core.equivalences
+open import foundation-core.identity-types
+open import foundation-core.propositions
+open import foundation-core.raising-universe-levels
+open import foundation-core.retractions
+open import foundation-core.sets
+open import foundation-core.truncated-types
+open import foundation-core.truncation-levels
+```
+
+
+
+## Idea
+
+We can [raise](foundation.raising-universe-levels.md) the type of
+[booleans](foundation-core.booleans.md) to any
+[universe](foundation.universe-levels.md).
+
+## Definition
+
+### Raising the universe level of the unit type
+
+```agda
+raise-unit : (l : Level) → UU l
+raise-unit l = raise l unit
+
+raise-star : {l : Level} → raise l unit
+raise-star = map-raise star
+
+raise-terminal-map : {l1 l2 : Level} (A : UU l1) → A → raise-unit l2
+raise-terminal-map {l2 = l2} A = const A raise-star
+
+compute-raise-unit : (l : Level) → unit ≃ raise-unit l
+compute-raise-unit l = compute-raise l unit
+
+inv-compute-raise-unit : (l : Level) → raise-unit l ≃ unit
+inv-compute-raise-unit l = inv-compute-raise l unit
+```
+
+## Properties
+
+### The raised unit type is contractible
+
+```agda
+abstract
+ is-contr-raise-unit : {l1 : Level} → is-contr (raise-unit l1)
+ is-contr-raise-unit {l1} =
+ is-contr-equiv' unit (compute-raise l1 unit) is-contr-unit
+```
+
+### Any contractible type is equivalent to the raised unit type
+
+```agda
+module _
+ {l1 l2 : Level} {A : UU l1}
+ where
+
+ is-equiv-raise-terminal-map-is-contr :
+ is-contr A → is-equiv (raise-terminal-map {l2 = l2} A)
+ is-equiv-raise-terminal-map-is-contr H =
+ is-equiv-is-invertible
+ ( λ _ → center H)
+ ( λ where (map-raise x) → refl)
+ ( contraction H)
+
+ equiv-raise-unit-is-contr : is-contr A → A ≃ raise-unit l2
+ equiv-raise-unit-is-contr H =
+ raise-terminal-map A , is-equiv-raise-terminal-map-is-contr H
+
+ is-contr-retraction-raise-terminal-map :
+ retraction (raise-terminal-map {l2 = l2} A) → is-contr A
+ is-contr-retraction-raise-terminal-map (h , H) = h raise-star , H
+
+ is-contr-is-equiv-raise-terminal-map :
+ is-equiv (raise-terminal-map {l2 = l2} A) → is-contr A
+ is-contr-is-equiv-raise-terminal-map H =
+ is-contr-retraction-raise-terminal-map (retraction-is-equiv H)
+
+ is-contr-equiv-raise-unit : A ≃ raise-unit l2 → is-contr A
+ is-contr-equiv-raise-unit e =
+ ( map-inv-equiv e raise-star) ,
+ ( λ x →
+ ap (map-inv-equiv e) (eq-is-contr is-contr-raise-unit) ∙
+ is-retraction-map-inv-equiv e x)
+```
+
+### The raised unit type is a proposition
+
+```agda
+abstract
+ is-prop-raise-unit : {l1 : Level} → is-prop (raise-unit l1)
+ is-prop-raise-unit {l1} = is-prop-equiv' (compute-raise l1 unit) is-prop-unit
+
+raise-unit-Prop : (l1 : Level) → Prop l1
+raise-unit-Prop l1 = raise-unit l1 , is-prop-raise-unit
+```
+
+### The raised unit type is a set
+
+```agda
+abstract
+ is-set-raise-unit : {l1 : Level} → is-set (raise-unit l1)
+ is-set-raise-unit = is-trunc-succ-is-trunc neg-one-𝕋 is-prop-raise-unit
+
+raise-unit-Set : (l1 : Level) → Set l1
+raise-unit-Set l1 = raise-unit l1 , is-set-raise-unit
+```
diff --git a/src/foundation/raising-universe-levels.lagda.md b/src/foundation/raising-universe-levels.lagda.md
index 81c3676716..f2dc4d44aa 100644
--- a/src/foundation/raising-universe-levels.lagda.md
+++ b/src/foundation/raising-universe-levels.lagda.md
@@ -2,6 +2,8 @@
```agda
module foundation.raising-universe-levels where
+
+open import foundation-core.raising-universe-levels public
```
Imports
@@ -33,118 +35,17 @@ In Agda, types have a designated universe levels, and universes in Agda don't
overlap. Using `data` types we can construct for any type `A` of universe level
`l` an equivalent type in any higher universe.
-## Definition
-
-```agda
-data raise (l : Level) {l1 : Level} (A : UU l1) : UU (l1 ⊔ l) where
- map-raise : A → raise l A
-
-data raiseω {l1 : Level} (A : UU l1) : UUω where
- map-raiseω : A → raiseω A
-```
-
## Properties
-### Types are equivalent to their raised equivalents
-
-```agda
-module _
- {l l1 : Level} {A : UU l1}
- where
-
- map-inv-raise : raise l A → A
- map-inv-raise (map-raise x) = x
-
- is-section-map-inv-raise : (map-raise ∘ map-inv-raise) ~ id
- is-section-map-inv-raise (map-raise x) = refl
-
- is-retraction-map-inv-raise : (map-inv-raise ∘ map-raise) ~ id
- is-retraction-map-inv-raise x = refl
-
- is-equiv-map-raise : is-equiv (map-raise {l} {l1} {A})
- is-equiv-map-raise =
- is-equiv-is-invertible
- map-inv-raise
- is-section-map-inv-raise
- is-retraction-map-inv-raise
-
-compute-raise : (l : Level) {l1 : Level} (A : UU l1) → A ≃ raise l A
-pr1 (compute-raise l A) = map-raise
-pr2 (compute-raise l A) = is-equiv-map-raise
-
-inv-compute-raise : (l : Level) {l1 : Level} (A : UU l1) → raise l A ≃ A
-inv-compute-raise l A = inv-equiv (compute-raise l A)
-
-Raise : (l : Level) {l1 : Level} (A : UU l1) → Σ (UU (l1 ⊔ l)) (λ X → A ≃ X)
-pr1 (Raise l A) = raise l A
-pr2 (Raise l A) = compute-raise l A
-```
-
-### Raising universe levels of propositions
-
-```agda
-raise-Prop : (l : Level) {l1 : Level} → Prop l1 → Prop (l ⊔ l1)
-pr1 (raise-Prop l P) = raise l (type-Prop P)
-pr2 (raise-Prop l P) =
- is-prop-equiv' (compute-raise l (type-Prop P)) (is-prop-type-Prop P)
-```
-
-### Raising universe levels of sets
-
-```agda
-raise-Set : (l : Level) {l1 : Level} → Set l1 → Set (l ⊔ l1)
-pr1 (raise-Set l A) = raise l (type-Set A)
-pr2 (raise-Set l A) =
- is-set-equiv' (type-Set A) (compute-raise l (type-Set A)) (is-set-type-Set A)
-```
-
### Raising universe levels of subtypes
```agda
raise-subtype :
- (l : Level) →
- {l1 l2 : Level} →
- {A : UU l1} →
- subtype l2 A →
- subtype (l2 ⊔ l) A
+ (l : Level) {l1 l2 : Level} {A : UU l1} →
+ subtype l2 A → subtype (l2 ⊔ l) A
raise-subtype l B x = raise-Prop l (B x)
```
-### Raising equivalent types
-
-```agda
-module _
- {l1 l2 : Level} (l3 l4 : Level) {A : UU l1} {B : UU l2} (e : A ≃ B)
- where
-
- map-equiv-raise : raise l3 A → raise l4 B
- map-equiv-raise (map-raise x) = map-raise (map-equiv e x)
-
- map-inv-equiv-raise : raise l4 B → raise l3 A
- map-inv-equiv-raise (map-raise y) = map-raise (map-inv-equiv e y)
-
- is-section-map-inv-equiv-raise :
- ( map-equiv-raise ∘ map-inv-equiv-raise) ~ id
- is-section-map-inv-equiv-raise (map-raise y) =
- ap map-raise (is-section-map-inv-equiv e y)
-
- is-retraction-map-inv-equiv-raise :
- ( map-inv-equiv-raise ∘ map-equiv-raise) ~ id
- is-retraction-map-inv-equiv-raise (map-raise x) =
- ap map-raise (is-retraction-map-inv-equiv e x)
-
- is-equiv-map-equiv-raise : is-equiv map-equiv-raise
- is-equiv-map-equiv-raise =
- is-equiv-is-invertible
- map-inv-equiv-raise
- is-section-map-inv-equiv-raise
- is-retraction-map-inv-equiv-raise
-
- equiv-raise : raise l3 A ≃ raise l4 B
- pr1 equiv-raise = map-equiv-raise
- pr2 equiv-raise = is-equiv-map-equiv-raise
-```
-
### Raising universe levels from `l1` to `l ⊔ l1` is an embedding from `UU l1` to `UU (l ⊔ l1)`
```agda
diff --git a/src/foundation/reflecting-maps-equivalence-relations.lagda.md b/src/foundation/reflecting-maps-equivalence-relations.lagda.md
index e3ff095700..dda9020f8c 100644
--- a/src/foundation/reflecting-maps-equivalence-relations.lagda.md
+++ b/src/foundation/reflecting-maps-equivalence-relations.lagda.md
@@ -8,6 +8,7 @@ module foundation.reflecting-maps-equivalence-relations where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.effective-maps-equivalence-relations
open import foundation.fundamental-theorem-of-identity-types
open import foundation.homotopy-induction
diff --git a/src/foundation/regensburg-extension-fundamental-theorem-of-identity-types.lagda.md b/src/foundation/regensburg-extension-fundamental-theorem-of-identity-types.lagda.md
index c830446ce5..0c385b41dd 100644
--- a/src/foundation/regensburg-extension-fundamental-theorem-of-identity-types.lagda.md
+++ b/src/foundation/regensburg-extension-fundamental-theorem-of-identity-types.lagda.md
@@ -13,6 +13,7 @@ open import foundation.0-connected-types
open import foundation.connected-maps
open import foundation.connected-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-truncated-types
open import foundation.equivalences
open import foundation.fiber-inclusions
open import foundation.fibers-of-maps
diff --git a/src/foundation/relaxed-sigma-decompositions.lagda.md b/src/foundation/relaxed-sigma-decompositions.lagda.md
index 521c531132..9280f10597 100644
--- a/src/foundation/relaxed-sigma-decompositions.lagda.md
+++ b/src/foundation/relaxed-sigma-decompositions.lagda.md
@@ -11,6 +11,7 @@ module foundation.relaxed-sigma-decompositions where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalence-extensionality
open import foundation.equivalences
open import foundation.fundamental-theorem-of-identity-types
diff --git a/src/foundation/retractions.lagda.md b/src/foundation/retractions.lagda.md
index cf513e7240..afabb0426b 100644
--- a/src/foundation/retractions.lagda.md
+++ b/src/foundation/retractions.lagda.md
@@ -12,6 +12,7 @@ open import foundation-core.retractions public
open import foundation.action-on-identifications-functions
open import foundation.coslice
open import foundation.dependent-pair-types
+open import foundation.dependent-products-truncated-types
open import foundation.universe-levels
open import foundation.whiskering-homotopies-composition
diff --git a/src/foundation/retracts-of-maps.lagda.md b/src/foundation/retracts-of-maps.lagda.md
index bf904c18bc..4a6ba64557 100644
--- a/src/foundation/retracts-of-maps.lagda.md
+++ b/src/foundation/retracts-of-maps.lagda.md
@@ -19,6 +19,7 @@ open import foundation.homotopy-algebra
open import foundation.morphisms-arrows
open import foundation.postcomposition-functions
open import foundation.precomposition-functions
+open import foundation.retracts-of-types
open import foundation.universe-levels
open import foundation.whiskering-homotopies-composition
@@ -30,7 +31,6 @@ open import foundation-core.function-types
open import foundation-core.homotopies
open import foundation-core.identity-types
open import foundation-core.retractions
-open import foundation-core.retracts-of-types
open import foundation-core.sections
```
diff --git a/src/foundation/retracts-of-types.lagda.md b/src/foundation/retracts-of-types.lagda.md
index 56c7476a61..e180da55c5 100644
--- a/src/foundation/retracts-of-types.lagda.md
+++ b/src/foundation/retracts-of-types.lagda.md
@@ -11,6 +11,7 @@ open import foundation-core.retracts-of-types public
```agda
open import foundation.dependent-pair-types
open import foundation.equivalences
+open import foundation.function-extensionality
open import foundation.fundamental-theorem-of-identity-types
open import foundation.homotopies
open import foundation.homotopy-algebra
@@ -25,6 +26,8 @@ open import foundation-core.contractible-types
open import foundation-core.function-types
open import foundation-core.functoriality-dependent-pair-types
open import foundation-core.identity-types
+open import foundation-core.postcomposition-functions
+open import foundation-core.precomposition-functions
open import foundation-core.torsorial-type-families
```
@@ -180,6 +183,40 @@ iff-retract' :
iff-retract' = inv-iff ∘ iff-retract
```
+### If `A` is a retract of `B` then `A → S` is a retract of `B → S` via precomposition
+
+```agda
+module _
+ {l1 l2 l3 : Level} {A : UU l1} {B : UU l2} (R : A retract-of B) (S : UU l3)
+ where
+
+ retract-precomp :
+ (A → S) retract-of (B → S)
+ pr1 retract-precomp =
+ precomp (map-retraction-retract R) S
+ pr1 (pr2 retract-precomp) =
+ precomp (inclusion-retract R) S
+ pr2 (pr2 retract-precomp) h =
+ eq-htpy (h ·l is-retraction-map-retraction-retract R)
+```
+
+### If `A` is a retract of `B` then `S → A` is a retract of `S → B` via postcomposition
+
+```agda
+module _
+ {l1 l2 l3 : Level} {A : UU l1} {B : UU l2} (S : UU l3) (R : A retract-of B)
+ where
+
+ retract-postcomp :
+ (S → A) retract-of (S → B)
+ pr1 retract-postcomp =
+ postcomp S (inclusion-retract R)
+ pr1 (pr2 retract-postcomp) =
+ postcomp S (map-retraction-retract R)
+ pr2 (pr2 retract-postcomp) h =
+ eq-htpy (is-retraction-map-retraction-retract R ·r h)
+```
+
## See also
- [Retracts of maps](foundation.retracts-of-maps.md)
diff --git a/src/foundation/sections.lagda.md b/src/foundation/sections.lagda.md
index 0c9cd52162..0ec87899b6 100644
--- a/src/foundation/sections.lagda.md
+++ b/src/foundation/sections.lagda.md
@@ -12,6 +12,7 @@ open import foundation-core.sections public
open import foundation.action-on-identifications-functions
open import foundation.commuting-triangles-of-homotopies
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.function-extensionality
open import foundation.structure-identity-principle
open import foundation.type-arithmetic-dependent-pair-types
diff --git a/src/foundation/separated-types-subuniverses.lagda.md b/src/foundation/separated-types-subuniverses.lagda.md
index cc812fa34d..cb0571d472 100644
--- a/src/foundation/separated-types-subuniverses.lagda.md
+++ b/src/foundation/separated-types-subuniverses.lagda.md
@@ -7,6 +7,7 @@ module foundation.separated-types-subuniverses where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.subuniverses
open import foundation.universe-levels
diff --git a/src/foundation/set-presented-types.lagda.md b/src/foundation/set-presented-types.lagda.md
index 658f0388f7..ae88a8fae8 100644
--- a/src/foundation/set-presented-types.lagda.md
+++ b/src/foundation/set-presented-types.lagda.md
@@ -10,6 +10,7 @@ module foundation.set-presented-types where
open import foundation.action-on-identifications-functions
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.empty-types
open import foundation.equality-coproduct-types
diff --git a/src/foundation/set-quotients.lagda.md b/src/foundation/set-quotients.lagda.md
index 492fac2246..883cf8111f 100644
--- a/src/foundation/set-quotients.lagda.md
+++ b/src/foundation/set-quotients.lagda.md
@@ -9,11 +9,12 @@ module foundation.set-quotients where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.effective-maps-equivalence-relations
open import foundation.embeddings
open import foundation.equivalence-classes
open import foundation.equivalences
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.identity-types
open import foundation.inhabited-subtypes
open import foundation.reflecting-maps-equivalence-relations
diff --git a/src/foundation/sets.lagda.md b/src/foundation/sets.lagda.md
index 32edfb667b..a60440cc1b 100644
--- a/src/foundation/sets.lagda.md
+++ b/src/foundation/sets.lagda.md
@@ -11,6 +11,8 @@ open import foundation-core.sets public
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-truncated-types
open import foundation.logical-equivalences
open import foundation.subuniverses
open import foundation.truncated-types
@@ -177,6 +179,28 @@ precomp-Set :
precomp-Set f C = precomp f (type-Set C)
```
+### The type of equivalences between sets is a set
+
+```agda
+abstract
+ is-set-equiv-is-set :
+ {l1 l2 : Level} {A : UU l1} {B : UU l2} →
+ is-set A → is-set B → is-set (A ≃ B)
+ is-set-equiv-is-set = is-trunc-equiv-is-trunc zero-𝕋
+
+module _
+ {l1 l2 : Level} (A : Set l1) (B : Set l2)
+ where
+
+ equiv-Set : UU (l1 ⊔ l2)
+ equiv-Set = type-Set A ≃ type-Set B
+
+ equiv-set-Set : Set (l1 ⊔ l2)
+ pr1 equiv-set-Set = equiv-Set
+ pr2 equiv-set-Set =
+ is-set-equiv-is-set (is-set-type-Set A) (is-set-type-Set B)
+```
+
### Extensionality of sets
```agda
diff --git a/src/foundation/sigma-decompositions.lagda.md b/src/foundation/sigma-decompositions.lagda.md
index 720de58abb..b3c759f936 100644
--- a/src/foundation/sigma-decompositions.lagda.md
+++ b/src/foundation/sigma-decompositions.lagda.md
@@ -11,6 +11,7 @@ module foundation.sigma-decompositions where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalence-extensionality
open import foundation.equivalences
open import foundation.fundamental-theorem-of-identity-types
diff --git a/src/foundation/singleton-subtypes.lagda.md b/src/foundation/singleton-subtypes.lagda.md
index b624eca1cc..d9ed363927 100644
--- a/src/foundation/singleton-subtypes.lagda.md
+++ b/src/foundation/singleton-subtypes.lagda.md
@@ -10,6 +10,7 @@ module foundation.singleton-subtypes where
open import foundation.connected-components
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.functoriality-propositional-truncation
open import foundation.images-subtypes
open import foundation.inhabited-subtypes
diff --git a/src/foundation/slice.lagda.md b/src/foundation/slice.lagda.md
index 0a41b6dd82..621d6af8f9 100644
--- a/src/foundation/slice.lagda.md
+++ b/src/foundation/slice.lagda.md
@@ -9,6 +9,7 @@ module foundation.slice where
```agda
open import foundation.commuting-triangles-of-homotopies
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-extensionality
open import foundation.fundamental-theorem-of-identity-types
diff --git a/src/foundation/small-maps.lagda.md b/src/foundation/small-maps.lagda.md
index 59c0c702b7..4084071783 100644
--- a/src/foundation/small-maps.lagda.md
+++ b/src/foundation/small-maps.lagda.md
@@ -8,6 +8,7 @@ module foundation.small-maps where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.locally-small-types
open import foundation.retracts-of-maps
open import foundation.split-idempotent-maps
diff --git a/src/foundation/spans-families-of-types.lagda.md b/src/foundation/spans-families-of-types.lagda.md
index 9a6b00a030..5ee8aecb7e 100644
--- a/src/foundation/spans-families-of-types.lagda.md
+++ b/src/foundation/spans-families-of-types.lagda.md
@@ -9,9 +9,6 @@ module foundation.spans-families-of-types where
```agda
open import foundation.dependent-pair-types
open import foundation.universe-levels
-
-open import foundation-core.equivalences
-open import foundation-core.function-types
```
diff --git a/src/foundation/strictly-involutive-identity-types.lagda.md b/src/foundation/strictly-involutive-identity-types.lagda.md
index 41d8a10e2d..f6cd949dd5 100644
--- a/src/foundation/strictly-involutive-identity-types.lagda.md
+++ b/src/foundation/strictly-involutive-identity-types.lagda.md
@@ -12,8 +12,10 @@ open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.equality-cartesian-product-types
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.multivariable-homotopies
open import foundation.strictly-right-unital-concatenation-identifications
+open import foundation.telescopes
open import foundation.univalence
open import foundation.universal-property-identity-systems
open import foundation.universe-levels
diff --git a/src/foundation/strong-preunivalence.lagda.md b/src/foundation/strong-preunivalence.lagda.md
index 051e55fa52..dff170a8bb 100644
--- a/src/foundation/strong-preunivalence.lagda.md
+++ b/src/foundation/strong-preunivalence.lagda.md
@@ -9,6 +9,8 @@ module foundation.strong-preunivalence where
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.functoriality-dependent-pair-types
open import foundation.preunivalence
diff --git a/src/foundation/subtypes.lagda.md b/src/foundation/subtypes.lagda.md
index 291b0c918d..20def667fe 100644
--- a/src/foundation/subtypes.lagda.md
+++ b/src/foundation/subtypes.lagda.md
@@ -10,6 +10,7 @@ open import foundation-core.subtypes public
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equality-dependent-function-types
open import foundation.fundamental-theorem-of-identity-types
diff --git a/src/foundation/surjective-maps.lagda.md b/src/foundation/surjective-maps.lagda.md
index f6fc1ffb05..02bdc034ba 100644
--- a/src/foundation/surjective-maps.lagda.md
+++ b/src/foundation/surjective-maps.lagda.md
@@ -11,7 +11,9 @@ open import foundation.action-on-identifications-functions
open import foundation.connected-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
-open import foundation.diagonal-maps-of-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
+open import foundation.dependent-products-truncated-types
open import foundation.embeddings
open import foundation.equality-cartesian-product-types
open import foundation.functoriality-cartesian-product-types
@@ -33,6 +35,7 @@ open import foundation.universe-levels
open import foundation-core.cartesian-product-types
open import foundation-core.constant-maps
open import foundation-core.contractible-maps
+open import foundation-core.diagonal-maps-of-types
open import foundation-core.equivalences
open import foundation-core.fibers-of-maps
open import foundation-core.function-types
diff --git a/src/foundation/symmetric-binary-relations.lagda.md b/src/foundation/symmetric-binary-relations.lagda.md
index 7f5a829ff1..19d488fdc8 100644
--- a/src/foundation/symmetric-binary-relations.lagda.md
+++ b/src/foundation/symmetric-binary-relations.lagda.md
@@ -11,7 +11,7 @@ open import foundation.action-on-identifications-functions
open import foundation.binary-relations
open import foundation.dependent-pair-types
open import foundation.equivalence-extensionality
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.morphisms-binary-relations
open import foundation.symmetric-operations
open import foundation.universe-levels
diff --git a/src/foundation/symmetric-operations.lagda.md b/src/foundation/symmetric-operations.lagda.md
index f5ab5c00de..317c977990 100644
--- a/src/foundation/symmetric-operations.lagda.md
+++ b/src/foundation/symmetric-operations.lagda.md
@@ -10,6 +10,7 @@ module foundation.symmetric-operations where
open import foundation.action-on-identifications-binary-functions
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalence-extensionality
open import foundation.function-extensionality
open import foundation.functoriality-coproduct-types
diff --git a/src/foundation/terminal-spans-families-of-types.lagda.md b/src/foundation/terminal-spans-families-of-types.lagda.md
index 6b08b3e90f..697d998b8e 100644
--- a/src/foundation/terminal-spans-families-of-types.lagda.md
+++ b/src/foundation/terminal-spans-families-of-types.lagda.md
@@ -7,10 +7,11 @@ module foundation.terminal-spans-families-of-types where
Imports
```agda
-open import foundation.contractible-types
open import foundation.morphisms-spans-families-of-types
open import foundation.spans-families-of-types
open import foundation.universe-levels
+
+open import foundation-core.contractible-types
```
diff --git a/src/foundation/torsorial-type-families.lagda.md b/src/foundation/torsorial-type-families.lagda.md
index 0929568e83..4be6dce2f6 100644
--- a/src/foundation/torsorial-type-families.lagda.md
+++ b/src/foundation/torsorial-type-families.lagda.md
@@ -11,6 +11,7 @@ open import foundation-core.torsorial-type-families public
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.fundamental-theorem-of-identity-types
open import foundation.logical-equivalences
open import foundation.universal-property-identity-types
diff --git a/src/foundation/total-partial-functions.lagda.md b/src/foundation/total-partial-functions.lagda.md
index c8510fac75..7b1083887d 100644
--- a/src/foundation/total-partial-functions.lagda.md
+++ b/src/foundation/total-partial-functions.lagda.md
@@ -8,6 +8,7 @@ module foundation.total-partial-functions where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.partial-functions
open import foundation.universe-levels
diff --git a/src/foundation/transport-along-homotopies.lagda.md b/src/foundation/transport-along-homotopies.lagda.md
index 577c47c512..8308d97123 100644
--- a/src/foundation/transport-along-homotopies.lagda.md
+++ b/src/foundation/transport-along-homotopies.lagda.md
@@ -9,6 +9,7 @@ module foundation.transport-along-homotopies where
```agda
open import foundation.action-on-identifications-functions
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.homotopy-induction
open import foundation.transport-along-higher-identifications
open import foundation.universe-levels
diff --git a/src/foundation/transport-split-type-families.lagda.md b/src/foundation/transport-split-type-families.lagda.md
index f4fc0dad2f..ff883a366f 100644
--- a/src/foundation/transport-split-type-families.lagda.md
+++ b/src/foundation/transport-split-type-families.lagda.md
@@ -7,20 +7,12 @@ module foundation.transport-split-type-families where
Imports
```agda
-open import elementary-number-theory.natural-numbers
-
-open import foundation.action-on-equivalences-functions
-open import foundation.action-on-identifications-functions
-open import foundation.cartesian-product-types
-open import foundation.dependent-pair-types
-open import foundation.equivalence-extensionality
open import foundation.equivalence-injective-type-families
open import foundation.equivalences
-open import foundation.function-extensionality
open import foundation.fundamental-theorem-of-identity-types
open import foundation.iterated-dependent-product-types
+open import foundation.telescopes
open import foundation.transport-along-identifications
-open import foundation.unit-type
open import foundation.univalent-type-families
open import foundation.universal-property-identity-systems
open import foundation.universe-levels
diff --git a/src/foundation/transposition-identifications-along-equivalences.lagda.md b/src/foundation/transposition-identifications-along-equivalences.lagda.md
index ef7e0b1cc7..9870736681 100644
--- a/src/foundation/transposition-identifications-along-equivalences.lagda.md
+++ b/src/foundation/transposition-identifications-along-equivalences.lagda.md
@@ -9,14 +9,12 @@ module foundation.transposition-identifications-along-equivalences where
```agda
open import foundation.action-on-identifications-functions
open import foundation.commuting-triangles-of-identifications
-open import foundation.dependent-pair-types
open import foundation.identity-types
open import foundation.universe-levels
-open import foundation.whiskering-homotopies-composition
-open import foundation.whiskering-identifications-concatenation
open import foundation-core.equivalences
open import foundation-core.homotopies
+open import foundation-core.whiskering-identifications-concatenation
```
diff --git a/src/foundation/trivial-relaxed-sigma-decompositions.lagda.md b/src/foundation/trivial-relaxed-sigma-decompositions.lagda.md
index 8ab55c81ac..a2e1fbb690 100644
--- a/src/foundation/trivial-relaxed-sigma-decompositions.lagda.md
+++ b/src/foundation/trivial-relaxed-sigma-decompositions.lagda.md
@@ -9,6 +9,8 @@ module foundation.trivial-relaxed-sigma-decompositions where
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.raising-universe-levels-unit-type
open import foundation.relaxed-sigma-decompositions
open import foundation.transposition-identifications-along-equivalences
open import foundation.type-arithmetic-dependent-pair-types
diff --git a/src/foundation/trivial-sigma-decompositions.lagda.md b/src/foundation/trivial-sigma-decompositions.lagda.md
index e50fa85044..5d5b4f17c5 100644
--- a/src/foundation/trivial-sigma-decompositions.lagda.md
+++ b/src/foundation/trivial-sigma-decompositions.lagda.md
@@ -9,8 +9,10 @@ module foundation.trivial-sigma-decompositions where
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.functoriality-propositional-truncation
open import foundation.inhabited-types
+open import foundation.raising-universe-levels-unit-type
open import foundation.sigma-decompositions
open import foundation.transposition-identifications-along-equivalences
open import foundation.type-arithmetic-dependent-pair-types
diff --git a/src/foundation/truncated-maps.lagda.md b/src/foundation/truncated-maps.lagda.md
index 5107b35a68..05f95a7187 100644
--- a/src/foundation/truncated-maps.lagda.md
+++ b/src/foundation/truncated-maps.lagda.md
@@ -3,6 +3,7 @@
```agda
module foundation.truncated-maps where
+open import foundation.dependent-products-truncated-types public
open import foundation-core.truncated-maps public
```
@@ -11,6 +12,7 @@ open import foundation-core.truncated-maps public
```agda
open import foundation.cones-over-cospan-diagrams
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.functoriality-fibers-of-maps
open import foundation.universe-levels
diff --git a/src/foundation/truncated-types.lagda.md b/src/foundation/truncated-types.lagda.md
index d2248f9dab..11bc7eb2b1 100644
--- a/src/foundation/truncated-types.lagda.md
+++ b/src/foundation/truncated-types.lagda.md
@@ -12,6 +12,7 @@ open import foundation-core.truncated-types public
open import elementary-number-theory.natural-numbers
open import foundation.dependent-pair-types
+open import foundation.dependent-products-truncated-types
open import foundation.equivalences
open import foundation.logical-equivalences
open import foundation.subtype-identity-principle
diff --git a/src/foundation/truncation-equivalences.lagda.md b/src/foundation/truncation-equivalences.lagda.md
index 5462a0bf32..6bb861e192 100644
--- a/src/foundation/truncation-equivalences.lagda.md
+++ b/src/foundation/truncation-equivalences.lagda.md
@@ -12,6 +12,8 @@ open import foundation.connected-maps
open import foundation.connected-types
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-truncated-types
open import foundation.functoriality-truncation
open import foundation.identity-types
open import foundation.precomposition-functions-into-subuniverses
diff --git a/src/foundation/truncations.lagda.md b/src/foundation/truncations.lagda.md
index 9523e78045..d757a7284c 100644
--- a/src/foundation/truncations.lagda.md
+++ b/src/foundation/truncations.lagda.md
@@ -10,7 +10,10 @@ module foundation.truncations where
open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-truncated-types
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.functoriality-dependent-function-types
open import foundation.fundamental-theorem-of-identity-types
open import foundation.identity-types
diff --git a/src/foundation/type-arithmetic-booleans.lagda.md b/src/foundation/type-arithmetic-booleans.lagda.md
index 5d7dfaad12..0b455a3719 100644
--- a/src/foundation/type-arithmetic-booleans.lagda.md
+++ b/src/foundation/type-arithmetic-booleans.lagda.md
@@ -7,10 +7,10 @@ module foundation.type-arithmetic-booleans where
Imports
```agda
-open import foundation.booleans
open import foundation.dependent-pair-types
open import foundation.universe-levels
+open import foundation-core.booleans
open import foundation-core.coproduct-types
open import foundation-core.equivalences
open import foundation-core.function-types
diff --git a/src/foundation/type-arithmetic-dependent-function-types.lagda.md b/src/foundation/type-arithmetic-dependent-function-types.lagda.md
index 27533716f7..bd861661a8 100644
--- a/src/foundation/type-arithmetic-dependent-function-types.lagda.md
+++ b/src/foundation/type-arithmetic-dependent-function-types.lagda.md
@@ -9,6 +9,7 @@ module foundation.type-arithmetic-dependent-function-types where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.functoriality-dependent-function-types
open import foundation.type-arithmetic-unit-type
open import foundation.unit-type
diff --git a/src/foundation/type-arithmetic-unit-type.lagda.md b/src/foundation/type-arithmetic-unit-type.lagda.md
index 7f3e6fc73e..03ca87584d 100644
--- a/src/foundation/type-arithmetic-unit-type.lagda.md
+++ b/src/foundation/type-arithmetic-unit-type.lagda.md
@@ -8,7 +8,7 @@ module foundation.type-arithmetic-unit-type where
```agda
open import foundation.dependent-pair-types
-open import foundation.function-extensionality
+open import foundation.dependent-products-contractible-types
open import foundation.unit-type
open import foundation.universe-levels
@@ -16,7 +16,6 @@ open import foundation-core.cartesian-product-types
open import foundation-core.equivalences
open import foundation-core.function-types
open import foundation-core.homotopies
-open import foundation-core.identity-types
open import foundation-core.retractions
open import foundation-core.sections
```
diff --git a/src/foundation/type-duality.lagda.md b/src/foundation/type-duality.lagda.md
index c2beea330e..50d1ca1b70 100644
--- a/src/foundation/type-duality.lagda.md
+++ b/src/foundation/type-duality.lagda.md
@@ -13,6 +13,7 @@ open import foundation.equivalences
open import foundation.function-extensionality
open import foundation.fundamental-theorem-of-identity-types
open import foundation.locally-small-types
+open import foundation.raising-universe-levels-unit-type
open import foundation.slice
open import foundation.type-arithmetic-dependent-pair-types
open import foundation.unit-type
diff --git a/src/foundation/uniformly-decidable-type-families.lagda.md b/src/foundation/uniformly-decidable-type-families.lagda.md
index 01904ea182..a2ad2965ac 100644
--- a/src/foundation/uniformly-decidable-type-families.lagda.md
+++ b/src/foundation/uniformly-decidable-type-families.lagda.md
@@ -11,6 +11,9 @@ open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
+open import foundation.dependent-products-truncated-types
open import foundation.equality-coproduct-types
open import foundation.inhabited-types
open import foundation.negation
diff --git a/src/foundation/uniqueness-set-quotients.lagda.md b/src/foundation/uniqueness-set-quotients.lagda.md
index 5fd4913def..386076acce 100644
--- a/src/foundation/uniqueness-set-quotients.lagda.md
+++ b/src/foundation/uniqueness-set-quotients.lagda.md
@@ -10,7 +10,7 @@ module foundation.uniqueness-set-quotients where
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.equivalences
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.reflecting-maps-equivalence-relations
open import foundation.sets
open import foundation.subtype-identity-principle
diff --git a/src/foundation/uniqueness-truncation.lagda.md b/src/foundation/uniqueness-truncation.lagda.md
index 25971b85f3..d14c70219d 100644
--- a/src/foundation/uniqueness-truncation.lagda.md
+++ b/src/foundation/uniqueness-truncation.lagda.md
@@ -7,6 +7,7 @@ module foundation.uniqueness-truncation where
Imports
```agda
+open import foundation.dependent-products-truncated-types
open import foundation.universe-levels
open import foundation-core.function-types
diff --git a/src/foundation/unit-type.lagda.md b/src/foundation/unit-type.lagda.md
index d1246282e0..87b935b6db 100644
--- a/src/foundation/unit-type.lagda.md
+++ b/src/foundation/unit-type.lagda.md
@@ -7,14 +7,12 @@ module foundation.unit-type where
Imports
```agda
-open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
-open import foundation.diagonal-maps-of-types
-open import foundation.raising-universe-levels
open import foundation.universe-levels
open import foundation-core.constant-maps
open import foundation-core.contractible-types
+open import foundation-core.diagonal-maps-of-types
open import foundation-core.equivalences
open import foundation-core.homotopies
open import foundation-core.identity-types
@@ -72,25 +70,6 @@ module _
point = diagonal-exponential A unit
```
-### Raising the universe level of the unit type
-
-```agda
-raise-unit : (l : Level) → UU l
-raise-unit l = raise l unit
-
-raise-star : {l : Level} → raise l unit
-raise-star = map-raise star
-
-raise-terminal-map : {l1 l2 : Level} (A : UU l1) → A → raise-unit l2
-raise-terminal-map {l2 = l2} A = const A raise-star
-
-compute-raise-unit : (l : Level) → unit ≃ raise-unit l
-compute-raise-unit l = compute-raise l unit
-
-inv-compute-raise-unit : (l : Level) → raise-unit l ≃ unit
-inv-compute-raise-unit l = inv-compute-raise l unit
-```
-
## Properties
### The unit type is contractible
@@ -100,11 +79,6 @@ abstract
is-contr-unit : is-contr unit
pr1 is-contr-unit = star
pr2 is-contr-unit _ = refl
-
-abstract
- is-contr-raise-unit : {l1 : Level} → is-contr (raise-unit l1)
- is-contr-raise-unit {l1} =
- is-contr-equiv' unit (compute-raise l1 unit) is-contr-unit
```
### Any contractible type is equivalent to the unit type
@@ -135,42 +109,6 @@ module _
is-contr-equiv-unit' e = (map-equiv e star , is-section-map-inv-equiv e)
```
-### Any contractible type is equivalent to the raised unit type
-
-```agda
-module _
- {l1 l2 : Level} {A : UU l1}
- where
-
- is-equiv-raise-terminal-map-is-contr :
- is-contr A → is-equiv (raise-terminal-map {l2 = l2} A)
- is-equiv-raise-terminal-map-is-contr H =
- is-equiv-is-invertible
- ( λ _ → center H)
- ( λ where (map-raise x) → refl)
- ( contraction H)
-
- equiv-raise-unit-is-contr : is-contr A → A ≃ raise-unit l2
- equiv-raise-unit-is-contr H =
- raise-terminal-map A , is-equiv-raise-terminal-map-is-contr H
-
- is-contr-retraction-raise-terminal-map :
- retraction (raise-terminal-map {l2 = l2} A) → is-contr A
- is-contr-retraction-raise-terminal-map (h , H) = h raise-star , H
-
- is-contr-is-equiv-raise-terminal-map :
- is-equiv (raise-terminal-map {l2 = l2} A) → is-contr A
- is-contr-is-equiv-raise-terminal-map H =
- is-contr-retraction-raise-terminal-map (retraction-is-equiv H)
-
- is-contr-equiv-raise-unit : A ≃ raise-unit l2 → is-contr A
- is-contr-equiv-raise-unit e =
- ( map-inv-equiv e raise-star) ,
- ( λ x →
- ap (map-inv-equiv e) (eq-is-contr is-contr-raise-unit) ∙
- is-retraction-map-inv-equiv e x)
-```
-
### The unit type is a proposition
```agda
@@ -180,13 +118,6 @@ abstract
unit-Prop : Prop lzero
unit-Prop = unit , is-prop-unit
-
-abstract
- is-prop-raise-unit : {l1 : Level} → is-prop (raise-unit l1)
- is-prop-raise-unit {l1} = is-prop-equiv' (compute-raise l1 unit) is-prop-unit
-
-raise-unit-Prop : (l1 : Level) → Prop l1
-raise-unit-Prop l1 = raise-unit l1 , is-prop-raise-unit
```
### The unit type is a set
@@ -198,13 +129,6 @@ abstract
unit-Set : Set lzero
unit-Set = unit , is-set-unit
-
-abstract
- is-set-raise-unit : {l1 : Level} → is-set (raise-unit l1)
- is-set-raise-unit = is-trunc-succ-is-trunc neg-one-𝕋 is-prop-raise-unit
-
-raise-unit-Set : (l1 : Level) → Set l1
-raise-unit-Set l1 = raise-unit l1 , is-set-raise-unit
```
### All parallel maps into `unit` are equal
diff --git a/src/foundation/unital-binary-operations.lagda.md b/src/foundation/unital-binary-operations.lagda.md
index 5c343797cf..ae3ffd6106 100644
--- a/src/foundation/unital-binary-operations.lagda.md
+++ b/src/foundation/unital-binary-operations.lagda.md
@@ -11,11 +11,11 @@ open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.universe-levels
open import foundation.whiskering-homotopies-composition
-open import foundation.whiskering-identifications-concatenation
open import foundation-core.cartesian-product-types
open import foundation-core.homotopies
open import foundation-core.identity-types
+open import foundation-core.whiskering-identifications-concatenation
```
diff --git a/src/foundation/univalence-implies-function-extensionality.lagda.md b/src/foundation/univalence-implies-function-extensionality.lagda.md
index 8845653a49..a0d8b50ddc 100644
--- a/src/foundation/univalence-implies-function-extensionality.lagda.md
+++ b/src/foundation/univalence-implies-function-extensionality.lagda.md
@@ -9,7 +9,7 @@ module foundation.univalence-implies-function-extensionality where
```agda
open import foundation.dependent-pair-types
open import foundation.equivalence-induction
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.postcomposition-functions
open import foundation.type-arithmetic-dependent-pair-types
open import foundation.universe-levels
diff --git a/src/foundation/univalent-type-families.lagda.md b/src/foundation/univalent-type-families.lagda.md
index 9a7c109a9a..e471866e10 100644
--- a/src/foundation/univalent-type-families.lagda.md
+++ b/src/foundation/univalent-type-families.lagda.md
@@ -9,6 +9,7 @@ module foundation.univalent-type-families where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
open import foundation.fundamental-theorem-of-identity-types
@@ -16,6 +17,7 @@ open import foundation.identity-systems
open import foundation.iterated-dependent-product-types
open import foundation.propositions
open import foundation.subuniverses
+open import foundation.telescopes
open import foundation.transport-along-identifications
open import foundation.univalence
open import foundation.universal-property-identity-systems
diff --git a/src/foundation/universal-property-booleans.lagda.md b/src/foundation/universal-property-booleans.lagda.md
index b976f49d78..bcb23bb57a 100644
--- a/src/foundation/universal-property-booleans.lagda.md
+++ b/src/foundation/universal-property-booleans.lagda.md
@@ -7,12 +7,12 @@ module foundation.universal-property-booleans where
Imports
```agda
-open import foundation.booleans
open import foundation.dependent-pair-types
open import foundation.equality-cartesian-product-types
open import foundation.function-extensionality
open import foundation.universe-levels
+open import foundation-core.booleans
open import foundation-core.cartesian-product-types
open import foundation-core.equivalences
open import foundation-core.function-types
diff --git a/src/foundation/universal-property-contractible-types.lagda.md b/src/foundation/universal-property-contractible-types.lagda.md
index e581cf7ee1..d73ff1f0f2 100644
--- a/src/foundation/universal-property-contractible-types.lagda.md
+++ b/src/foundation/universal-property-contractible-types.lagda.md
@@ -10,6 +10,7 @@ module foundation.universal-property-contractible-types where
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.singleton-induction
open import foundation.universe-levels
diff --git a/src/foundation/universal-property-dependent-pair-types.lagda.md b/src/foundation/universal-property-dependent-pair-types.lagda.md
index 54b12615b2..dcd8364df1 100644
--- a/src/foundation/universal-property-dependent-pair-types.lagda.md
+++ b/src/foundation/universal-property-dependent-pair-types.lagda.md
@@ -15,8 +15,6 @@ open import foundation-core.equivalences
open import foundation-core.functoriality-dependent-pair-types
open import foundation-core.homotopies
open import foundation-core.identity-types
-open import foundation-core.retractions
-open import foundation-core.sections
```
diff --git a/src/foundation/universal-property-family-of-fibers-of-maps.lagda.md b/src/foundation/universal-property-family-of-fibers-of-maps.lagda.md
index a9d2691df4..82c10540aa 100644
--- a/src/foundation/universal-property-family-of-fibers-of-maps.lagda.md
+++ b/src/foundation/universal-property-family-of-fibers-of-maps.lagda.md
@@ -9,15 +9,15 @@ module foundation.universal-property-family-of-fibers-of-maps where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
-open import foundation.diagonal-maps-of-types
open import foundation.families-of-equivalences
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.subtype-identity-principle
open import foundation.universe-levels
-open import foundation-core.constant-maps
open import foundation-core.contractible-maps
open import foundation-core.contractible-types
+open import foundation-core.diagonal-maps-of-types
open import foundation-core.equivalences
open import foundation-core.fibers-of-maps
open import foundation-core.function-types
diff --git a/src/foundation/universal-property-identity-systems.lagda.md b/src/foundation/universal-property-identity-systems.lagda.md
index a29595fa9d..b0e32181a0 100644
--- a/src/foundation/universal-property-identity-systems.lagda.md
+++ b/src/foundation/universal-property-identity-systems.lagda.md
@@ -13,7 +13,6 @@ open import foundation.universal-property-contractible-types
open import foundation.universal-property-dependent-pair-types
open import foundation.universe-levels
-open import foundation-core.contractible-types
open import foundation-core.equivalences
open import foundation-core.identity-types
open import foundation-core.torsorial-type-families
diff --git a/src/foundation/universal-property-identity-types.lagda.md b/src/foundation/universal-property-identity-types.lagda.md
index 1412af1bae..1e4268ca8f 100644
--- a/src/foundation/universal-property-identity-types.lagda.md
+++ b/src/foundation/universal-property-identity-types.lagda.md
@@ -9,6 +9,7 @@ module foundation.universal-property-identity-types where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.dependent-universal-property-equivalences
open import foundation.embeddings
open import foundation.equivalences
diff --git a/src/foundation/universal-property-maybe.lagda.md b/src/foundation/universal-property-maybe.lagda.md
index 0c8afea5e1..f55128fdfa 100644
--- a/src/foundation/universal-property-maybe.lagda.md
+++ b/src/foundation/universal-property-maybe.lagda.md
@@ -9,7 +9,6 @@ module foundation.universal-property-maybe where
```agda
open import foundation.dependent-pair-types
open import foundation.function-extensionality
-open import foundation.maybe
open import foundation.universe-levels
open import foundation-core.cartesian-product-types
@@ -18,6 +17,7 @@ open import foundation-core.equivalences
open import foundation-core.function-types
open import foundation-core.homotopies
open import foundation-core.identity-types
+open import foundation-core.maybe
```
diff --git a/src/foundation/universal-property-propositional-truncation.lagda.md b/src/foundation/universal-property-propositional-truncation.lagda.md
index 61fbe14f5b..1cadb2f5f2 100644
--- a/src/foundation/universal-property-propositional-truncation.lagda.md
+++ b/src/foundation/universal-property-propositional-truncation.lagda.md
@@ -8,6 +8,7 @@ module foundation.universal-property-propositional-truncation where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-extensionality
open import foundation.functoriality-cartesian-product-types
diff --git a/src/foundation/universal-property-set-quotients.lagda.md b/src/foundation/universal-property-set-quotients.lagda.md
index 10bfbb0310..8ff5cf6b79 100644
--- a/src/foundation/universal-property-set-quotients.lagda.md
+++ b/src/foundation/universal-property-set-quotients.lagda.md
@@ -11,12 +11,14 @@ module foundation.universal-property-set-quotients where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.dependent-universal-property-equivalences
open import foundation.effective-maps-equivalence-relations
open import foundation.epimorphisms-with-respect-to-sets
open import foundation.equivalence-classes
open import foundation.existential-quantification
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.fundamental-theorem-of-identity-types
open import foundation.identity-types
open import foundation.images
diff --git a/src/foundation/universal-property-truncation.lagda.md b/src/foundation/universal-property-truncation.lagda.md
index 3d261465a4..3a47918c45 100644
--- a/src/foundation/universal-property-truncation.lagda.md
+++ b/src/foundation/universal-property-truncation.lagda.md
@@ -12,6 +12,7 @@ open import foundation-core.universal-property-truncation public
open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.function-extensionality
open import foundation.identity-types
open import foundation.propositional-truncations
diff --git a/src/foundation/universal-property-unit-type.lagda.md b/src/foundation/universal-property-unit-type.lagda.md
index 6d066ead4f..20149383b1 100644
--- a/src/foundation/universal-property-unit-type.lagda.md
+++ b/src/foundation/universal-property-unit-type.lagda.md
@@ -8,7 +8,6 @@ module foundation.universal-property-unit-type where
```agda
open import foundation.dependent-pair-types
-open import foundation.diagonal-maps-of-types
open import foundation.unit-type
open import foundation.universal-property-contractible-types
open import foundation.universal-property-equivalences
@@ -16,6 +15,7 @@ open import foundation.universe-levels
open import foundation-core.constant-maps
open import foundation-core.contractible-types
+open import foundation-core.diagonal-maps-of-types
open import foundation-core.equivalences
open import foundation-core.homotopies
open import foundation-core.precomposition-functions
diff --git a/src/foundation/universal-quantification.lagda.md b/src/foundation/universal-quantification.lagda.md
index e4b0bd024f..63a9a9e0e7 100644
--- a/src/foundation/universal-quantification.lagda.md
+++ b/src/foundation/universal-quantification.lagda.md
@@ -8,6 +8,7 @@ module foundation.universal-quantification where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.evaluation-functions
open import foundation.logical-equivalences
open import foundation.propositional-truncations
diff --git a/src/foundation/unordered-pairs.lagda.md b/src/foundation/unordered-pairs.lagda.md
index 764054eed8..96e88ff402 100644
--- a/src/foundation/unordered-pairs.lagda.md
+++ b/src/foundation/unordered-pairs.lagda.md
@@ -12,6 +12,7 @@ open import foundation.commuting-triangles-of-maps
open import foundation.contractible-types
open import foundation.decidable-equality
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.dependent-universal-property-equivalences
open import foundation.existential-quantification
open import foundation.function-extensionality
diff --git a/src/foundation/unordered-tuples.lagda.md b/src/foundation/unordered-tuples.lagda.md
index 69977f8b8e..d3ce033256 100644
--- a/src/foundation/unordered-tuples.lagda.md
+++ b/src/foundation/unordered-tuples.lagda.md
@@ -12,6 +12,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.1-types
open import foundation.decidable-equality
open import foundation.dependent-pair-types
+open import foundation.dependent-products-truncated-types
open import foundation.fundamental-theorem-of-identity-types
open import foundation.homotopy-induction
open import foundation.postcomposition-functions
diff --git a/src/foundation/vectors-set-quotients.lagda.md b/src/foundation/vectors-set-quotients.lagda.md
index 80e0ac123d..4436c4ecb8 100644
--- a/src/foundation/vectors-set-quotients.lagda.md
+++ b/src/foundation/vectors-set-quotients.lagda.md
@@ -16,9 +16,10 @@ open import foundation.cartesian-products-set-quotients
open import foundation.dependent-pair-types
open import foundation.equality-cartesian-product-types
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.multivariable-operations
open import foundation.products-equivalence-relations
-open import foundation.raising-universe-levels
+open import foundation.raising-universe-levels-unit-type
open import foundation.reflecting-maps-equivalence-relations
open import foundation.set-quotients
open import foundation.sets
@@ -35,6 +36,7 @@ open import foundation-core.function-types
open import foundation-core.homotopies
open import foundation-core.identity-types
open import foundation-core.propositions
+open import foundation-core.raising-universe-levels
open import foundation-core.retractions
open import foundation-core.sections
diff --git a/src/foundation/weak-function-extensionality.lagda.md b/src/foundation/weak-function-extensionality.lagda.md
index 0abd8761d5..39801af669 100644
--- a/src/foundation/weak-function-extensionality.lagda.md
+++ b/src/foundation/weak-function-extensionality.lagda.md
@@ -11,7 +11,7 @@ open import foundation.action-on-identifications-functions
open import foundation.decidable-equality
open import foundation.decidable-types
open import foundation.dependent-pair-types
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.fundamental-theorem-of-identity-types
open import foundation.universe-levels
diff --git a/src/foundation/weak-limited-principle-of-omniscience.lagda.md b/src/foundation/weak-limited-principle-of-omniscience.lagda.md
index bc9b213e06..abef45248f 100644
--- a/src/foundation/weak-limited-principle-of-omniscience.lagda.md
+++ b/src/foundation/weak-limited-principle-of-omniscience.lagda.md
@@ -9,12 +9,12 @@ module foundation.weak-limited-principle-of-omniscience where
```agda
open import elementary-number-theory.natural-numbers
-open import foundation.booleans
open import foundation.disjunction
open import foundation.negation
open import foundation.universal-quantification
open import foundation.universe-levels
+open import foundation-core.booleans
open import foundation-core.decidable-propositions
open import foundation-core.propositions
open import foundation-core.sets
diff --git a/src/foundation/weakly-constant-maps.lagda.md b/src/foundation/weakly-constant-maps.lagda.md
index 741e4c32c8..e2d2c88d58 100644
--- a/src/foundation/weakly-constant-maps.lagda.md
+++ b/src/foundation/weakly-constant-maps.lagda.md
@@ -12,6 +12,7 @@ open import foundation.dependent-pair-types
open import foundation.fixed-points-endofunctions
open import foundation.identity-types
open import foundation.iterated-dependent-product-types
+open import foundation.telescopes
open import foundation.universe-levels
open import foundation-core.contractible-types
diff --git a/src/foundation/whiskering-identifications-concatenation.lagda.md b/src/foundation/whiskering-identifications-concatenation.lagda.md
index c2e632249a..c37fbc64cc 100644
--- a/src/foundation/whiskering-identifications-concatenation.lagda.md
+++ b/src/foundation/whiskering-identifications-concatenation.lagda.md
@@ -9,15 +9,11 @@ open import foundation-core.whiskering-identifications-concatenation public
Imports
```agda
-open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.identity-types
open import foundation.universe-levels
-open import foundation.whiskering-operations
open import foundation-core.equivalences
-open import foundation-core.function-types
-open import foundation-core.homotopies
```
diff --git a/src/foundation/yoneda-identity-types.lagda.md b/src/foundation/yoneda-identity-types.lagda.md
index 9f112941a7..f9064f5122 100644
--- a/src/foundation/yoneda-identity-types.lagda.md
+++ b/src/foundation/yoneda-identity-types.lagda.md
@@ -10,8 +10,10 @@ module foundation.yoneda-identity-types where
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.multivariable-homotopies
open import foundation.strictly-right-unital-concatenation-identifications
+open import foundation.telescopes
open import foundation.transport-along-identifications
open import foundation.univalence
open import foundation.universal-property-identity-systems
diff --git a/src/globular-types/binary-globular-maps.lagda.md b/src/globular-types/binary-globular-maps.lagda.md
index aa89346264..cc3ec422c4 100644
--- a/src/globular-types/binary-globular-maps.lagda.md
+++ b/src/globular-types/binary-globular-maps.lagda.md
@@ -11,7 +11,6 @@ module globular-types.binary-globular-maps where
```agda
open import foundation.universe-levels
-open import globular-types.globular-maps
open import globular-types.globular-types
```
diff --git a/src/globular-types/discrete-globular-types.lagda.md b/src/globular-types/discrete-globular-types.lagda.md
index 77b4dd1141..c6b65c31f3 100644
--- a/src/globular-types/discrete-globular-types.lagda.md
+++ b/src/globular-types/discrete-globular-types.lagda.md
@@ -10,6 +10,7 @@ module globular-types.discrete-globular-types where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.discrete-binary-relations
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/globular-types/globular-types.lagda.md b/src/globular-types/globular-types.lagda.md
index 11ecfe44fa..84c0ef6e25 100644
--- a/src/globular-types/globular-types.lagda.md
+++ b/src/globular-types/globular-types.lagda.md
@@ -10,7 +10,6 @@ module globular-types.globular-types where
```agda
open import foundation.dependent-pair-types
-open import foundation.identity-types
open import foundation.universe-levels
```
diff --git a/src/globular-types/terminal-globular-types.lagda.md b/src/globular-types/terminal-globular-types.lagda.md
index b9007c4347..c5630e58c7 100644
--- a/src/globular-types/terminal-globular-types.lagda.md
+++ b/src/globular-types/terminal-globular-types.lagda.md
@@ -10,6 +10,7 @@ module globular-types.terminal-globular-types where
```agda
open import foundation.contractible-types
+open import foundation.dependent-products-contractible-types
open import foundation.universe-levels
open import globular-types.globular-maps
diff --git a/src/graph-theory/connected-undirected-graphs.lagda.md b/src/graph-theory/connected-undirected-graphs.lagda.md
index fafe80a55b..e9109e3c7e 100644
--- a/src/graph-theory/connected-undirected-graphs.lagda.md
+++ b/src/graph-theory/connected-undirected-graphs.lagda.md
@@ -7,6 +7,7 @@ module graph-theory.connected-undirected-graphs where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.propositional-truncations
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/graph-theory/dependent-products-reflexive-graphs.lagda.md b/src/graph-theory/dependent-products-reflexive-graphs.lagda.md
index 8ff497e2b5..06387e3440 100644
--- a/src/graph-theory/dependent-products-reflexive-graphs.lagda.md
+++ b/src/graph-theory/dependent-products-reflexive-graphs.lagda.md
@@ -8,32 +8,29 @@ module graph-theory.dependent-products-reflexive-graphs where
```agda
open import foundation.action-on-identifications-functions
-open import foundation.binary-dependent-identifications
open import foundation.binary-transport
open import foundation.commuting-squares-of-identifications
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equality-dependent-function-types
open import foundation.equivalences
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.functoriality-dependent-function-types
open import foundation.functoriality-dependent-pair-types
open import foundation.fundamental-theorem-of-identity-types
open import foundation.homotopies
-open import foundation.homotopy-induction
open import foundation.identity-types
-open import foundation.reflexive-relations
open import foundation.retractions
open import foundation.sections
open import foundation.structure-identity-principle
open import foundation.torsorial-type-families
-open import foundation.transport-along-identifications
open import foundation.universe-levels
open import graph-theory.base-change-dependent-reflexive-graphs
open import graph-theory.cartesian-products-reflexive-graphs
-open import graph-theory.dependent-products-directed-graphs
open import graph-theory.dependent-reflexive-graphs
open import graph-theory.directed-graphs
open import graph-theory.morphisms-directed-graphs
diff --git a/src/graph-theory/dependent-sums-reflexive-graphs.lagda.md b/src/graph-theory/dependent-sums-reflexive-graphs.lagda.md
index f8b5131441..b8884d3c86 100644
--- a/src/graph-theory/dependent-sums-reflexive-graphs.lagda.md
+++ b/src/graph-theory/dependent-sums-reflexive-graphs.lagda.md
@@ -9,6 +9,7 @@ module graph-theory.dependent-sums-reflexive-graphs where
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.identity-types
open import foundation.structure-identity-principle
diff --git a/src/graph-theory/discrete-dependent-reflexive-graphs.lagda.md b/src/graph-theory/discrete-dependent-reflexive-graphs.lagda.md
index 9d43af0730..1dfd511684 100644
--- a/src/graph-theory/discrete-dependent-reflexive-graphs.lagda.md
+++ b/src/graph-theory/discrete-dependent-reflexive-graphs.lagda.md
@@ -7,6 +7,7 @@ module graph-theory.discrete-dependent-reflexive-graphs where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/graph-theory/discrete-directed-graphs.lagda.md b/src/graph-theory/discrete-directed-graphs.lagda.md
index c3ff8a436b..1653db7780 100644
--- a/src/graph-theory/discrete-directed-graphs.lagda.md
+++ b/src/graph-theory/discrete-directed-graphs.lagda.md
@@ -9,6 +9,7 @@ module graph-theory.discrete-directed-graphs where
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.discrete-binary-relations
open import foundation.empty-types
open import foundation.equivalences
diff --git a/src/graph-theory/discrete-reflexive-graphs.lagda.md b/src/graph-theory/discrete-reflexive-graphs.lagda.md
index e750402ea7..504ae19cd1 100644
--- a/src/graph-theory/discrete-reflexive-graphs.lagda.md
+++ b/src/graph-theory/discrete-reflexive-graphs.lagda.md
@@ -9,6 +9,7 @@ module graph-theory.discrete-reflexive-graphs where
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.discrete-reflexive-relations
open import foundation.universe-levels
diff --git a/src/graph-theory/embeddings-directed-graphs.lagda.md b/src/graph-theory/embeddings-directed-graphs.lagda.md
index e483f06dc2..eab04e7cd2 100644
--- a/src/graph-theory/embeddings-directed-graphs.lagda.md
+++ b/src/graph-theory/embeddings-directed-graphs.lagda.md
@@ -8,6 +8,7 @@ module graph-theory.embeddings-directed-graphs where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/graph-theory/embeddings-undirected-graphs.lagda.md b/src/graph-theory/embeddings-undirected-graphs.lagda.md
index db07969f1c..441fb3adc5 100644
--- a/src/graph-theory/embeddings-undirected-graphs.lagda.md
+++ b/src/graph-theory/embeddings-undirected-graphs.lagda.md
@@ -8,6 +8,7 @@ module graph-theory.embeddings-undirected-graphs where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/graph-theory/equivalences-directed-graphs.lagda.md b/src/graph-theory/equivalences-directed-graphs.lagda.md
index a95e1ea270..8e303f1034 100644
--- a/src/graph-theory/equivalences-directed-graphs.lagda.md
+++ b/src/graph-theory/equivalences-directed-graphs.lagda.md
@@ -13,6 +13,7 @@ open import foundation.binary-transport
open import foundation.cartesian-product-types
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equality-dependent-function-types
open import foundation.equivalence-extensionality
open import foundation.equivalences
diff --git a/src/graph-theory/equivalences-undirected-graphs.lagda.md b/src/graph-theory/equivalences-undirected-graphs.lagda.md
index 4b98ef0d5e..90d8cf3284 100644
--- a/src/graph-theory/equivalences-undirected-graphs.lagda.md
+++ b/src/graph-theory/equivalences-undirected-graphs.lagda.md
@@ -10,6 +10,7 @@ module graph-theory.equivalences-undirected-graphs where
open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equality-dependent-function-types
open import foundation.equivalence-extensionality
open import foundation.equivalences
diff --git a/src/graph-theory/faithful-morphisms-undirected-graphs.lagda.md b/src/graph-theory/faithful-morphisms-undirected-graphs.lagda.md
index 685ec29151..d720c8e403 100644
--- a/src/graph-theory/faithful-morphisms-undirected-graphs.lagda.md
+++ b/src/graph-theory/faithful-morphisms-undirected-graphs.lagda.md
@@ -8,6 +8,7 @@ module graph-theory.faithful-morphisms-undirected-graphs where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/graph-theory/fibers-directed-graphs.lagda.md b/src/graph-theory/fibers-directed-graphs.lagda.md
index ed82be7273..9e1605ac1d 100644
--- a/src/graph-theory/fibers-directed-graphs.lagda.md
+++ b/src/graph-theory/fibers-directed-graphs.lagda.md
@@ -10,6 +10,7 @@ module graph-theory.fibers-directed-graphs where
open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
open import foundation.homotopies
diff --git a/src/graph-theory/large-higher-directed-graphs.lagda.md b/src/graph-theory/large-higher-directed-graphs.lagda.md
index 6d805cf1a8..295f90798b 100644
--- a/src/graph-theory/large-higher-directed-graphs.lagda.md
+++ b/src/graph-theory/large-higher-directed-graphs.lagda.md
@@ -14,10 +14,11 @@ open import foundation.dependent-pair-types
open import foundation.function-types
open import foundation.identity-types
open import foundation.large-binary-relations
-open import foundation.raising-universe-levels
open import foundation.unit-type
open import foundation.universe-levels
+open import foundation-core.raising-universe-levels
+
open import graph-theory.directed-graphs
open import graph-theory.higher-directed-graphs
```
diff --git a/src/graph-theory/large-reflexive-graphs.lagda.md b/src/graph-theory/large-reflexive-graphs.lagda.md
index 0885e859a1..e752ceaf5e 100644
--- a/src/graph-theory/large-reflexive-graphs.lagda.md
+++ b/src/graph-theory/large-reflexive-graphs.lagda.md
@@ -7,7 +7,6 @@ module graph-theory.large-reflexive-graphs where
Imports
```agda
-open import foundation.dependent-pair-types
open import foundation.universe-levels
```
diff --git a/src/graph-theory/matchings.lagda.md b/src/graph-theory/matchings.lagda.md
index 66d2d1cc2c..4d333e4239 100644
--- a/src/graph-theory/matchings.lagda.md
+++ b/src/graph-theory/matchings.lagda.md
@@ -10,6 +10,8 @@ module graph-theory.matchings where
open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.unit-type
diff --git a/src/graph-theory/mere-equivalences-undirected-graphs.lagda.md b/src/graph-theory/mere-equivalences-undirected-graphs.lagda.md
index 9376ae4058..aef2eeb88b 100644
--- a/src/graph-theory/mere-equivalences-undirected-graphs.lagda.md
+++ b/src/graph-theory/mere-equivalences-undirected-graphs.lagda.md
@@ -7,6 +7,7 @@ module graph-theory.mere-equivalences-undirected-graphs where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.propositional-truncations
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/graph-theory/morphisms-undirected-graphs.lagda.md b/src/graph-theory/morphisms-undirected-graphs.lagda.md
index aa80fba80a..52ff7182b9 100644
--- a/src/graph-theory/morphisms-undirected-graphs.lagda.md
+++ b/src/graph-theory/morphisms-undirected-graphs.lagda.md
@@ -10,6 +10,7 @@ module graph-theory.morphisms-undirected-graphs where
open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equality-dependent-function-types
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/graph-theory/raising-universe-levels-directed-graphs.lagda.md b/src/graph-theory/raising-universe-levels-directed-graphs.lagda.md
index ff763cffc0..7b166ec703 100644
--- a/src/graph-theory/raising-universe-levels-directed-graphs.lagda.md
+++ b/src/graph-theory/raising-universe-levels-directed-graphs.lagda.md
@@ -9,9 +9,10 @@ module graph-theory.raising-universe-levels-directed-graphs where
```agda
open import foundation.dependent-pair-types
open import foundation.equivalences
-open import foundation.raising-universe-levels
open import foundation.universe-levels
+open import foundation-core.raising-universe-levels
+
open import graph-theory.directed-graphs
open import graph-theory.equivalences-directed-graphs
open import graph-theory.walks-directed-graphs
diff --git a/src/graph-theory/reflecting-maps-undirected-graphs.lagda.md b/src/graph-theory/reflecting-maps-undirected-graphs.lagda.md
index 5be62477ee..0c6365722e 100644
--- a/src/graph-theory/reflecting-maps-undirected-graphs.lagda.md
+++ b/src/graph-theory/reflecting-maps-undirected-graphs.lagda.md
@@ -9,6 +9,7 @@ module graph-theory.reflecting-maps-undirected-graphs where
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.symmetric-identity-types
open import foundation.unit-type
open import foundation.universe-levels
diff --git a/src/graph-theory/regular-undirected-graphs.lagda.md b/src/graph-theory/regular-undirected-graphs.lagda.md
index 295ec95081..815b1a9373 100644
--- a/src/graph-theory/regular-undirected-graphs.lagda.md
+++ b/src/graph-theory/regular-undirected-graphs.lagda.md
@@ -7,6 +7,7 @@ module graph-theory.regular-undirected-graphs where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.mere-equivalences
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/graph-theory/simple-undirected-graphs.lagda.md b/src/graph-theory/simple-undirected-graphs.lagda.md
index b81f7668e6..3621105d64 100644
--- a/src/graph-theory/simple-undirected-graphs.lagda.md
+++ b/src/graph-theory/simple-undirected-graphs.lagda.md
@@ -8,6 +8,7 @@ module graph-theory.simple-undirected-graphs where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.negation
open import foundation.propositions
diff --git a/src/graph-theory/terminal-directed-graphs.lagda.md b/src/graph-theory/terminal-directed-graphs.lagda.md
index d49804435a..95903aeffc 100644
--- a/src/graph-theory/terminal-directed-graphs.lagda.md
+++ b/src/graph-theory/terminal-directed-graphs.lagda.md
@@ -8,8 +8,10 @@ module graph-theory.terminal-directed-graphs where
```agda
open import foundation.contractible-types
+open import foundation.dependent-products-contractible-types
open import foundation.dependent-pair-types
open import foundation.propositions
+open import foundation.dependent-products-propositions
open import foundation.unit-type
open import foundation.universe-levels
diff --git a/src/graph-theory/terminal-reflexive-graphs.lagda.md b/src/graph-theory/terminal-reflexive-graphs.lagda.md
index 31ff8ae60a..a387b24b43 100644
--- a/src/graph-theory/terminal-reflexive-graphs.lagda.md
+++ b/src/graph-theory/terminal-reflexive-graphs.lagda.md
@@ -8,8 +8,10 @@ module graph-theory.terminal-reflexive-graphs where
```agda
open import foundation.contractible-types
+open import foundation.dependent-products-contractible-types
open import foundation.dependent-pair-types
open import foundation.propositions
+open import foundation.dependent-products-propositions
open import foundation.unit-type
open import foundation.universe-levels
diff --git a/src/graph-theory/trails-undirected-graphs.lagda.md b/src/graph-theory/trails-undirected-graphs.lagda.md
index 3aaaa397cc..88b42411b0 100644
--- a/src/graph-theory/trails-undirected-graphs.lagda.md
+++ b/src/graph-theory/trails-undirected-graphs.lagda.md
@@ -11,6 +11,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.injective-maps
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/graph-theory/walks-directed-graphs.lagda.md b/src/graph-theory/walks-directed-graphs.lagda.md
index b7e9537b73..8138dc122b 100644
--- a/src/graph-theory/walks-directed-graphs.lagda.md
+++ b/src/graph-theory/walks-directed-graphs.lagda.md
@@ -15,6 +15,7 @@ open import foundation.commuting-squares-of-maps
open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-cartesian-product-types
@@ -23,11 +24,12 @@ open import foundation.homotopies
open import foundation.identity-types
open import foundation.injective-maps
open import foundation.negated-equality
-open import foundation.raising-universe-levels
open import foundation.torsorial-type-families
open import foundation.transport-along-identifications
open import foundation.universe-levels
+open import foundation-core.raising-universe-levels
+
open import graph-theory.directed-graphs
open import graph-theory.equivalences-directed-graphs
open import graph-theory.morphisms-directed-graphs
diff --git a/src/graph-theory/walks-undirected-graphs.lagda.md b/src/graph-theory/walks-undirected-graphs.lagda.md
index b73510b8b4..f17e3b7de3 100644
--- a/src/graph-theory/walks-undirected-graphs.lagda.md
+++ b/src/graph-theory/walks-undirected-graphs.lagda.md
@@ -15,6 +15,8 @@ open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/group-theory/abelian-groups.lagda.md b/src/group-theory/abelian-groups.lagda.md
index 6023e6276d..7873001c85 100644
--- a/src/group-theory/abelian-groups.lagda.md
+++ b/src/group-theory/abelian-groups.lagda.md
@@ -13,6 +13,7 @@ open import foundation.binary-embeddings
open import foundation.binary-equivalences
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.full-subtypes
diff --git a/src/group-theory/automorphism-groups.lagda.md b/src/group-theory/automorphism-groups.lagda.md
index 2214cbb69c..668dde054a 100644
--- a/src/group-theory/automorphism-groups.lagda.md
+++ b/src/group-theory/automorphism-groups.lagda.md
@@ -9,14 +9,11 @@ module group-theory.automorphism-groups where
```agda
open import foundation.1-types
open import foundation.connected-components
-open import foundation.contractible-types
open import foundation.dependent-pair-types
open import foundation.equivalences
open import foundation.fundamental-theorem-of-identity-types
open import foundation.identity-types
open import foundation.mere-equality
-open import foundation.propositional-truncations
-open import foundation.subtype-identity-principle
open import foundation.torsorial-type-families
open import foundation.universe-levels
diff --git a/src/group-theory/cartesian-products-concrete-groups.lagda.md b/src/group-theory/cartesian-products-concrete-groups.lagda.md
index a60202281c..141a833888 100644
--- a/src/group-theory/cartesian-products-concrete-groups.lagda.md
+++ b/src/group-theory/cartesian-products-concrete-groups.lagda.md
@@ -11,6 +11,8 @@ open import foundation.0-connected-types
open import foundation.1-types
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
+open import foundation.dependent-products-truncated-types
open import foundation.equivalences
open import foundation.identity-types
open import foundation.mere-equality
diff --git a/src/group-theory/cayleys-theorem.lagda.md b/src/group-theory/cayleys-theorem.lagda.md
index 7df1fa969a..b770b023ac 100644
--- a/src/group-theory/cayleys-theorem.lagda.md
+++ b/src/group-theory/cayleys-theorem.lagda.md
@@ -12,7 +12,6 @@ open import foundation.embeddings
open import foundation.equivalence-extensionality
open import foundation.identity-types
open import foundation.injective-maps
-open import foundation.sets
open import foundation.universe-levels
open import group-theory.embeddings-groups
diff --git a/src/group-theory/centers-groups.lagda.md b/src/group-theory/centers-groups.lagda.md
index a92e3af960..4ba199be39 100644
--- a/src/group-theory/centers-groups.lagda.md
+++ b/src/group-theory/centers-groups.lagda.md
@@ -8,6 +8,7 @@ module group-theory.centers-groups where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/group-theory/centers-monoids.lagda.md b/src/group-theory/centers-monoids.lagda.md
index 39deb28916..f3c3800be2 100644
--- a/src/group-theory/centers-monoids.lagda.md
+++ b/src/group-theory/centers-monoids.lagda.md
@@ -8,6 +8,7 @@ module group-theory.centers-monoids where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/group-theory/centers-semigroups.lagda.md b/src/group-theory/centers-semigroups.lagda.md
index 9997e96a0c..e38711f784 100644
--- a/src/group-theory/centers-semigroups.lagda.md
+++ b/src/group-theory/centers-semigroups.lagda.md
@@ -8,6 +8,7 @@ module group-theory.centers-semigroups where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/group-theory/central-elements-groups.lagda.md b/src/group-theory/central-elements-groups.lagda.md
index 21cd4b9353..f451b3cbb1 100644
--- a/src/group-theory/central-elements-groups.lagda.md
+++ b/src/group-theory/central-elements-groups.lagda.md
@@ -8,6 +8,7 @@ module group-theory.central-elements-groups where
```agda
open import foundation.action-on-identifications-functions
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.subtypes
diff --git a/src/group-theory/central-elements-monoids.lagda.md b/src/group-theory/central-elements-monoids.lagda.md
index bece727ced..6dbc1ae5bc 100644
--- a/src/group-theory/central-elements-monoids.lagda.md
+++ b/src/group-theory/central-elements-monoids.lagda.md
@@ -7,6 +7,7 @@ module group-theory.central-elements-monoids where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/group-theory/central-elements-semigroups.lagda.md b/src/group-theory/central-elements-semigroups.lagda.md
index cedeca3a11..78bc8a03ce 100644
--- a/src/group-theory/central-elements-semigroups.lagda.md
+++ b/src/group-theory/central-elements-semigroups.lagda.md
@@ -8,6 +8,7 @@ module group-theory.central-elements-semigroups where
```agda
open import foundation.action-on-identifications-functions
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.sets
diff --git a/src/group-theory/centralizer-subgroups.lagda.md b/src/group-theory/centralizer-subgroups.lagda.md
index 9e44de697c..134a316218 100644
--- a/src/group-theory/centralizer-subgroups.lagda.md
+++ b/src/group-theory/centralizer-subgroups.lagda.md
@@ -9,6 +9,7 @@ module group-theory.centralizer-subgroups where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.sets
diff --git a/src/group-theory/characteristic-subgroups.lagda.md b/src/group-theory/characteristic-subgroups.lagda.md
index 023e2b5cee..18ab7fc99e 100644
--- a/src/group-theory/characteristic-subgroups.lagda.md
+++ b/src/group-theory/characteristic-subgroups.lagda.md
@@ -7,6 +7,7 @@ module group-theory.characteristic-subgroups where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/group-theory/commutative-monoids.lagda.md b/src/group-theory/commutative-monoids.lagda.md
index 89b8b3f6aa..c2131fbee7 100644
--- a/src/group-theory/commutative-monoids.lagda.md
+++ b/src/group-theory/commutative-monoids.lagda.md
@@ -9,11 +9,13 @@ module group-theory.commutative-monoids where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.interchange-law
open import foundation.iterated-dependent-product-types
open import foundation.propositions
open import foundation.sets
+open import foundation.telescopes
open import foundation.unital-binary-operations
open import foundation.universe-levels
diff --git a/src/group-theory/commuting-elements-groups.lagda.md b/src/group-theory/commuting-elements-groups.lagda.md
index 9e76af7d68..871a118e81 100644
--- a/src/group-theory/commuting-elements-groups.lagda.md
+++ b/src/group-theory/commuting-elements-groups.lagda.md
@@ -7,6 +7,7 @@ module group-theory.commuting-elements-groups where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/group-theory/commuting-elements-monoids.lagda.md b/src/group-theory/commuting-elements-monoids.lagda.md
index 3f74bcc1d1..5456c02853 100644
--- a/src/group-theory/commuting-elements-monoids.lagda.md
+++ b/src/group-theory/commuting-elements-monoids.lagda.md
@@ -7,6 +7,7 @@ module group-theory.commuting-elements-monoids where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/group-theory/commuting-elements-semigroups.lagda.md b/src/group-theory/commuting-elements-semigroups.lagda.md
index 4c5d7998e8..66bb856c8c 100644
--- a/src/group-theory/commuting-elements-semigroups.lagda.md
+++ b/src/group-theory/commuting-elements-semigroups.lagda.md
@@ -8,6 +8,7 @@ module group-theory.commuting-elements-semigroups where
```agda
open import foundation.action-on-identifications-functions
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.sets
diff --git a/src/group-theory/concrete-groups.lagda.md b/src/group-theory/concrete-groups.lagda.md
index 17b5b67ad6..a106030349 100644
--- a/src/group-theory/concrete-groups.lagda.md
+++ b/src/group-theory/concrete-groups.lagda.md
@@ -10,6 +10,8 @@ module group-theory.concrete-groups where
open import foundation.0-connected-types
open import foundation.1-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
+open import foundation.dependent-products-truncated-types
open import foundation.identity-types
open import foundation.mere-equality
open import foundation.propositional-truncations
diff --git a/src/group-theory/congruence-relations-abelian-groups.lagda.md b/src/group-theory/congruence-relations-abelian-groups.lagda.md
index f9f130587d..47871118c9 100644
--- a/src/group-theory/congruence-relations-abelian-groups.lagda.md
+++ b/src/group-theory/congruence-relations-abelian-groups.lagda.md
@@ -8,6 +8,7 @@ module group-theory.congruence-relations-abelian-groups where
```agda
open import foundation.binary-relations
+open import foundation.dependent-products-propositions
open import foundation.equivalence-relations
open import foundation.equivalences
open import foundation.identity-types
diff --git a/src/group-theory/congruence-relations-commutative-monoids.lagda.md b/src/group-theory/congruence-relations-commutative-monoids.lagda.md
index 2b79291e89..a4168fb70e 100644
--- a/src/group-theory/congruence-relations-commutative-monoids.lagda.md
+++ b/src/group-theory/congruence-relations-commutative-monoids.lagda.md
@@ -8,6 +8,7 @@ module group-theory.congruence-relations-commutative-monoids where
```agda
open import foundation.binary-relations
+open import foundation.dependent-products-propositions
open import foundation.equivalence-relations
open import foundation.equivalences
open import foundation.identity-types
diff --git a/src/group-theory/congruence-relations-groups.lagda.md b/src/group-theory/congruence-relations-groups.lagda.md
index ca3018bb5d..02d32c1eb3 100644
--- a/src/group-theory/congruence-relations-groups.lagda.md
+++ b/src/group-theory/congruence-relations-groups.lagda.md
@@ -11,6 +11,7 @@ open import foundation.action-on-identifications-functions
open import foundation.binary-relations
open import foundation.binary-transport
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalence-relations
open import foundation.equivalences
open import foundation.identity-types
diff --git a/src/group-theory/congruence-relations-monoids.lagda.md b/src/group-theory/congruence-relations-monoids.lagda.md
index ce5778b509..db4d6461b2 100644
--- a/src/group-theory/congruence-relations-monoids.lagda.md
+++ b/src/group-theory/congruence-relations-monoids.lagda.md
@@ -9,6 +9,7 @@ module group-theory.congruence-relations-monoids where
```agda
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalence-relations
open import foundation.equivalences
open import foundation.identity-types
diff --git a/src/group-theory/congruence-relations-semigroups.lagda.md b/src/group-theory/congruence-relations-semigroups.lagda.md
index 5ebc48e734..12821950c3 100644
--- a/src/group-theory/congruence-relations-semigroups.lagda.md
+++ b/src/group-theory/congruence-relations-semigroups.lagda.md
@@ -9,6 +9,7 @@ module group-theory.congruence-relations-semigroups where
```agda
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalence-relations
open import foundation.equivalences
open import foundation.fundamental-theorem-of-identity-types
diff --git a/src/group-theory/cores-monoids.lagda.md b/src/group-theory/cores-monoids.lagda.md
index 50328b33a1..47c236e1d6 100644
--- a/src/group-theory/cores-monoids.lagda.md
+++ b/src/group-theory/cores-monoids.lagda.md
@@ -10,6 +10,7 @@ module group-theory.cores-monoids where
open import category-theory.functors-large-precategories
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.subtypes
diff --git a/src/group-theory/cyclic-groups.lagda.md b/src/group-theory/cyclic-groups.lagda.md
index 08c862b1fc..e49680a1be 100644
--- a/src/group-theory/cyclic-groups.lagda.md
+++ b/src/group-theory/cyclic-groups.lagda.md
@@ -8,6 +8,7 @@ module group-theory.cyclic-groups where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.existential-quantification
open import foundation.identity-types
open import foundation.inhabited-subtypes
diff --git a/src/group-theory/decidable-subgroups.lagda.md b/src/group-theory/decidable-subgroups.lagda.md
index e523eb23cb..e8595a07e5 100644
--- a/src/group-theory/decidable-subgroups.lagda.md
+++ b/src/group-theory/decidable-subgroups.lagda.md
@@ -10,6 +10,7 @@ module group-theory.decidable-subgroups where
open import foundation.binary-relations
open import foundation.decidable-subtypes
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalence-relations
open import foundation.equivalences
diff --git a/src/group-theory/e8-lattice.lagda.md b/src/group-theory/e8-lattice.lagda.md
index 004bb360a5..85b7ccc933 100644
--- a/src/group-theory/e8-lattice.lagda.md
+++ b/src/group-theory/e8-lattice.lagda.md
@@ -7,6 +7,7 @@ module group-theory.e8-lattice where
Imports
```agda
+open import elementary-number-theory.equality-integers
open import elementary-number-theory.integers
open import foundation.equality-coproduct-types
diff --git a/src/group-theory/elements-of-finite-order-groups.lagda.md b/src/group-theory/elements-of-finite-order-groups.lagda.md
index de05cf476b..c63a8048fa 100644
--- a/src/group-theory/elements-of-finite-order-groups.lagda.md
+++ b/src/group-theory/elements-of-finite-order-groups.lagda.md
@@ -10,6 +10,7 @@ module group-theory.elements-of-finite-order-groups where
open import elementary-number-theory.group-of-integers
open import elementary-number-theory.nonzero-integers
+open import foundation.dependent-products-propositions
open import foundation.existential-quantification
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/group-theory/epimorphisms-groups.lagda.md b/src/group-theory/epimorphisms-groups.lagda.md
index be41b90450..6084d2e524 100644
--- a/src/group-theory/epimorphisms-groups.lagda.md
+++ b/src/group-theory/epimorphisms-groups.lagda.md
@@ -9,6 +9,7 @@ module group-theory.epimorphisms-groups where
```agda
open import category-theory.epimorphisms-in-large-precategories
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/group-theory/equivalences-concrete-group-actions.lagda.md b/src/group-theory/equivalences-concrete-group-actions.lagda.md
index 27c37431a5..22e1e7eb49 100644
--- a/src/group-theory/equivalences-concrete-group-actions.lagda.md
+++ b/src/group-theory/equivalences-concrete-group-actions.lagda.md
@@ -9,6 +9,7 @@ module group-theory.equivalences-concrete-group-actions where
```agda
open import foundation.1-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equality-dependent-function-types
open import foundation.equivalences
diff --git a/src/group-theory/equivalences-group-actions.lagda.md b/src/group-theory/equivalences-group-actions.lagda.md
index cabae428b7..07ddf148ab 100644
--- a/src/group-theory/equivalences-group-actions.lagda.md
+++ b/src/group-theory/equivalences-group-actions.lagda.md
@@ -10,6 +10,7 @@ module group-theory.equivalences-group-actions where
open import foundation.commuting-squares-of-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalence-extensionality
open import foundation.equivalences
open import foundation.functoriality-dependent-function-types
diff --git a/src/group-theory/equivalences-semigroups.lagda.md b/src/group-theory/equivalences-semigroups.lagda.md
index b0ec4a907d..ff96b5f518 100644
--- a/src/group-theory/equivalences-semigroups.lagda.md
+++ b/src/group-theory/equivalences-semigroups.lagda.md
@@ -8,6 +8,7 @@ module group-theory.equivalences-semigroups where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-extensionality
open import foundation.function-types
diff --git a/src/group-theory/free-concrete-group-actions.lagda.md b/src/group-theory/free-concrete-group-actions.lagda.md
index 7eb0462d9f..eb72881ae8 100644
--- a/src/group-theory/free-concrete-group-actions.lagda.md
+++ b/src/group-theory/free-concrete-group-actions.lagda.md
@@ -8,6 +8,7 @@ module group-theory.free-concrete-group-actions where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.function-types
open import foundation.propositions
open import foundation.sets
diff --git a/src/group-theory/full-subgroups.lagda.md b/src/group-theory/full-subgroups.lagda.md
index 5200efc0f3..61f7e6dc6c 100644
--- a/src/group-theory/full-subgroups.lagda.md
+++ b/src/group-theory/full-subgroups.lagda.md
@@ -8,6 +8,7 @@ module group-theory.full-subgroups where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.full-subtypes
open import foundation.propositions
diff --git a/src/group-theory/full-subsemigroups.lagda.md b/src/group-theory/full-subsemigroups.lagda.md
index 507941cd28..68b33a7da1 100644
--- a/src/group-theory/full-subsemigroups.lagda.md
+++ b/src/group-theory/full-subsemigroups.lagda.md
@@ -8,6 +8,7 @@ module group-theory.full-subsemigroups where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.full-subtypes
open import foundation.propositions
diff --git a/src/group-theory/functoriality-quotient-groups.lagda.md b/src/group-theory/functoriality-quotient-groups.lagda.md
index 6b48fc225f..cbc8a0fe85 100644
--- a/src/group-theory/functoriality-quotient-groups.lagda.md
+++ b/src/group-theory/functoriality-quotient-groups.lagda.md
@@ -13,6 +13,7 @@ open import foundation.action-on-identifications-functions
open import foundation.commuting-squares-of-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.homotopies
open import foundation.identity-types
open import foundation.universe-levels
diff --git a/src/group-theory/generating-elements-groups.lagda.md b/src/group-theory/generating-elements-groups.lagda.md
index 41643d2ee7..d4016e3ff4 100644
--- a/src/group-theory/generating-elements-groups.lagda.md
+++ b/src/group-theory/generating-elements-groups.lagda.md
@@ -13,6 +13,7 @@ open import elementary-number-theory.integers
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.identity-types
@@ -21,6 +22,7 @@ open import foundation.injective-maps
open import foundation.propositional-maps
open import foundation.propositional-truncations
open import foundation.propositions
+open import foundation.raising-universe-levels-unit-type
open import foundation.sets
open import foundation.subtypes
open import foundation.surjective-maps
diff --git a/src/group-theory/group-actions.lagda.md b/src/group-theory/group-actions.lagda.md
index b0648b9beb..ae7b61578f 100644
--- a/src/group-theory/group-actions.lagda.md
+++ b/src/group-theory/group-actions.lagda.md
@@ -10,7 +10,7 @@ module group-theory.group-actions where
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.equivalences
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.homotopies
open import foundation.identity-types
@@ -19,7 +19,6 @@ open import foundation.universe-levels
open import group-theory.groups
open import group-theory.homomorphisms-groups
-open import group-theory.subgroups
open import group-theory.symmetric-groups
open import group-theory.trivial-group-homomorphisms
```
diff --git a/src/group-theory/groups.lagda.md b/src/group-theory/groups.lagda.md
index ae04f5eb0d..28a107f53d 100644
--- a/src/group-theory/groups.lagda.md
+++ b/src/group-theory/groups.lagda.md
@@ -13,6 +13,7 @@ open import foundation.binary-embeddings
open import foundation.binary-equivalences
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.function-extensionality
diff --git a/src/group-theory/homomorphisms-concrete-group-actions.lagda.md b/src/group-theory/homomorphisms-concrete-group-actions.lagda.md
index 62057b8e87..43e9df8f97 100644
--- a/src/group-theory/homomorphisms-concrete-group-actions.lagda.md
+++ b/src/group-theory/homomorphisms-concrete-group-actions.lagda.md
@@ -8,6 +8,7 @@ module group-theory.homomorphisms-concrete-group-actions where
```agda
open import foundation.0-connected-types
+open import foundation.dependent-products-propositions
open import foundation.equality-dependent-function-types
open import foundation.equivalences
open import foundation.function-extensionality
diff --git a/src/group-theory/homomorphisms-generated-subgroups.lagda.md b/src/group-theory/homomorphisms-generated-subgroups.lagda.md
index 3f3d1b219b..efa058ae23 100644
--- a/src/group-theory/homomorphisms-generated-subgroups.lagda.md
+++ b/src/group-theory/homomorphisms-generated-subgroups.lagda.md
@@ -11,10 +11,13 @@ open import foundation.action-on-identifications-functions
open import foundation.cartesian-product-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
+open import foundation.dependent-products-truncated-types
open import foundation.embeddings
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.identity-types
open import foundation.propositional-truncations
open import foundation.propositions
diff --git a/src/group-theory/homomorphisms-group-actions.lagda.md b/src/group-theory/homomorphisms-group-actions.lagda.md
index b9f76c3392..400664e0db 100644
--- a/src/group-theory/homomorphisms-group-actions.lagda.md
+++ b/src/group-theory/homomorphisms-group-actions.lagda.md
@@ -9,6 +9,7 @@ module group-theory.homomorphisms-group-actions where
```agda
open import foundation.commuting-squares-of-maps
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.fundamental-theorem-of-identity-types
@@ -19,6 +20,7 @@ open import foundation.iterated-dependent-product-types
open import foundation.propositions
open import foundation.sets
open import foundation.subtype-identity-principle
+open import foundation.telescopes
open import foundation.torsorial-type-families
open import foundation.universe-levels
diff --git a/src/group-theory/homomorphisms-groups.lagda.md b/src/group-theory/homomorphisms-groups.lagda.md
index a4e286a07f..e9cf7bc4e7 100644
--- a/src/group-theory/homomorphisms-groups.lagda.md
+++ b/src/group-theory/homomorphisms-groups.lagda.md
@@ -10,6 +10,7 @@ module group-theory.homomorphisms-groups where
open import foundation.action-on-identifications-functions
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/group-theory/homomorphisms-monoids.lagda.md b/src/group-theory/homomorphisms-monoids.lagda.md
index f8c37265bd..1ca45a0924 100644
--- a/src/group-theory/homomorphisms-monoids.lagda.md
+++ b/src/group-theory/homomorphisms-monoids.lagda.md
@@ -9,6 +9,7 @@ module group-theory.homomorphisms-monoids where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.fundamental-theorem-of-identity-types
open import foundation.homotopies
diff --git a/src/group-theory/homomorphisms-semigroups.lagda.md b/src/group-theory/homomorphisms-semigroups.lagda.md
index b00a30a3fa..17714303a0 100644
--- a/src/group-theory/homomorphisms-semigroups.lagda.md
+++ b/src/group-theory/homomorphisms-semigroups.lagda.md
@@ -9,6 +9,7 @@ module group-theory.homomorphisms-semigroups where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.fundamental-theorem-of-identity-types
diff --git a/src/group-theory/homotopy-automorphism-groups.lagda.md b/src/group-theory/homotopy-automorphism-groups.lagda.md
index f9cd8b06dc..0e344923e4 100644
--- a/src/group-theory/homotopy-automorphism-groups.lagda.md
+++ b/src/group-theory/homotopy-automorphism-groups.lagda.md
@@ -7,26 +7,13 @@ module group-theory.homotopy-automorphism-groups where
Imports
```agda
-open import foundation.1-types
-open import foundation.connected-components
-open import foundation.contractible-types
-open import foundation.dependent-pair-types
-open import foundation.equivalences
-open import foundation.fundamental-theorem-of-identity-types
-open import foundation.identity-types
-open import foundation.mere-equality
-open import foundation.propositional-truncations
-open import foundation.subtype-identity-principle
-open import foundation.torsorial-type-families
open import foundation.truncation-levels
open import foundation.truncations
open import foundation.universe-levels
open import group-theory.automorphism-groups
open import group-theory.concrete-groups
-open import group-theory.equivalences-concrete-groups
-open import higher-group-theory.automorphism-groups
open import higher-group-theory.higher-groups
open import structured-types.pointed-types
diff --git a/src/group-theory/integer-multiples-of-elements-abelian-groups.lagda.md b/src/group-theory/integer-multiples-of-elements-abelian-groups.lagda.md
index e592961eb4..fad057642a 100644
--- a/src/group-theory/integer-multiples-of-elements-abelian-groups.lagda.md
+++ b/src/group-theory/integer-multiples-of-elements-abelian-groups.lagda.md
@@ -14,6 +14,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/group-theory/integer-powers-of-elements-groups.lagda.md b/src/group-theory/integer-powers-of-elements-groups.lagda.md
index 47de6edf13..5444c8d915 100644
--- a/src/group-theory/integer-powers-of-elements-groups.lagda.md
+++ b/src/group-theory/integer-powers-of-elements-groups.lagda.md
@@ -14,6 +14,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.action-on-identifications-functions
open import foundation.coproduct-types
+open import foundation.dependent-products-propositions
open import foundation.existential-quantification
open import foundation.identity-types
open import foundation.iterating-automorphisms
diff --git a/src/group-theory/inverse-semigroups.lagda.md b/src/group-theory/inverse-semigroups.lagda.md
index 983cf5a04e..4cc34b00c4 100644
--- a/src/group-theory/inverse-semigroups.lagda.md
+++ b/src/group-theory/inverse-semigroups.lagda.md
@@ -10,6 +10,7 @@ module group-theory.inverse-semigroups where
open import foundation.cartesian-product-types
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.identity-types
open import foundation.sets
open import foundation.universe-levels
diff --git a/src/group-theory/invertible-elements-monoids.lagda.md b/src/group-theory/invertible-elements-monoids.lagda.md
index c50cf77558..88529335b8 100644
--- a/src/group-theory/invertible-elements-monoids.lagda.md
+++ b/src/group-theory/invertible-elements-monoids.lagda.md
@@ -11,6 +11,8 @@ open import foundation.action-on-identifications-functions
open import foundation.cartesian-product-types
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.homotopies
diff --git a/src/group-theory/isomorphisms-abelian-groups.lagda.md b/src/group-theory/isomorphisms-abelian-groups.lagda.md
index 9d7b07d36e..5f503f17f1 100644
--- a/src/group-theory/isomorphisms-abelian-groups.lagda.md
+++ b/src/group-theory/isomorphisms-abelian-groups.lagda.md
@@ -10,6 +10,8 @@ module group-theory.isomorphisms-abelian-groups where
open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
diff --git a/src/group-theory/isomorphisms-group-actions.lagda.md b/src/group-theory/isomorphisms-group-actions.lagda.md
index 49635eee09..c3edfaaebf 100644
--- a/src/group-theory/isomorphisms-group-actions.lagda.md
+++ b/src/group-theory/isomorphisms-group-actions.lagda.md
@@ -12,6 +12,8 @@ open import category-theory.isomorphisms-in-large-precategories
open import foundation.commuting-squares-of-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-extensionality
open import foundation.functoriality-dependent-pair-types
diff --git a/src/group-theory/isomorphisms-groups.lagda.md b/src/group-theory/isomorphisms-groups.lagda.md
index 0ab46ae767..e833547233 100644
--- a/src/group-theory/isomorphisms-groups.lagda.md
+++ b/src/group-theory/isomorphisms-groups.lagda.md
@@ -11,6 +11,8 @@ open import category-theory.isomorphisms-in-large-precategories
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
diff --git a/src/group-theory/isomorphisms-monoids.lagda.md b/src/group-theory/isomorphisms-monoids.lagda.md
index 5ed4766a19..458ffa98b5 100644
--- a/src/group-theory/isomorphisms-monoids.lagda.md
+++ b/src/group-theory/isomorphisms-monoids.lagda.md
@@ -9,6 +9,7 @@ module group-theory.isomorphisms-monoids where
```agda
open import category-theory.isomorphisms-in-large-precategories
+open import foundation.dependent-products-propositions
open import foundation.function-types
open import foundation.homotopies
open import foundation.identity-types
diff --git a/src/group-theory/isomorphisms-semigroups.lagda.md b/src/group-theory/isomorphisms-semigroups.lagda.md
index 2c2bb15a9a..4eae2f318e 100644
--- a/src/group-theory/isomorphisms-semigroups.lagda.md
+++ b/src/group-theory/isomorphisms-semigroups.lagda.md
@@ -12,8 +12,10 @@ open import category-theory.isomorphisms-in-large-precategories
open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
open import foundation.homotopies
diff --git a/src/group-theory/iterated-cartesian-products-concrete-groups.lagda.md b/src/group-theory/iterated-cartesian-products-concrete-groups.lagda.md
index db2815fc12..5776ced209 100644
--- a/src/group-theory/iterated-cartesian-products-concrete-groups.lagda.md
+++ b/src/group-theory/iterated-cartesian-products-concrete-groups.lagda.md
@@ -14,6 +14,9 @@ open import foundation.1-types
open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
+open import foundation.dependent-products-truncated-types
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-cartesian-product-types
@@ -22,6 +25,7 @@ open import foundation.iterated-cartesian-product-types
open import foundation.mere-equality
open import foundation.propositional-truncations
open import foundation.propositions
+open import foundation.raising-universe-levels-unit-type
open import foundation.sets
open import foundation.truncated-types
open import foundation.truncation-levels
diff --git a/src/group-theory/kernels-homomorphisms-groups.lagda.md b/src/group-theory/kernels-homomorphisms-groups.lagda.md
index ba177596f8..76c29d2c74 100644
--- a/src/group-theory/kernels-homomorphisms-groups.lagda.md
+++ b/src/group-theory/kernels-homomorphisms-groups.lagda.md
@@ -9,6 +9,7 @@ module group-theory.kernels-homomorphisms-groups where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equality-cartesian-product-types
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/group-theory/loop-groups-sets.lagda.md b/src/group-theory/loop-groups-sets.lagda.md
index 15fdf92516..2968e00b2e 100644
--- a/src/group-theory/loop-groups-sets.lagda.md
+++ b/src/group-theory/loop-groups-sets.lagda.md
@@ -9,6 +9,8 @@ module group-theory.loop-groups-sets where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
+open import foundation.dependent-products-truncated-types
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
open import foundation.function-extensionality
diff --git a/src/group-theory/mere-equivalences-concrete-group-actions.lagda.md b/src/group-theory/mere-equivalences-concrete-group-actions.lagda.md
index 5e895381eb..5cda13063d 100644
--- a/src/group-theory/mere-equivalences-concrete-group-actions.lagda.md
+++ b/src/group-theory/mere-equivalences-concrete-group-actions.lagda.md
@@ -7,6 +7,7 @@ module group-theory.mere-equivalences-concrete-group-actions where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.functoriality-propositional-truncation
open import foundation.mere-equality
open import foundation.propositional-truncations
diff --git a/src/group-theory/mere-equivalences-group-actions.lagda.md b/src/group-theory/mere-equivalences-group-actions.lagda.md
index 72c1412d12..e850631561 100644
--- a/src/group-theory/mere-equivalences-group-actions.lagda.md
+++ b/src/group-theory/mere-equivalences-group-actions.lagda.md
@@ -7,6 +7,7 @@ module group-theory.mere-equivalences-group-actions where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.propositional-truncations
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/group-theory/minkowski-multiplication-commutative-monoids.lagda.md b/src/group-theory/minkowski-multiplication-commutative-monoids.lagda.md
index e86970fa14..6433e5bbad 100644
--- a/src/group-theory/minkowski-multiplication-commutative-monoids.lagda.md
+++ b/src/group-theory/minkowski-multiplication-commutative-monoids.lagda.md
@@ -7,7 +7,6 @@ module group-theory.minkowski-multiplication-commutative-monoids where
Imports
```agda
-open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
open import foundation.existential-quantification
open import foundation.identity-types
@@ -19,10 +18,7 @@ open import foundation.universe-levels
open import group-theory.commutative-monoids
open import group-theory.minkowski-multiplication-monoids
-open import group-theory.monoids
open import group-theory.subsets-commutative-monoids
-
-open import logic.functoriality-existential-quantification
```
diff --git a/src/group-theory/minkowski-multiplication-monoids.lagda.md b/src/group-theory/minkowski-multiplication-monoids.lagda.md
index 1739e3919e..8ce30adb8f 100644
--- a/src/group-theory/minkowski-multiplication-monoids.lagda.md
+++ b/src/group-theory/minkowski-multiplication-monoids.lagda.md
@@ -20,7 +20,6 @@ open import foundation.universe-levels
open import group-theory.minkowski-multiplication-semigroups
open import group-theory.monoids
-open import group-theory.semigroups
open import group-theory.subsets-monoids
```
diff --git a/src/group-theory/minkowski-multiplication-semigroups.lagda.md b/src/group-theory/minkowski-multiplication-semigroups.lagda.md
index a7215e29fe..0fea876135 100644
--- a/src/group-theory/minkowski-multiplication-semigroups.lagda.md
+++ b/src/group-theory/minkowski-multiplication-semigroups.lagda.md
@@ -17,7 +17,6 @@ open import foundation.functoriality-cartesian-product-types
open import foundation.identity-types
open import foundation.inhabited-subtypes
open import foundation.powersets
-open import foundation.propositions
open import foundation.sets
open import foundation.subtypes
open import foundation.universe-levels
diff --git a/src/group-theory/monoid-actions.lagda.md b/src/group-theory/monoid-actions.lagda.md
index c1f806f207..e195c009af 100644
--- a/src/group-theory/monoid-actions.lagda.md
+++ b/src/group-theory/monoid-actions.lagda.md
@@ -10,7 +10,7 @@ module group-theory.monoid-actions where
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.endomorphisms
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.identity-types
open import foundation.sets
open import foundation.universe-levels
diff --git a/src/group-theory/monoids.lagda.md b/src/group-theory/monoids.lagda.md
index 6a0c542cfc..2ba334187b 100644
--- a/src/group-theory/monoids.lagda.md
+++ b/src/group-theory/monoids.lagda.md
@@ -8,6 +8,7 @@ module group-theory.monoids where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.sets
diff --git a/src/group-theory/monomorphisms-concrete-groups.lagda.md b/src/group-theory/monomorphisms-concrete-groups.lagda.md
index 243579c974..b113383308 100644
--- a/src/group-theory/monomorphisms-concrete-groups.lagda.md
+++ b/src/group-theory/monomorphisms-concrete-groups.lagda.md
@@ -8,6 +8,7 @@ module group-theory.monomorphisms-concrete-groups where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/group-theory/monomorphisms-groups.lagda.md b/src/group-theory/monomorphisms-groups.lagda.md
index eeebe4fb6c..df3d857208 100644
--- a/src/group-theory/monomorphisms-groups.lagda.md
+++ b/src/group-theory/monomorphisms-groups.lagda.md
@@ -9,6 +9,7 @@ module group-theory.monomorphisms-groups where
```agda
open import category-theory.monomorphisms-in-large-precategories
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/group-theory/multiples-of-elements-abelian-groups.lagda.md b/src/group-theory/multiples-of-elements-abelian-groups.lagda.md
index 475f609270..7a17f4b99e 100644
--- a/src/group-theory/multiples-of-elements-abelian-groups.lagda.md
+++ b/src/group-theory/multiples-of-elements-abelian-groups.lagda.md
@@ -11,6 +11,7 @@ open import elementary-number-theory.addition-natural-numbers
open import elementary-number-theory.multiplication-natural-numbers
open import elementary-number-theory.natural-numbers
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/group-theory/nontrivial-groups.lagda.md b/src/group-theory/nontrivial-groups.lagda.md
index 725296c895..b1381777e7 100644
--- a/src/group-theory/nontrivial-groups.lagda.md
+++ b/src/group-theory/nontrivial-groups.lagda.md
@@ -10,6 +10,8 @@ module group-theory.nontrivial-groups where
open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.disjunction
open import foundation.embeddings
open import foundation.empty-types
diff --git a/src/group-theory/normal-subgroups.lagda.md b/src/group-theory/normal-subgroups.lagda.md
index 1691141439..afbb14efed 100644
--- a/src/group-theory/normal-subgroups.lagda.md
+++ b/src/group-theory/normal-subgroups.lagda.md
@@ -11,6 +11,7 @@ open import foundation.action-on-identifications-functions
open import foundation.binary-relations
open import foundation.binary-transport
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalence-relations
open import foundation.equivalences
diff --git a/src/group-theory/normal-submonoids-commutative-monoids.lagda.md b/src/group-theory/normal-submonoids-commutative-monoids.lagda.md
index 64d971f8b0..247678b483 100644
--- a/src/group-theory/normal-submonoids-commutative-monoids.lagda.md
+++ b/src/group-theory/normal-submonoids-commutative-monoids.lagda.md
@@ -9,6 +9,7 @@ module group-theory.normal-submonoids-commutative-monoids where
```agda
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalence-relations
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/group-theory/normal-submonoids.lagda.md b/src/group-theory/normal-submonoids.lagda.md
index 45aaa58a2c..0bb3c046bb 100644
--- a/src/group-theory/normal-submonoids.lagda.md
+++ b/src/group-theory/normal-submonoids.lagda.md
@@ -10,6 +10,7 @@ module group-theory.normal-submonoids where
open import foundation.action-on-identifications-functions
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalence-relations
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/group-theory/normalizer-subgroups.lagda.md b/src/group-theory/normalizer-subgroups.lagda.md
index dfdbbcae1a..4b08a72415 100644
--- a/src/group-theory/normalizer-subgroups.lagda.md
+++ b/src/group-theory/normalizer-subgroups.lagda.md
@@ -8,6 +8,7 @@ module group-theory.normalizer-subgroups where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equality-dependent-pair-types
open import foundation.functoriality-dependent-pair-types
open import foundation.identity-types
diff --git a/src/group-theory/nullifying-group-homomorphisms.lagda.md b/src/group-theory/nullifying-group-homomorphisms.lagda.md
index 92dfe9bbae..60c5d661a4 100644
--- a/src/group-theory/nullifying-group-homomorphisms.lagda.md
+++ b/src/group-theory/nullifying-group-homomorphisms.lagda.md
@@ -8,6 +8,7 @@ module group-theory.nullifying-group-homomorphisms where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/group-theory/perfect-groups.lagda.md b/src/group-theory/perfect-groups.lagda.md
index 830d29efab..1c60b806f0 100644
--- a/src/group-theory/perfect-groups.lagda.md
+++ b/src/group-theory/perfect-groups.lagda.md
@@ -7,6 +7,7 @@ module group-theory.perfect-groups where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/group-theory/perfect-subgroups.lagda.md b/src/group-theory/perfect-subgroups.lagda.md
index 9e4dac3fc1..0dc3e06e9d 100644
--- a/src/group-theory/perfect-subgroups.lagda.md
+++ b/src/group-theory/perfect-subgroups.lagda.md
@@ -7,6 +7,7 @@ module group-theory.perfect-subgroups where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/group-theory/powers-of-elements-commutative-monoids.lagda.md b/src/group-theory/powers-of-elements-commutative-monoids.lagda.md
index 344471dcb0..7640487f6b 100644
--- a/src/group-theory/powers-of-elements-commutative-monoids.lagda.md
+++ b/src/group-theory/powers-of-elements-commutative-monoids.lagda.md
@@ -11,6 +11,7 @@ open import elementary-number-theory.addition-natural-numbers
open import elementary-number-theory.multiplication-natural-numbers
open import elementary-number-theory.natural-numbers
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/group-theory/powers-of-elements-groups.lagda.md b/src/group-theory/powers-of-elements-groups.lagda.md
index 745ee9159a..13accba5b2 100644
--- a/src/group-theory/powers-of-elements-groups.lagda.md
+++ b/src/group-theory/powers-of-elements-groups.lagda.md
@@ -11,6 +11,7 @@ open import elementary-number-theory.addition-natural-numbers
open import elementary-number-theory.multiplication-natural-numbers
open import elementary-number-theory.natural-numbers
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/group-theory/powers-of-elements-monoids.lagda.md b/src/group-theory/powers-of-elements-monoids.lagda.md
index 66c4e4f41b..fbba7c5858 100644
--- a/src/group-theory/powers-of-elements-monoids.lagda.md
+++ b/src/group-theory/powers-of-elements-monoids.lagda.md
@@ -12,6 +12,7 @@ open import elementary-number-theory.multiplication-natural-numbers
open import elementary-number-theory.natural-numbers
open import foundation.action-on-identifications-functions
+open import foundation.dependent-products-propositions
open import foundation.existential-quantification
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/group-theory/precategory-of-orbits-monoid-actions.lagda.md b/src/group-theory/precategory-of-orbits-monoid-actions.lagda.md
index 5a51488a0e..8676fc98f3 100644
--- a/src/group-theory/precategory-of-orbits-monoid-actions.lagda.md
+++ b/src/group-theory/precategory-of-orbits-monoid-actions.lagda.md
@@ -11,6 +11,8 @@ open import category-theory.precategories
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.fundamental-theorem-of-identity-types
open import foundation.identity-types
diff --git a/src/group-theory/quotient-groups.lagda.md b/src/group-theory/quotient-groups.lagda.md
index d109a8292d..c4f5369b5c 100644
--- a/src/group-theory/quotient-groups.lagda.md
+++ b/src/group-theory/quotient-groups.lagda.md
@@ -13,6 +13,8 @@ open import foundation.commuting-triangles-of-maps
open import foundation.contractible-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.effective-maps-equivalence-relations
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/group-theory/quotients-abelian-groups.lagda.md b/src/group-theory/quotients-abelian-groups.lagda.md
index 51ce7f9b4a..d152823310 100644
--- a/src/group-theory/quotients-abelian-groups.lagda.md
+++ b/src/group-theory/quotients-abelian-groups.lagda.md
@@ -12,6 +12,7 @@ module group-theory.quotients-abelian-groups where
open import foundation.action-on-identifications-functions
open import foundation.binary-functoriality-set-quotients
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.effective-maps-equivalence-relations
open import foundation.equivalences
open import foundation.functoriality-set-quotients
diff --git a/src/group-theory/rational-commutative-monoids.lagda.md b/src/group-theory/rational-commutative-monoids.lagda.md
index 2c036f47fe..53f821cbd9 100644
--- a/src/group-theory/rational-commutative-monoids.lagda.md
+++ b/src/group-theory/rational-commutative-monoids.lagda.md
@@ -10,6 +10,7 @@ module group-theory.rational-commutative-monoids where
open import elementary-number-theory.natural-numbers
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/group-theory/saturated-congruence-relations-commutative-monoids.lagda.md b/src/group-theory/saturated-congruence-relations-commutative-monoids.lagda.md
index 52a270e3cb..007f2931e1 100644
--- a/src/group-theory/saturated-congruence-relations-commutative-monoids.lagda.md
+++ b/src/group-theory/saturated-congruence-relations-commutative-monoids.lagda.md
@@ -9,6 +9,7 @@ module group-theory.saturated-congruence-relations-commutative-monoids where
```agda
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalence-relations
open import foundation.equivalences
open import foundation.fundamental-theorem-of-identity-types
diff --git a/src/group-theory/saturated-congruence-relations-monoids.lagda.md b/src/group-theory/saturated-congruence-relations-monoids.lagda.md
index fe77217ff6..fc411179cc 100644
--- a/src/group-theory/saturated-congruence-relations-monoids.lagda.md
+++ b/src/group-theory/saturated-congruence-relations-monoids.lagda.md
@@ -9,6 +9,7 @@ module group-theory.saturated-congruence-relations-monoids where
```agda
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalence-relations
open import foundation.equivalences
open import foundation.fundamental-theorem-of-identity-types
diff --git a/src/group-theory/subgroups-abelian-groups.lagda.md b/src/group-theory/subgroups-abelian-groups.lagda.md
index 61238aa5c7..c656fa6f70 100644
--- a/src/group-theory/subgroups-abelian-groups.lagda.md
+++ b/src/group-theory/subgroups-abelian-groups.lagda.md
@@ -9,6 +9,7 @@ module group-theory.subgroups-abelian-groups where
```agda
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalence-relations
open import foundation.equivalences
diff --git a/src/group-theory/subgroups-concrete-groups.lagda.md b/src/group-theory/subgroups-concrete-groups.lagda.md
index eb86e36730..e7a205424c 100644
--- a/src/group-theory/subgroups-concrete-groups.lagda.md
+++ b/src/group-theory/subgroups-concrete-groups.lagda.md
@@ -10,6 +10,7 @@ module group-theory.subgroups-concrete-groups where
open import foundation.0-connected-types
open import foundation.0-maps
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.existential-quantification
open import foundation.faithful-maps
diff --git a/src/group-theory/subgroups-generated-by-subsets-groups.lagda.md b/src/group-theory/subgroups-generated-by-subsets-groups.lagda.md
index bdcb3c854f..504e2dc37b 100644
--- a/src/group-theory/subgroups-generated-by-subsets-groups.lagda.md
+++ b/src/group-theory/subgroups-generated-by-subsets-groups.lagda.md
@@ -11,6 +11,7 @@ open import foundation.action-on-identifications-functions
open import foundation.cartesian-product-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.fibers-of-maps
open import foundation.function-types
open import foundation.identity-types
diff --git a/src/group-theory/subgroups.lagda.md b/src/group-theory/subgroups.lagda.md
index 98631e94e6..bd70dd89d0 100644
--- a/src/group-theory/subgroups.lagda.md
+++ b/src/group-theory/subgroups.lagda.md
@@ -13,6 +13,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.binary-relations
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.disjunction
open import foundation.embeddings
open import foundation.equivalence-relations
diff --git a/src/group-theory/submonoids-commutative-monoids.lagda.md b/src/group-theory/submonoids-commutative-monoids.lagda.md
index 1b93a31af2..0f00172c30 100644
--- a/src/group-theory/submonoids-commutative-monoids.lagda.md
+++ b/src/group-theory/submonoids-commutative-monoids.lagda.md
@@ -8,6 +8,7 @@ module group-theory.submonoids-commutative-monoids where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/group-theory/submonoids.lagda.md b/src/group-theory/submonoids.lagda.md
index 4245b22e10..24c023825b 100644
--- a/src/group-theory/submonoids.lagda.md
+++ b/src/group-theory/submonoids.lagda.md
@@ -8,6 +8,7 @@ module group-theory.submonoids where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.identity-types
diff --git a/src/group-theory/subsemigroups.lagda.md b/src/group-theory/subsemigroups.lagda.md
index f283a68db3..055eff9b3b 100644
--- a/src/group-theory/subsemigroups.lagda.md
+++ b/src/group-theory/subsemigroups.lagda.md
@@ -8,6 +8,7 @@ module group-theory.subsemigroups where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.identity-types
diff --git a/src/group-theory/subsets-commutative-monoids.lagda.md b/src/group-theory/subsets-commutative-monoids.lagda.md
index be1275afe2..c45cd504d0 100644
--- a/src/group-theory/subsets-commutative-monoids.lagda.md
+++ b/src/group-theory/subsets-commutative-monoids.lagda.md
@@ -7,6 +7,7 @@ module group-theory.subsets-commutative-monoids where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.sets
diff --git a/src/group-theory/subsets-monoids.lagda.md b/src/group-theory/subsets-monoids.lagda.md
index 97bb8b9059..1c084d3db8 100644
--- a/src/group-theory/subsets-monoids.lagda.md
+++ b/src/group-theory/subsets-monoids.lagda.md
@@ -7,6 +7,7 @@ module group-theory.subsets-monoids where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.sets
diff --git a/src/group-theory/subsets-semigroups.lagda.md b/src/group-theory/subsets-semigroups.lagda.md
index ddfdf50d40..cd67fda8ca 100644
--- a/src/group-theory/subsets-semigroups.lagda.md
+++ b/src/group-theory/subsets-semigroups.lagda.md
@@ -7,6 +7,7 @@ module group-theory.subsets-semigroups where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.large-locale-of-subtypes
open import foundation.powersets
diff --git a/src/group-theory/surjective-group-homomorphisms.lagda.md b/src/group-theory/surjective-group-homomorphisms.lagda.md
index c482bc5e50..150767a0ea 100644
--- a/src/group-theory/surjective-group-homomorphisms.lagda.md
+++ b/src/group-theory/surjective-group-homomorphisms.lagda.md
@@ -7,6 +7,7 @@ module group-theory.surjective-group-homomorphisms where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.surjective-maps
open import foundation.universe-levels
diff --git a/src/group-theory/surjective-semigroup-homomorphisms.lagda.md b/src/group-theory/surjective-semigroup-homomorphisms.lagda.md
index e112844df8..95cb6e1a97 100644
--- a/src/group-theory/surjective-semigroup-homomorphisms.lagda.md
+++ b/src/group-theory/surjective-semigroup-homomorphisms.lagda.md
@@ -7,6 +7,7 @@ module group-theory.surjective-semigroup-homomorphisms where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.surjective-maps
open import foundation.universe-levels
diff --git a/src/group-theory/torsion-elements-groups.lagda.md b/src/group-theory/torsion-elements-groups.lagda.md
index 9b7a129185..33e8c8f764 100644
--- a/src/group-theory/torsion-elements-groups.lagda.md
+++ b/src/group-theory/torsion-elements-groups.lagda.md
@@ -11,6 +11,7 @@ open import elementary-number-theory.integers
open import elementary-number-theory.nonzero-integers
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.existential-quantification
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/group-theory/torsion-free-groups.lagda.md b/src/group-theory/torsion-free-groups.lagda.md
index d7e4ed6170..3233660097 100644
--- a/src/group-theory/torsion-free-groups.lagda.md
+++ b/src/group-theory/torsion-free-groups.lagda.md
@@ -13,6 +13,8 @@ open import elementary-number-theory.nonzero-integers
open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.existential-quantification
open import foundation.fundamental-theorem-of-identity-types
diff --git a/src/group-theory/torsors.lagda.md b/src/group-theory/torsors.lagda.md
index 0e1b1d1375..a52c66041f 100644
--- a/src/group-theory/torsors.lagda.md
+++ b/src/group-theory/torsors.lagda.md
@@ -10,6 +10,7 @@ module group-theory.torsors where
open import foundation.0-connected-types
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.fundamental-theorem-of-identity-types
diff --git a/src/group-theory/transitive-concrete-group-actions.lagda.md b/src/group-theory/transitive-concrete-group-actions.lagda.md
index f6af5d47b3..dda4b0852a 100644
--- a/src/group-theory/transitive-concrete-group-actions.lagda.md
+++ b/src/group-theory/transitive-concrete-group-actions.lagda.md
@@ -10,6 +10,7 @@ module group-theory.transitive-concrete-group-actions where
open import foundation.1-types
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.existential-quantification
open import foundation.function-types
diff --git a/src/group-theory/transitive-group-actions.lagda.md b/src/group-theory/transitive-group-actions.lagda.md
index c8513a1bf5..4c48f2957f 100644
--- a/src/group-theory/transitive-group-actions.lagda.md
+++ b/src/group-theory/transitive-group-actions.lagda.md
@@ -7,6 +7,7 @@ module group-theory.transitive-group-actions where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.existential-quantification
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/group-theory/trivial-concrete-groups.lagda.md b/src/group-theory/trivial-concrete-groups.lagda.md
index 0c939f55de..9cf2993303 100644
--- a/src/group-theory/trivial-concrete-groups.lagda.md
+++ b/src/group-theory/trivial-concrete-groups.lagda.md
@@ -9,7 +9,10 @@ module group-theory.trivial-concrete-groups where
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
+open import foundation.raising-universe-levels-unit-type
open import foundation.truncation-levels
open import foundation.unit-type
open import foundation.universe-levels
diff --git a/src/group-theory/trivial-group-homomorphisms.lagda.md b/src/group-theory/trivial-group-homomorphisms.lagda.md
index 3cc3b50278..b2a9a97de2 100644
--- a/src/group-theory/trivial-group-homomorphisms.lagda.md
+++ b/src/group-theory/trivial-group-homomorphisms.lagda.md
@@ -8,6 +8,7 @@ module group-theory.trivial-group-homomorphisms where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.sets
diff --git a/src/group-theory/trivial-groups.lagda.md b/src/group-theory/trivial-groups.lagda.md
index a018e83b69..bfc102a46f 100644
--- a/src/group-theory/trivial-groups.lagda.md
+++ b/src/group-theory/trivial-groups.lagda.md
@@ -9,15 +9,18 @@ module group-theory.trivial-groups where
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.fundamental-theorem-of-identity-types
open import foundation.homotopies
open import foundation.identity-types
open import foundation.propositions
-open import foundation.raising-universe-levels
open import foundation.structure-identity-principle
open import foundation.unit-type
open import foundation.universe-levels
+open import foundation-core.raising-universe-levels
+
open import group-theory.abelian-groups
open import group-theory.full-subgroups
open import group-theory.groups
diff --git a/src/higher-group-theory/automorphism-groups.lagda.md b/src/higher-group-theory/automorphism-groups.lagda.md
index eabdf5bf0f..b4df79ff2c 100644
--- a/src/higher-group-theory/automorphism-groups.lagda.md
+++ b/src/higher-group-theory/automorphism-groups.lagda.md
@@ -8,10 +8,10 @@ module higher-group-theory.automorphism-groups where
```agda
open import foundation.0-connected-types
-open import foundation.1-types
open import foundation.connected-components
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.fundamental-theorem-of-identity-types
open import foundation.identity-types
@@ -20,9 +20,6 @@ open import foundation.subtype-identity-principle
open import foundation.torsorial-type-families
open import foundation.universe-levels
-open import group-theory.concrete-groups
-open import group-theory.equivalences-concrete-groups
-
open import higher-group-theory.equivalences-higher-groups
open import higher-group-theory.higher-groups
diff --git a/src/higher-group-theory/cartesian-products-higher-groups.lagda.md b/src/higher-group-theory/cartesian-products-higher-groups.lagda.md
index 2183bb2862..c4a09bac5f 100644
--- a/src/higher-group-theory/cartesian-products-higher-groups.lagda.md
+++ b/src/higher-group-theory/cartesian-products-higher-groups.lagda.md
@@ -10,6 +10,7 @@ module higher-group-theory.cartesian-products-higher-groups where
open import foundation.0-connected-types
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equality-cartesian-product-types
open import foundation.equivalences
open import foundation.identity-types
diff --git a/src/higher-group-theory/cyclic-higher-groups.lagda.md b/src/higher-group-theory/cyclic-higher-groups.lagda.md
index d9067fb971..8172f67bbb 100644
--- a/src/higher-group-theory/cyclic-higher-groups.lagda.md
+++ b/src/higher-group-theory/cyclic-higher-groups.lagda.md
@@ -7,6 +7,7 @@ module higher-group-theory.cyclic-higher-groups where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.existential-quantification
open import foundation.propositions
diff --git a/src/higher-group-theory/eilenberg-mac-lane-spaces.lagda.md b/src/higher-group-theory/eilenberg-mac-lane-spaces.lagda.md
index 13a8cf9fab..8656c20304 100644
--- a/src/higher-group-theory/eilenberg-mac-lane-spaces.lagda.md
+++ b/src/higher-group-theory/eilenberg-mac-lane-spaces.lagda.md
@@ -12,6 +12,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.0-connected-types
open import foundation.cartesian-product-types
open import foundation.connected-types
+open import foundation.dependent-products-truncated-types
open import foundation.truncated-types
open import foundation.truncation-levels
open import foundation.universe-levels
diff --git a/src/higher-group-theory/free-higher-group-actions.lagda.md b/src/higher-group-theory/free-higher-group-actions.lagda.md
index ea43e3e1b2..b59055afb3 100644
--- a/src/higher-group-theory/free-higher-group-actions.lagda.md
+++ b/src/higher-group-theory/free-higher-group-actions.lagda.md
@@ -7,6 +7,7 @@ module higher-group-theory.free-higher-group-actions where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.identity-types
open import foundation.propositional-maps
diff --git a/src/higher-group-theory/higher-groups.lagda.md b/src/higher-group-theory/higher-groups.lagda.md
index 6102d85536..e6b22e3502 100644
--- a/src/higher-group-theory/higher-groups.lagda.md
+++ b/src/higher-group-theory/higher-groups.lagda.md
@@ -9,6 +9,7 @@ module higher-group-theory.higher-groups where
```agda
open import foundation.0-connected-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.full-subtypes
open import foundation.identity-types
diff --git a/src/higher-group-theory/iterated-cartesian-products-higher-groups.lagda.md b/src/higher-group-theory/iterated-cartesian-products-higher-groups.lagda.md
index e9a5b7aaab..80d9e4c011 100644
--- a/src/higher-group-theory/iterated-cartesian-products-higher-groups.lagda.md
+++ b/src/higher-group-theory/iterated-cartesian-products-higher-groups.lagda.md
@@ -13,6 +13,8 @@ open import foundation.0-connected-types
open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-cartesian-product-types
@@ -20,6 +22,7 @@ open import foundation.identity-types
open import foundation.iterated-cartesian-product-types
open import foundation.mere-equality
open import foundation.propositions
+open import foundation.raising-universe-levels-unit-type
open import foundation.sets
open import foundation.unit-type
open import foundation.universe-levels
diff --git a/src/higher-group-theory/small-higher-groups.lagda.md b/src/higher-group-theory/small-higher-groups.lagda.md
index 0252d1093d..f420be4c06 100644
--- a/src/higher-group-theory/small-higher-groups.lagda.md
+++ b/src/higher-group-theory/small-higher-groups.lagda.md
@@ -9,6 +9,7 @@ module higher-group-theory.small-higher-groups where
```agda
open import foundation.0-connected-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.identity-types
open import foundation.images
diff --git a/src/higher-group-theory/transitive-higher-group-actions.lagda.md b/src/higher-group-theory/transitive-higher-group-actions.lagda.md
index a6a4b3f711..d6cbb0ff78 100644
--- a/src/higher-group-theory/transitive-higher-group-actions.lagda.md
+++ b/src/higher-group-theory/transitive-higher-group-actions.lagda.md
@@ -9,6 +9,7 @@ module higher-group-theory.transitive-higher-group-actions where
```agda
open import foundation.0-connected-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.inhabited-types
open import foundation.propositional-truncations
diff --git a/src/higher-group-theory/trivial-higher-groups.lagda.md b/src/higher-group-theory/trivial-higher-groups.lagda.md
index 18edbed574..fc7df20983 100644
--- a/src/higher-group-theory/trivial-higher-groups.lagda.md
+++ b/src/higher-group-theory/trivial-higher-groups.lagda.md
@@ -10,7 +10,10 @@ module higher-group-theory.trivial-higher-groups where
open import foundation.0-connected-types
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
+open import foundation.raising-universe-levels-unit-type
open import foundation.unit-type
open import foundation.universe-levels
diff --git a/src/linear-algebra/functoriality-vectors.lagda.md b/src/linear-algebra/functoriality-vectors.lagda.md
index 61c74c2380..021cff9837 100644
--- a/src/linear-algebra/functoriality-vectors.lagda.md
+++ b/src/linear-algebra/functoriality-vectors.lagda.md
@@ -11,13 +11,11 @@ open import elementary-number-theory.natural-numbers
open import foundation.action-on-identifications-binary-functions
open import foundation.dependent-pair-types
-open import foundation.function-extensionality
open import foundation.function-types
open import foundation.homotopies
open import foundation.identity-types
open import foundation.postcomposition-functions
open import foundation.universe-levels
-open import foundation.whiskering-homotopies-composition
open import linear-algebra.vectors
diff --git a/src/linear-algebra/matrices.lagda.md b/src/linear-algebra/matrices.lagda.md
index f95efc19d8..463b640234 100644
--- a/src/linear-algebra/matrices.lagda.md
+++ b/src/linear-algebra/matrices.lagda.md
@@ -12,6 +12,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.action-on-identifications-binary-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.identity-types
open import foundation.universe-levels
diff --git a/src/linear-algebra/vectors.lagda.md b/src/linear-algebra/vectors.lagda.md
index a870ba74c9..32ee3b6fa0 100644
--- a/src/linear-algebra/vectors.lagda.md
+++ b/src/linear-algebra/vectors.lagda.md
@@ -14,13 +14,16 @@ open import foundation.cartesian-product-types
open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-truncated-types
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.homotopies
open import foundation.identity-types
-open import foundation.raising-universe-levels
+open import foundation.raising-universe-levels-unit-type
open import foundation.sets
open import foundation.transport-along-identifications
open import foundation.truncated-types
@@ -29,6 +32,8 @@ open import foundation.unit-type
open import foundation.universe-levels
open import foundation.whiskering-higher-homotopies-composition
+open import foundation-core.raising-universe-levels
+
open import univalent-combinatorics.involution-standard-finite-types
open import univalent-combinatorics.standard-finite-types
```
diff --git a/src/lists.lagda.md b/src/lists.lagda.md
index 0263108995..612d0e6270 100644
--- a/src/lists.lagda.md
+++ b/src/lists.lagda.md
@@ -7,6 +7,7 @@ module lists where
open import lists.arrays public
open import lists.concatenation-lists public
+open import lists.equality-lists public
open import lists.flattening-lists public
open import lists.functoriality-lists public
open import lists.lists public
diff --git a/src/lists/arrays.lagda.md b/src/lists/arrays.lagda.md
index 054ea39af4..2d570996e7 100644
--- a/src/lists/arrays.lagda.md
+++ b/src/lists/arrays.lagda.md
@@ -12,6 +12,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.action-on-identifications-functions
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
diff --git a/src/lists/concatenation-lists.lagda.md b/src/lists/concatenation-lists.lagda.md
index 1face70497..3471f3bcc5 100644
--- a/src/lists/concatenation-lists.lagda.md
+++ b/src/lists/concatenation-lists.lagda.md
@@ -19,6 +19,7 @@ open import foundation.universe-levels
open import group-theory.monoids
+open import lists.equality-lists
open import lists.lists
```
diff --git a/src/lists/equality-lists.lagda.md b/src/lists/equality-lists.lagda.md
new file mode 100644
index 0000000000..f69a8625e8
--- /dev/null
+++ b/src/lists/equality-lists.lagda.md
@@ -0,0 +1,151 @@
+# Equality of lists
+
+```agda
+module lists.equality-lists where
+```
+
+Imports
+
+```agda
+open import elementary-number-theory.natural-numbers
+
+open import foundation.action-on-higher-identifications-functions
+open import foundation.action-on-identifications-functions
+open import foundation.cartesian-product-types
+open import foundation.contractible-types
+open import foundation.coproduct-types
+open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-truncated-types
+open import foundation.empty-types
+open import foundation.equality-dependent-pair-types
+open import foundation.equivalences
+open import foundation.function-types
+open import foundation.functoriality-dependent-pair-types
+open import foundation.negation
+open import foundation.raising-universe-levels-unit-type
+open import foundation.sets
+open import foundation.torsorial-type-families
+open import foundation.truncated-types
+open import foundation.truncation-levels
+open import foundation.unit-type
+open import foundation.universe-levels
+
+open import foundation-core.homotopies
+open import foundation-core.identity-types
+open import foundation-core.maybe
+open import foundation-core.raising-universe-levels
+
+open import lists.lists
+```
+
+
+
+## Properties
+
+### Characterizing the identity type of lists
+
+```agda
+Eq-list : {l1 : Level} {A : UU l1} → list A → list A → UU l1
+Eq-list {l1} nil nil = raise-unit l1
+Eq-list {l1} nil (cons x l') = raise-empty l1
+Eq-list {l1} (cons x l) nil = raise-empty l1
+Eq-list {l1} (cons x l) (cons x' l') = (Id x x') × Eq-list l l'
+
+refl-Eq-list : {l1 : Level} {A : UU l1} (l : list A) → Eq-list l l
+refl-Eq-list nil = raise-star
+refl-Eq-list (cons x l) = pair refl (refl-Eq-list l)
+
+Eq-eq-list :
+ {l1 : Level} {A : UU l1} (l l' : list A) → Id l l' → Eq-list l l'
+Eq-eq-list l .l refl = refl-Eq-list l
+
+eq-Eq-list :
+ {l1 : Level} {A : UU l1} (l l' : list A) → Eq-list l l' → Id l l'
+eq-Eq-list nil nil (map-raise star) = refl
+eq-Eq-list nil (cons x l') (map-raise f) = ex-falso f
+eq-Eq-list (cons x l) nil (map-raise f) = ex-falso f
+eq-Eq-list (cons x l) (cons .x l') (pair refl e) =
+ ap (cons x) (eq-Eq-list l l' e)
+
+square-eq-Eq-list :
+ {l1 : Level} {A : UU l1} {x : A} {l l' : list A} (p : Id l l') →
+ Id
+ ( Eq-eq-list (cons x l) (cons x l') (ap (cons x) p))
+ ( pair refl (Eq-eq-list l l' p))
+square-eq-Eq-list refl = refl
+
+is-section-eq-Eq-list :
+ {l1 : Level} {A : UU l1} (l l' : list A) (e : Eq-list l l') →
+ Id (Eq-eq-list l l' (eq-Eq-list l l' e)) e
+is-section-eq-Eq-list nil nil e = eq-is-contr is-contr-raise-unit
+is-section-eq-Eq-list nil (cons x l') e = ex-falso (is-empty-raise-empty e)
+is-section-eq-Eq-list (cons x l) nil e = ex-falso (is-empty-raise-empty e)
+is-section-eq-Eq-list (cons x l) (cons .x l') (pair refl e) =
+ ( square-eq-Eq-list (eq-Eq-list l l' e)) ∙
+ ( eq-pair-eq-fiber (is-section-eq-Eq-list l l' e))
+
+eq-Eq-refl-Eq-list :
+ {l1 : Level} {A : UU l1} (l : list A) →
+ Id (eq-Eq-list l l (refl-Eq-list l)) refl
+eq-Eq-refl-Eq-list nil = refl
+eq-Eq-refl-Eq-list (cons x l) = ap² (cons x) (eq-Eq-refl-Eq-list l)
+
+is-retraction-eq-Eq-list :
+ {l1 : Level} {A : UU l1} (l l' : list A) (p : Id l l') →
+ Id (eq-Eq-list l l' (Eq-eq-list l l' p)) p
+is-retraction-eq-Eq-list nil .nil refl = refl
+is-retraction-eq-Eq-list (cons x l) .(cons x l) refl =
+ eq-Eq-refl-Eq-list (cons x l)
+
+is-equiv-Eq-eq-list :
+ {l1 : Level} {A : UU l1} (l l' : list A) → is-equiv (Eq-eq-list l l')
+is-equiv-Eq-eq-list l l' =
+ is-equiv-is-invertible
+ ( eq-Eq-list l l')
+ ( is-section-eq-Eq-list l l')
+ ( is-retraction-eq-Eq-list l l')
+
+equiv-Eq-list :
+ {l1 : Level} {A : UU l1} (l l' : list A) → Id l l' ≃ Eq-list l l'
+equiv-Eq-list l l' =
+ pair (Eq-eq-list l l') (is-equiv-Eq-eq-list l l')
+
+is-torsorial-Eq-list :
+ {l1 : Level} {A : UU l1} (l : list A) →
+ is-torsorial (Eq-list l)
+is-torsorial-Eq-list {A = A} l =
+ is-contr-equiv'
+ ( Σ (list A) (Id l))
+ ( equiv-tot (equiv-Eq-list l))
+ ( is-torsorial-Id l)
+
+is-trunc-Eq-list :
+ (k : 𝕋) {l : Level} {A : UU l} → is-trunc (succ-𝕋 (succ-𝕋 k)) A →
+ (l l' : list A) → is-trunc (succ-𝕋 k) (Eq-list l l')
+is-trunc-Eq-list k H nil nil =
+ is-trunc-is-contr (succ-𝕋 k) is-contr-raise-unit
+is-trunc-Eq-list k H nil (cons x l') =
+ is-trunc-is-empty k is-empty-raise-empty
+is-trunc-Eq-list k H (cons x l) nil =
+ is-trunc-is-empty k is-empty-raise-empty
+is-trunc-Eq-list k H (cons x l) (cons y l') =
+ is-trunc-product (succ-𝕋 k) (H x y) (is-trunc-Eq-list k H l l')
+
+is-trunc-list :
+ (k : 𝕋) {l : Level} {A : UU l} → is-trunc (succ-𝕋 (succ-𝕋 k)) A →
+ is-trunc (succ-𝕋 (succ-𝕋 k)) (list A)
+is-trunc-list k H l l' =
+ is-trunc-equiv
+ ( succ-𝕋 k)
+ ( Eq-list l l')
+ ( equiv-Eq-list l l')
+ ( is-trunc-Eq-list k H l l')
+
+is-set-list :
+ {l : Level} {A : UU l} → is-set A → is-set (list A)
+is-set-list = is-trunc-list neg-two-𝕋
+
+list-Set : {l : Level} → Set l → Set l
+list-Set A = pair (list (type-Set A)) (is-set-list (is-set-type-Set A))
+```
diff --git a/src/lists/functoriality-lists.lagda.md b/src/lists/functoriality-lists.lagda.md
index 5fca45b262..1b331db03a 100644
--- a/src/lists/functoriality-lists.lagda.md
+++ b/src/lists/functoriality-lists.lagda.md
@@ -12,6 +12,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equality-dependent-pair-types
open import foundation.function-types
open import foundation.homotopies
@@ -25,6 +26,7 @@ open import linear-algebra.vectors
open import lists.arrays
open import lists.concatenation-lists
+open import lists.equality-lists
open import lists.lists
```
diff --git a/src/lists/lists-discrete-types.lagda.md b/src/lists/lists-discrete-types.lagda.md
index d0b8cd7b4b..59dd7561d4 100644
--- a/src/lists/lists-discrete-types.lagda.md
+++ b/src/lists/lists-discrete-types.lagda.md
@@ -16,10 +16,13 @@ open import foundation.dependent-pair-types
open import foundation.empty-types
open import foundation.function-types
open import foundation.identity-types
-open import foundation.raising-universe-levels
+open import foundation.raising-universe-levels-unit-type
open import foundation.unit-type
open import foundation.universe-levels
+open import foundation-core.raising-universe-levels
+
+open import lists.equality-lists
open import lists.lists
```
diff --git a/src/lists/lists.lagda.md b/src/lists/lists.lagda.md
index dfa10f3084..e9a1e4c030 100644
--- a/src/lists/lists.lagda.md
+++ b/src/lists/lists.lagda.md
@@ -9,28 +9,19 @@ module lists.lists where
```agda
open import elementary-number-theory.natural-numbers
-open import foundation.action-on-higher-identifications-functions
-open import foundation.action-on-identifications-functions
-open import foundation.cartesian-product-types
-open import foundation.contractible-types
-open import foundation.coproduct-types
open import foundation.dependent-pair-types
-open import foundation.empty-types
-open import foundation.equality-dependent-pair-types
-open import foundation.equivalences
-open import foundation.function-types
-open import foundation.functoriality-dependent-pair-types
-open import foundation.homotopies
-open import foundation.identity-types
-open import foundation.maybe
-open import foundation.negation
-open import foundation.raising-universe-levels
-open import foundation.sets
-open import foundation.torsorial-type-families
-open import foundation.truncated-types
-open import foundation.truncation-levels
open import foundation.unit-type
open import foundation.universe-levels
+
+open import foundation-core.cartesian-product-types
+open import foundation-core.coproduct-types
+open import foundation-core.empty-types
+open import foundation-core.equivalences
+open import foundation-core.function-types
+open import foundation-core.homotopies
+open import foundation-core.identity-types
+open import foundation-core.maybe
+open import foundation-core.negation
```
@@ -161,113 +152,6 @@ tail-is-nonnil-list l p =
pr2 (pr1 (is-cons-is-nonnil-list l p))
```
-### Characterizing the identity type of lists
-
-```agda
-Eq-list : {l1 : Level} {A : UU l1} → list A → list A → UU l1
-Eq-list {l1} nil nil = raise-unit l1
-Eq-list {l1} nil (cons x l') = raise-empty l1
-Eq-list {l1} (cons x l) nil = raise-empty l1
-Eq-list {l1} (cons x l) (cons x' l') = (Id x x') × Eq-list l l'
-
-refl-Eq-list : {l1 : Level} {A : UU l1} (l : list A) → Eq-list l l
-refl-Eq-list nil = raise-star
-refl-Eq-list (cons x l) = pair refl (refl-Eq-list l)
-
-Eq-eq-list :
- {l1 : Level} {A : UU l1} (l l' : list A) → Id l l' → Eq-list l l'
-Eq-eq-list l .l refl = refl-Eq-list l
-
-eq-Eq-list :
- {l1 : Level} {A : UU l1} (l l' : list A) → Eq-list l l' → Id l l'
-eq-Eq-list nil nil (map-raise star) = refl
-eq-Eq-list nil (cons x l') (map-raise f) = ex-falso f
-eq-Eq-list (cons x l) nil (map-raise f) = ex-falso f
-eq-Eq-list (cons x l) (cons .x l') (pair refl e) =
- ap (cons x) (eq-Eq-list l l' e)
-
-square-eq-Eq-list :
- {l1 : Level} {A : UU l1} {x : A} {l l' : list A} (p : Id l l') →
- Id
- ( Eq-eq-list (cons x l) (cons x l') (ap (cons x) p))
- ( pair refl (Eq-eq-list l l' p))
-square-eq-Eq-list refl = refl
-
-is-section-eq-Eq-list :
- {l1 : Level} {A : UU l1} (l l' : list A) (e : Eq-list l l') →
- Id (Eq-eq-list l l' (eq-Eq-list l l' e)) e
-is-section-eq-Eq-list nil nil e = eq-is-contr is-contr-raise-unit
-is-section-eq-Eq-list nil (cons x l') e = ex-falso (is-empty-raise-empty e)
-is-section-eq-Eq-list (cons x l) nil e = ex-falso (is-empty-raise-empty e)
-is-section-eq-Eq-list (cons x l) (cons .x l') (pair refl e) =
- ( square-eq-Eq-list (eq-Eq-list l l' e)) ∙
- ( eq-pair-eq-fiber (is-section-eq-Eq-list l l' e))
-
-eq-Eq-refl-Eq-list :
- {l1 : Level} {A : UU l1} (l : list A) →
- Id (eq-Eq-list l l (refl-Eq-list l)) refl
-eq-Eq-refl-Eq-list nil = refl
-eq-Eq-refl-Eq-list (cons x l) = ap² (cons x) (eq-Eq-refl-Eq-list l)
-
-is-retraction-eq-Eq-list :
- {l1 : Level} {A : UU l1} (l l' : list A) (p : Id l l') →
- Id (eq-Eq-list l l' (Eq-eq-list l l' p)) p
-is-retraction-eq-Eq-list nil .nil refl = refl
-is-retraction-eq-Eq-list (cons x l) .(cons x l) refl =
- eq-Eq-refl-Eq-list (cons x l)
-
-is-equiv-Eq-eq-list :
- {l1 : Level} {A : UU l1} (l l' : list A) → is-equiv (Eq-eq-list l l')
-is-equiv-Eq-eq-list l l' =
- is-equiv-is-invertible
- ( eq-Eq-list l l')
- ( is-section-eq-Eq-list l l')
- ( is-retraction-eq-Eq-list l l')
-
-equiv-Eq-list :
- {l1 : Level} {A : UU l1} (l l' : list A) → Id l l' ≃ Eq-list l l'
-equiv-Eq-list l l' =
- pair (Eq-eq-list l l') (is-equiv-Eq-eq-list l l')
-
-is-torsorial-Eq-list :
- {l1 : Level} {A : UU l1} (l : list A) →
- is-torsorial (Eq-list l)
-is-torsorial-Eq-list {A = A} l =
- is-contr-equiv'
- ( Σ (list A) (Id l))
- ( equiv-tot (equiv-Eq-list l))
- ( is-torsorial-Id l)
-
-is-trunc-Eq-list :
- (k : 𝕋) {l : Level} {A : UU l} → is-trunc (succ-𝕋 (succ-𝕋 k)) A →
- (l l' : list A) → is-trunc (succ-𝕋 k) (Eq-list l l')
-is-trunc-Eq-list k H nil nil =
- is-trunc-is-contr (succ-𝕋 k) is-contr-raise-unit
-is-trunc-Eq-list k H nil (cons x l') =
- is-trunc-is-empty k is-empty-raise-empty
-is-trunc-Eq-list k H (cons x l) nil =
- is-trunc-is-empty k is-empty-raise-empty
-is-trunc-Eq-list k H (cons x l) (cons y l') =
- is-trunc-product (succ-𝕋 k) (H x y) (is-trunc-Eq-list k H l l')
-
-is-trunc-list :
- (k : 𝕋) {l : Level} {A : UU l} → is-trunc (succ-𝕋 (succ-𝕋 k)) A →
- is-trunc (succ-𝕋 (succ-𝕋 k)) (list A)
-is-trunc-list k H l l' =
- is-trunc-equiv
- ( succ-𝕋 k)
- ( Eq-list l l')
- ( equiv-Eq-list l l')
- ( is-trunc-Eq-list k H l l')
-
-is-set-list :
- {l : Level} {A : UU l} → is-set A → is-set (list A)
-is-set-list = is-trunc-list neg-two-𝕋
-
-list-Set : {l : Level} → Set l → Set l
-list-Set A = pair (list (type-Set A)) (is-set-list (is-set-type-Set A))
-```
-
### The length operation behaves well with respect to the other list operations
```agda
diff --git a/src/lists/permutation-lists.lagda.md b/src/lists/permutation-lists.lagda.md
index 26ca630086..19401994e1 100644
--- a/src/lists/permutation-lists.lagda.md
+++ b/src/lists/permutation-lists.lagda.md
@@ -14,6 +14,7 @@ open import finite-group-theory.permutations-standard-finite-types
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equality-dependent-pair-types
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/lists/predicates-on-lists.lagda.md b/src/lists/predicates-on-lists.lagda.md
index 4d52edb669..4df17390d6 100644
--- a/src/lists/predicates-on-lists.lagda.md
+++ b/src/lists/predicates-on-lists.lagda.md
@@ -7,7 +7,9 @@ module lists.predicates-on-lists where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.propositions
+open import foundation.raising-universe-levels-unit-type
open import foundation.unit-type
open import foundation.universe-levels
diff --git a/src/lists/sort-by-insertion-vectors.lagda.md b/src/lists/sort-by-insertion-vectors.lagda.md
index 56d1870c3a..0624942846 100644
--- a/src/lists/sort-by-insertion-vectors.lagda.md
+++ b/src/lists/sort-by-insertion-vectors.lagda.md
@@ -18,6 +18,7 @@ open import foundation.dependent-pair-types
open import foundation.equivalences
open import foundation.functoriality-coproduct-types
open import foundation.identity-types
+open import foundation.raising-universe-levels-unit-type
open import foundation.transport-along-identifications
open import foundation.unit-type
open import foundation.universe-levels
diff --git a/src/lists/sorted-lists.lagda.md b/src/lists/sorted-lists.lagda.md
index dbd5f1f37e..c3b6d88f3e 100644
--- a/src/lists/sorted-lists.lagda.md
+++ b/src/lists/sorted-lists.lagda.md
@@ -10,7 +10,9 @@ module lists.sorted-lists where
open import elementary-number-theory.natural-numbers
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
+open import foundation.raising-universe-levels-unit-type
open import foundation.unit-type
open import foundation.universe-levels
diff --git a/src/lists/sorted-vectors.lagda.md b/src/lists/sorted-vectors.lagda.md
index dbb2353d4f..babd8a2568 100644
--- a/src/lists/sorted-vectors.lagda.md
+++ b/src/lists/sorted-vectors.lagda.md
@@ -13,9 +13,11 @@ open import finite-group-theory.permutations-standard-finite-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.propositions
+open import foundation.raising-universe-levels-unit-type
open import foundation.unit-type
open import foundation.universe-levels
diff --git a/src/literature/introduction-to-homotopy-type-theory.lagda.md b/src/literature/introduction-to-homotopy-type-theory.lagda.md
index 73694d20ac..c802dce2bc 100644
--- a/src/literature/introduction-to-homotopy-type-theory.lagda.md
+++ b/src/literature/introduction-to-homotopy-type-theory.lagda.md
@@ -556,7 +556,8 @@ open import foundation.action-on-identifications-dependent-functions using
```agda
open import foundation.torsorial-type-families using
( is-torsorial-Id)
-open import foundation.contractible-types using
+open import foundation.contractible-types
+open import foundation.dependent-products-contractible-types using
( eq-is-contr')
_ : {l : Level} {A : UU l} (a : A) (y : Σ A (λ x → a = x)) → (a , refl) = y
@@ -786,7 +787,7 @@ open import foundation.universe-levels using
**Remark 6.2.4.** Inclusions into the successor universe.
```agda
-open import foundation.raising-universe-levels using
+open import foundation-core.raising-universe-levels using
( raise)
_ : (l : Level) → UU l → UU (lsuc l)
diff --git a/src/literature/sequential-colimits-in-homotopy-type-theory.lagda.md b/src/literature/sequential-colimits-in-homotopy-type-theory.lagda.md
index 34e5e2e86f..e53d2f2c92 100644
--- a/src/literature/sequential-colimits-in-homotopy-type-theory.lagda.md
+++ b/src/literature/sequential-colimits-in-homotopy-type-theory.lagda.md
@@ -48,7 +48,8 @@ open import foundation.transport-along-identifications using
open import foundation.action-on-identifications-dependent-functions using
( apd -- "dependent functions respect paths"
)
-open import foundation.truncated-types using
+open import foundation.truncated-types
+open import foundation.dependent-products-truncated-types using
( is-trunc -- "`n`-truncated types"
)
open import foundation.truncations using
diff --git a/src/logic/de-morgan-embeddings.lagda.md b/src/logic/de-morgan-embeddings.lagda.md
index 3391dea43b..9c8a430b2c 100644
--- a/src/logic/de-morgan-embeddings.lagda.md
+++ b/src/logic/de-morgan-embeddings.lagda.md
@@ -14,6 +14,7 @@ open import foundation.decidable-maps
open import foundation.decidable-propositions
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.fibers-of-maps
open import foundation.functoriality-cartesian-product-types
diff --git a/src/logic/de-morgan-maps.lagda.md b/src/logic/de-morgan-maps.lagda.md
index 17b5a68d6e..db5efbdcd9 100644
--- a/src/logic/de-morgan-maps.lagda.md
+++ b/src/logic/de-morgan-maps.lagda.md
@@ -16,6 +16,7 @@ open import foundation.decidable-equality
open import foundation.decidable-maps
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.double-negation
open import foundation.embeddings
open import foundation.empty-types
diff --git a/src/logic/de-morgan-propositions.lagda.md b/src/logic/de-morgan-propositions.lagda.md
index 5ca81ba117..eed1c74835 100644
--- a/src/logic/de-morgan-propositions.lagda.md
+++ b/src/logic/de-morgan-propositions.lagda.md
@@ -13,6 +13,8 @@ open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.disjunction
open import foundation.double-negation
open import foundation.embeddings
diff --git a/src/logic/de-morgan-subtypes.lagda.md b/src/logic/de-morgan-subtypes.lagda.md
index 8981009f85..b01a79ab1f 100644
--- a/src/logic/de-morgan-subtypes.lagda.md
+++ b/src/logic/de-morgan-subtypes.lagda.md
@@ -10,6 +10,7 @@ module logic.de-morgan-subtypes where
open import foundation.1-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equality-dependent-function-types
open import foundation.functoriality-cartesian-product-types
open import foundation.functoriality-dependent-pair-types
diff --git a/src/logic/de-morgan-types.lagda.md b/src/logic/de-morgan-types.lagda.md
index a87cd18593..37f15937b1 100644
--- a/src/logic/de-morgan-types.lagda.md
+++ b/src/logic/de-morgan-types.lagda.md
@@ -13,6 +13,8 @@ open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.disjunction
open import foundation.double-negation
open import foundation.empty-types
diff --git a/src/logic/de-morgans-law.lagda.md b/src/logic/de-morgans-law.lagda.md
index b680aef549..670b532a88 100644
--- a/src/logic/de-morgans-law.lagda.md
+++ b/src/logic/de-morgans-law.lagda.md
@@ -12,6 +12,7 @@ open import foundation.conjunction
open import foundation.coproduct-types
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.disjunction
open import foundation.double-negation
open import foundation.empty-types
diff --git a/src/logic/double-negation-elimination.lagda.md b/src/logic/double-negation-elimination.lagda.md
index 1acfd21ebb..cdc299f056 100644
--- a/src/logic/double-negation-elimination.lagda.md
+++ b/src/logic/double-negation-elimination.lagda.md
@@ -11,6 +11,7 @@ open import foundation.cartesian-product-types
open import foundation.coproduct-types
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.double-negation
open import foundation.evaluation-functions
open import foundation.hilberts-epsilon-operators
diff --git a/src/logic/double-negation-stable-embeddings.lagda.md b/src/logic/double-negation-stable-embeddings.lagda.md
index 4e6a207085..368f477270 100644
--- a/src/logic/double-negation-stable-embeddings.lagda.md
+++ b/src/logic/double-negation-stable-embeddings.lagda.md
@@ -14,6 +14,7 @@ open import foundation.decidable-maps
open import foundation.decidable-propositions
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.double-negation-stable-propositions
open import foundation.embeddings
open import foundation.fibers-of-maps
diff --git a/src/logic/double-negation-stable-subtypes.lagda.md b/src/logic/double-negation-stable-subtypes.lagda.md
index 6614510a1b..5780836046 100644
--- a/src/logic/double-negation-stable-subtypes.lagda.md
+++ b/src/logic/double-negation-stable-subtypes.lagda.md
@@ -10,6 +10,7 @@ module logic.double-negation-stable-subtypes where
open import foundation.1-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.double-negation-stable-propositions
open import foundation.equality-dependent-function-types
open import foundation.functoriality-cartesian-product-types
diff --git a/src/logic/markovian-types.lagda.md b/src/logic/markovian-types.lagda.md
index 54b779cddd..4add56697f 100644
--- a/src/logic/markovian-types.lagda.md
+++ b/src/logic/markovian-types.lagda.md
@@ -9,9 +9,9 @@ module logic.markovian-types where
```agda
open import elementary-number-theory.natural-numbers
-open import foundation.booleans
open import foundation.decidable-subtypes
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.disjunction
open import foundation.existential-quantification
open import foundation.function-types
@@ -20,6 +20,7 @@ open import foundation.negation
open import foundation.universal-quantification
open import foundation.universe-levels
+open import foundation-core.booleans
open import foundation-core.identity-types
open import foundation-core.propositions
open import foundation-core.sets
@@ -41,8 +42,8 @@ then there is an element of `A` that is
### The predicate of being Markovian
-We phrase the condition using the [type of booleans](foundation.booleans.md) so
-that the predicate is small.
+We phrase the condition using the
+[type of booleans](foundation-core.booleans.md) so that the predicate is small.
```agda
is-markovian : {l : Level} → UU l → UU l
diff --git a/src/logic/markovs-principle.lagda.md b/src/logic/markovs-principle.lagda.md
index 51ef1a407f..66eeefbf91 100644
--- a/src/logic/markovs-principle.lagda.md
+++ b/src/logic/markovs-principle.lagda.md
@@ -9,7 +9,6 @@ module logic.markovs-principle where
```agda
open import elementary-number-theory.natural-numbers
-open import foundation.booleans
open import foundation.decidable-subtypes
open import foundation.dependent-pair-types
open import foundation.disjunction
@@ -20,6 +19,7 @@ open import foundation.negation
open import foundation.universal-quantification
open import foundation.universe-levels
+open import foundation-core.booleans
open import foundation-core.identity-types
open import foundation-core.propositions
open import foundation-core.sets
diff --git a/src/metric-spaces/category-of-metric-spaces-and-isometries.lagda.md b/src/metric-spaces/category-of-metric-spaces-and-isometries.lagda.md
index 33740c7c95..c4f646f0c2 100644
--- a/src/metric-spaces/category-of-metric-spaces-and-isometries.lagda.md
+++ b/src/metric-spaces/category-of-metric-spaces-and-isometries.lagda.md
@@ -12,6 +12,7 @@ open import category-theory.isomorphisms-in-precategories
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.functoriality-dependent-pair-types
open import foundation.fundamental-theorem-of-identity-types
open import foundation.torsorial-type-families
diff --git a/src/metric-spaces/category-of-metric-spaces-and-short-functions.lagda.md b/src/metric-spaces/category-of-metric-spaces-and-short-functions.lagda.md
index 64d510500c..7ef7fce894 100644
--- a/src/metric-spaces/category-of-metric-spaces-and-short-functions.lagda.md
+++ b/src/metric-spaces/category-of-metric-spaces-and-short-functions.lagda.md
@@ -12,6 +12,7 @@ open import category-theory.isomorphisms-in-precategories
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.functoriality-dependent-pair-types
open import foundation.fundamental-theorem-of-identity-types
open import foundation.torsorial-type-families
diff --git a/src/metric-spaces/cauchy-approximations-metric-spaces.lagda.md b/src/metric-spaces/cauchy-approximations-metric-spaces.lagda.md
index 1b5a1f41c2..683c45dfbb 100644
--- a/src/metric-spaces/cauchy-approximations-metric-spaces.lagda.md
+++ b/src/metric-spaces/cauchy-approximations-metric-spaces.lagda.md
@@ -11,6 +11,7 @@ open import elementary-number-theory.positive-rational-numbers
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.function-types
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/metric-spaces/cauchy-approximations-premetric-spaces.lagda.md b/src/metric-spaces/cauchy-approximations-premetric-spaces.lagda.md
index c33d16562a..3a742499a3 100644
--- a/src/metric-spaces/cauchy-approximations-premetric-spaces.lagda.md
+++ b/src/metric-spaces/cauchy-approximations-premetric-spaces.lagda.md
@@ -10,12 +10,9 @@ module metric-spaces.cauchy-approximations-premetric-spaces where
open import elementary-number-theory.positive-rational-numbers
open import foundation.dependent-pair-types
-open import foundation.equivalences
-open import foundation.function-extensionality
+open import foundation.dependent-products-propositions
open import foundation.function-types
-open import foundation.homotopies
open import foundation.identity-types
-open import foundation.logical-equivalences
open import foundation.propositions
open import foundation.subtypes
open import foundation.universe-levels
diff --git a/src/metric-spaces/closed-premetric-structures.lagda.md b/src/metric-spaces/closed-premetric-structures.lagda.md
index 8bf46dea34..e63794b18b 100644
--- a/src/metric-spaces/closed-premetric-structures.lagda.md
+++ b/src/metric-spaces/closed-premetric-structures.lagda.md
@@ -14,6 +14,7 @@ open import elementary-number-theory.strict-inequality-rational-numbers
open import foundation.action-on-identifications-functions
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-extensionality
open import foundation.function-types
diff --git a/src/metric-spaces/complete-metric-spaces.lagda.md b/src/metric-spaces/complete-metric-spaces.lagda.md
index 1cb1c38a3a..0bab35d2ce 100644
--- a/src/metric-spaces/complete-metric-spaces.lagda.md
+++ b/src/metric-spaces/complete-metric-spaces.lagda.md
@@ -10,6 +10,7 @@ module metric-spaces.complete-metric-spaces where
open import elementary-number-theory.positive-rational-numbers
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.subtypes
open import foundation.universe-levels
diff --git a/src/metric-spaces/convergent-cauchy-approximations-metric-spaces.lagda.md b/src/metric-spaces/convergent-cauchy-approximations-metric-spaces.lagda.md
index f8ade7ad4b..f3b09e4550 100644
--- a/src/metric-spaces/convergent-cauchy-approximations-metric-spaces.lagda.md
+++ b/src/metric-spaces/convergent-cauchy-approximations-metric-spaces.lagda.md
@@ -10,6 +10,7 @@ module metric-spaces.convergent-cauchy-approximations-metric-spaces where
open import elementary-number-theory.positive-rational-numbers
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.subtypes
open import foundation.universe-levels
diff --git a/src/metric-spaces/dependent-products-metric-spaces.lagda.md b/src/metric-spaces/dependent-products-metric-spaces.lagda.md
index 9114877759..aa8ba7ab1b 100644
--- a/src/metric-spaces/dependent-products-metric-spaces.lagda.md
+++ b/src/metric-spaces/dependent-products-metric-spaces.lagda.md
@@ -8,6 +8,7 @@ module metric-spaces.dependent-products-metric-spaces where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.function-extensionality
open import foundation.propositions
open import foundation.sets
diff --git a/src/metric-spaces/discrete-premetric-structures.lagda.md b/src/metric-spaces/discrete-premetric-structures.lagda.md
index e7611f1876..4985db00fc 100644
--- a/src/metric-spaces/discrete-premetric-structures.lagda.md
+++ b/src/metric-spaces/discrete-premetric-structures.lagda.md
@@ -9,28 +9,18 @@ module metric-spaces.discrete-premetric-structures where
```agda
open import elementary-number-theory.positive-rational-numbers
-open import foundation.action-on-identifications-functions
-open import foundation.binary-relations
-open import foundation.contractible-types
open import foundation.dependent-pair-types
-open import foundation.equivalences
-open import foundation.function-extensionality
+open import foundation.dependent-products-propositions
open import foundation.function-types
-open import foundation.fundamental-theorem-of-identity-types
open import foundation.identity-types
open import foundation.logical-equivalences
-open import foundation.propositional-extensionality
open import foundation.propositional-truncations
open import foundation.propositions
open import foundation.sets
open import foundation.subtypes
-open import foundation.torsorial-type-families
-open import foundation.transport-along-identifications
-open import foundation.univalence
open import foundation.universe-levels
open import metric-spaces.extensional-premetric-structures
-open import metric-spaces.monotonic-premetric-structures
open import metric-spaces.premetric-structures
open import metric-spaces.reflexive-premetric-structures
open import metric-spaces.symmetric-premetric-structures
diff --git a/src/metric-spaces/equality-of-metric-spaces.lagda.md b/src/metric-spaces/equality-of-metric-spaces.lagda.md
index 9e6b49a73c..77b130efae 100644
--- a/src/metric-spaces/equality-of-metric-spaces.lagda.md
+++ b/src/metric-spaces/equality-of-metric-spaces.lagda.md
@@ -9,6 +9,8 @@ module metric-spaces.equality-of-metric-spaces where
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
diff --git a/src/metric-spaces/equality-of-premetric-spaces.lagda.md b/src/metric-spaces/equality-of-premetric-spaces.lagda.md
index bf75c6dad0..d2ca4bee50 100644
--- a/src/metric-spaces/equality-of-premetric-spaces.lagda.md
+++ b/src/metric-spaces/equality-of-premetric-spaces.lagda.md
@@ -11,6 +11,8 @@ open import foundation.action-on-identifications-functions
open import foundation.binary-transport
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
open import foundation.functoriality-dependent-pair-types
diff --git a/src/metric-spaces/extensional-premetric-structures.lagda.md b/src/metric-spaces/extensional-premetric-structures.lagda.md
index 0e614ca440..15254e0299 100644
--- a/src/metric-spaces/extensional-premetric-structures.lagda.md
+++ b/src/metric-spaces/extensional-premetric-structures.lagda.md
@@ -10,6 +10,7 @@ module metric-spaces.extensional-premetric-structures where
open import elementary-number-theory.positive-rational-numbers
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.fundamental-theorem-of-identity-types
diff --git a/src/metric-spaces/functor-category-set-functions-isometry-metric-spaces.lagda.md b/src/metric-spaces/functor-category-set-functions-isometry-metric-spaces.lagda.md
index deb9612d34..e825f25eff 100644
--- a/src/metric-spaces/functor-category-set-functions-isometry-metric-spaces.lagda.md
+++ b/src/metric-spaces/functor-category-set-functions-isometry-metric-spaces.lagda.md
@@ -10,23 +10,15 @@ module metric-spaces.functor-category-set-functions-isometry-metric-spaces where
open import category-theory.conservative-functors-precategories
open import category-theory.faithful-functors-precategories
open import category-theory.functors-precategories
-open import category-theory.isomorphisms-in-precategories
-open import category-theory.maps-precategories
-open import category-theory.precategories
open import foundation.category-of-sets
open import foundation.dependent-pair-types
-open import foundation.equivalences
-open import foundation.function-extensionality
open import foundation.function-types
-open import foundation.fundamental-theorem-of-identity-types
-open import foundation.homotopies
open import foundation.identity-types
open import foundation.isomorphisms-of-sets
open import foundation.subtypes
open import foundation.universe-levels
-open import metric-spaces.category-of-metric-spaces-and-isometries
open import metric-spaces.isometries-metric-spaces
open import metric-spaces.metric-spaces
open import metric-spaces.precategory-of-metric-spaces-and-isometries
diff --git a/src/metric-spaces/functor-category-short-isometry-metric-spaces.lagda.md b/src/metric-spaces/functor-category-short-isometry-metric-spaces.lagda.md
index efc5aa2595..9e55f22584 100644
--- a/src/metric-spaces/functor-category-short-isometry-metric-spaces.lagda.md
+++ b/src/metric-spaces/functor-category-short-isometry-metric-spaces.lagda.md
@@ -10,20 +10,12 @@ module metric-spaces.functor-category-short-isometry-metric-spaces where
open import category-theory.conservative-functors-precategories
open import category-theory.faithful-functors-precategories
open import category-theory.functors-precategories
-open import category-theory.isomorphisms-in-precategories
-open import category-theory.maps-precategories
-open import category-theory.precategories
-open import category-theory.split-essentially-surjective-functors-precategories
open import foundation.dependent-pair-types
open import foundation.equivalences
-open import foundation.function-extensionality
-open import foundation.fundamental-theorem-of-identity-types
-open import foundation.homotopies
open import foundation.identity-types
open import foundation.universe-levels
-open import metric-spaces.isometries-metric-spaces
open import metric-spaces.precategory-of-metric-spaces-and-isometries
open import metric-spaces.precategory-of-metric-spaces-and-short-functions
open import metric-spaces.short-functions-metric-spaces
diff --git a/src/metric-spaces/isometric-equivalences-premetric-spaces.lagda.md b/src/metric-spaces/isometric-equivalences-premetric-spaces.lagda.md
index 34c143ce20..334409f70c 100644
--- a/src/metric-spaces/isometric-equivalences-premetric-spaces.lagda.md
+++ b/src/metric-spaces/isometric-equivalences-premetric-spaces.lagda.md
@@ -10,6 +10,8 @@ module metric-spaces.isometric-equivalences-premetric-spaces where
open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-extensionality
open import foundation.function-types
diff --git a/src/metric-spaces/isometries-metric-spaces.lagda.md b/src/metric-spaces/isometries-metric-spaces.lagda.md
index 5078244b1f..1608ab87a2 100644
--- a/src/metric-spaces/isometries-metric-spaces.lagda.md
+++ b/src/metric-spaces/isometries-metric-spaces.lagda.md
@@ -11,6 +11,7 @@ open import elementary-number-theory.positive-rational-numbers
open import foundation.binary-transport
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.existential-quantification
diff --git a/src/metric-spaces/isometries-premetric-spaces.lagda.md b/src/metric-spaces/isometries-premetric-spaces.lagda.md
index 6b3812351b..1dd88b7b6b 100644
--- a/src/metric-spaces/isometries-premetric-spaces.lagda.md
+++ b/src/metric-spaces/isometries-premetric-spaces.lagda.md
@@ -11,6 +11,7 @@ open import elementary-number-theory.positive-rational-numbers
open import foundation.binary-transport
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.function-extensionality
diff --git a/src/metric-spaces/limits-of-cauchy-approximations-in-premetric-spaces.lagda.md b/src/metric-spaces/limits-of-cauchy-approximations-in-premetric-spaces.lagda.md
index a3a62b7f90..c192300802 100644
--- a/src/metric-spaces/limits-of-cauchy-approximations-in-premetric-spaces.lagda.md
+++ b/src/metric-spaces/limits-of-cauchy-approximations-in-premetric-spaces.lagda.md
@@ -9,22 +9,15 @@ module metric-spaces.limits-of-cauchy-approximations-in-premetric-spaces where
```agda
open import elementary-number-theory.positive-rational-numbers
-open import foundation.dependent-pair-types
-open import foundation.equivalences
-open import foundation.function-extensionality
-open import foundation.function-types
-open import foundation.homotopies
+open import foundation.dependent-products-propositions
open import foundation.identity-types
-open import foundation.logical-equivalences
open import foundation.propositions
-open import foundation.subtypes
open import foundation.transport-along-identifications
open import foundation.universe-levels
open import metric-spaces.cauchy-approximations-premetric-spaces
open import metric-spaces.extensional-premetric-structures
open import metric-spaces.premetric-spaces
-open import metric-spaces.short-functions-premetric-spaces
open import metric-spaces.symmetric-premetric-structures
open import metric-spaces.triangular-premetric-structures
```
diff --git a/src/metric-spaces/metric-space-of-rational-numbers-with-open-neighborhoods.lagda.md b/src/metric-spaces/metric-space-of-rational-numbers-with-open-neighborhoods.lagda.md
index 5f2525fef2..4ac301af80 100644
--- a/src/metric-spaces/metric-space-of-rational-numbers-with-open-neighborhoods.lagda.md
+++ b/src/metric-spaces/metric-space-of-rational-numbers-with-open-neighborhoods.lagda.md
@@ -19,6 +19,7 @@ open import elementary-number-theory.strict-inequality-rational-numbers
open import foundation.action-on-identifications-functions
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/metric-spaces/metric-space-of-rational-numbers.lagda.md b/src/metric-spaces/metric-space-of-rational-numbers.lagda.md
index 8ad75841c4..b72bbbb83c 100644
--- a/src/metric-spaces/metric-space-of-rational-numbers.lagda.md
+++ b/src/metric-spaces/metric-space-of-rational-numbers.lagda.md
@@ -20,6 +20,7 @@ open import foundation.action-on-identifications-functions
open import foundation.binary-transport
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.diagonal-maps-cartesian-products-of-types
open import foundation.empty-types
open import foundation.equivalences
diff --git a/src/metric-spaces/metric-spaces.lagda.md b/src/metric-spaces/metric-spaces.lagda.md
index 27701dbe35..081cbdc597 100644
--- a/src/metric-spaces/metric-spaces.lagda.md
+++ b/src/metric-spaces/metric-spaces.lagda.md
@@ -11,6 +11,7 @@ open import elementary-number-theory.positive-rational-numbers
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
diff --git a/src/metric-spaces/metric-structures.lagda.md b/src/metric-spaces/metric-structures.lagda.md
index 0839f2efae..0bcd23b2f6 100644
--- a/src/metric-spaces/metric-structures.lagda.md
+++ b/src/metric-spaces/metric-structures.lagda.md
@@ -8,6 +8,7 @@ module metric-spaces.metric-structures where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.function-types
open import foundation.logical-equivalences
open import foundation.propositions
diff --git a/src/metric-spaces/monotonic-premetric-structures.lagda.md b/src/metric-spaces/monotonic-premetric-structures.lagda.md
index d495f3087d..e227aa311e 100644
--- a/src/metric-spaces/monotonic-premetric-structures.lagda.md
+++ b/src/metric-spaces/monotonic-premetric-structures.lagda.md
@@ -9,6 +9,7 @@ module metric-spaces.monotonic-premetric-structures where
```agda
open import elementary-number-theory.positive-rational-numbers
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/metric-spaces/ordering-premetric-structures.lagda.md b/src/metric-spaces/ordering-premetric-structures.lagda.md
index 9d31996995..62968ce140 100644
--- a/src/metric-spaces/ordering-premetric-structures.lagda.md
+++ b/src/metric-spaces/ordering-premetric-structures.lagda.md
@@ -11,6 +11,7 @@ open import elementary-number-theory.positive-rational-numbers
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.function-types
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/metric-spaces/precategory-of-metric-spaces-and-isometries.lagda.md b/src/metric-spaces/precategory-of-metric-spaces-and-isometries.lagda.md
index 9f8d292f56..aceb047872 100644
--- a/src/metric-spaces/precategory-of-metric-spaces-and-isometries.lagda.md
+++ b/src/metric-spaces/precategory-of-metric-spaces-and-isometries.lagda.md
@@ -11,18 +11,12 @@ open import category-theory.isomorphisms-in-precategories
open import category-theory.precategories
open import foundation.action-on-identifications-functions
-open import foundation.contractible-types
open import foundation.dependent-pair-types
open import foundation.equivalences
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
-open import foundation.identity-types
open import foundation.logical-equivalences
-open import foundation.propositions
-open import foundation.subtypes
-open import foundation.torsorial-type-families
-open import foundation.transport-along-identifications
open import foundation.type-arithmetic-cartesian-product-types
open import foundation.type-arithmetic-dependent-pair-types
open import foundation.universe-levels
diff --git a/src/metric-spaces/precategory-of-metric-spaces-and-short-functions.lagda.md b/src/metric-spaces/precategory-of-metric-spaces-and-short-functions.lagda.md
index 1133d2e084..64311a3194 100644
--- a/src/metric-spaces/precategory-of-metric-spaces-and-short-functions.lagda.md
+++ b/src/metric-spaces/precategory-of-metric-spaces-and-short-functions.lagda.md
@@ -12,16 +12,13 @@ open import category-theory.precategories
open import foundation.action-on-identifications-functions
open import foundation.binary-transport
-open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
-open import foundation.function-extensionality
-open import foundation.function-types
+open import foundation.function-extensionality-axiom
open import foundation.functoriality-dependent-pair-types
-open import foundation.identity-types
open import foundation.logical-equivalences
open import foundation.propositions
-open import foundation.torsorial-type-families
open import foundation.type-arithmetic-dependent-pair-types
open import foundation.universe-levels
@@ -30,7 +27,6 @@ open import metric-spaces.functions-metric-spaces
open import metric-spaces.isometric-equivalences-premetric-spaces
open import metric-spaces.isometries-metric-spaces
open import metric-spaces.metric-spaces
-open import metric-spaces.precategory-of-metric-spaces-and-isometries
open import metric-spaces.short-functions-metric-spaces
```
diff --git a/src/metric-spaces/premetric-spaces.lagda.md b/src/metric-spaces/premetric-spaces.lagda.md
index edc68f4a20..0c566bb4f5 100644
--- a/src/metric-spaces/premetric-spaces.lagda.md
+++ b/src/metric-spaces/premetric-spaces.lagda.md
@@ -10,6 +10,7 @@ module metric-spaces.premetric-spaces where
open import elementary-number-theory.positive-rational-numbers
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.function-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/metric-spaces/premetric-structures.lagda.md b/src/metric-spaces/premetric-structures.lagda.md
index 1efac73fa8..3ce5087017 100644
--- a/src/metric-spaces/premetric-structures.lagda.md
+++ b/src/metric-spaces/premetric-structures.lagda.md
@@ -11,6 +11,7 @@ open import elementary-number-theory.positive-rational-numbers
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equivalences
open import foundation.existential-quantification
diff --git a/src/metric-spaces/pseudometric-spaces.lagda.md b/src/metric-spaces/pseudometric-spaces.lagda.md
index 1504bef0ae..7bc487fe68 100644
--- a/src/metric-spaces/pseudometric-spaces.lagda.md
+++ b/src/metric-spaces/pseudometric-spaces.lagda.md
@@ -9,6 +9,7 @@ module metric-spaces.pseudometric-spaces where
```agda
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalence-relations
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/metric-spaces/pseudometric-structures.lagda.md b/src/metric-spaces/pseudometric-structures.lagda.md
index fb0476457b..35db46355d 100644
--- a/src/metric-spaces/pseudometric-structures.lagda.md
+++ b/src/metric-spaces/pseudometric-structures.lagda.md
@@ -8,6 +8,7 @@ module metric-spaces.pseudometric-structures where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/metric-spaces/reflexive-premetric-structures.lagda.md b/src/metric-spaces/reflexive-premetric-structures.lagda.md
index 5bb77664f7..ed3f6e7ca4 100644
--- a/src/metric-spaces/reflexive-premetric-structures.lagda.md
+++ b/src/metric-spaces/reflexive-premetric-structures.lagda.md
@@ -11,6 +11,7 @@ open import elementary-number-theory.positive-rational-numbers
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equivalences
open import foundation.existential-quantification
diff --git a/src/metric-spaces/saturated-metric-spaces.lagda.md b/src/metric-spaces/saturated-metric-spaces.lagda.md
index f4d759453b..6729ed80ae 100644
--- a/src/metric-spaces/saturated-metric-spaces.lagda.md
+++ b/src/metric-spaces/saturated-metric-spaces.lagda.md
@@ -11,6 +11,7 @@ open import elementary-number-theory.positive-rational-numbers
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
diff --git a/src/metric-spaces/short-functions-metric-spaces.lagda.md b/src/metric-spaces/short-functions-metric-spaces.lagda.md
index bab344ebbb..328be7852d 100644
--- a/src/metric-spaces/short-functions-metric-spaces.lagda.md
+++ b/src/metric-spaces/short-functions-metric-spaces.lagda.md
@@ -10,6 +10,7 @@ module metric-spaces.short-functions-metric-spaces where
open import elementary-number-theory.positive-rational-numbers
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.function-extensionality
diff --git a/src/metric-spaces/short-functions-premetric-spaces.lagda.md b/src/metric-spaces/short-functions-premetric-spaces.lagda.md
index f719e1acfc..76177bd533 100644
--- a/src/metric-spaces/short-functions-premetric-spaces.lagda.md
+++ b/src/metric-spaces/short-functions-premetric-spaces.lagda.md
@@ -10,6 +10,7 @@ module metric-spaces.short-functions-premetric-spaces where
open import elementary-number-theory.positive-rational-numbers
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.existential-quantification
open import foundation.function-extensionality
diff --git a/src/metric-spaces/symmetric-premetric-structures.lagda.md b/src/metric-spaces/symmetric-premetric-structures.lagda.md
index 86d360e6a2..975a179e1d 100644
--- a/src/metric-spaces/symmetric-premetric-structures.lagda.md
+++ b/src/metric-spaces/symmetric-premetric-structures.lagda.md
@@ -10,6 +10,7 @@ module metric-spaces.symmetric-premetric-structures where
open import elementary-number-theory.positive-rational-numbers
open import foundation.binary-relations
+open import foundation.dependent-products-propositions
open import foundation.existential-quantification
open import foundation.function-types
open import foundation.identity-types
diff --git a/src/metric-spaces/triangular-premetric-structures.lagda.md b/src/metric-spaces/triangular-premetric-structures.lagda.md
index 98b2b7c42a..aed5bffa0b 100644
--- a/src/metric-spaces/triangular-premetric-structures.lagda.md
+++ b/src/metric-spaces/triangular-premetric-structures.lagda.md
@@ -10,6 +10,7 @@ module metric-spaces.triangular-premetric-structures where
open import elementary-number-theory.positive-rational-numbers
open import foundation.binary-relations
+open import foundation.dependent-products-propositions
open import foundation.function-types
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/modal-type-theory/flat-discrete-crisp-types.lagda.md b/src/modal-type-theory/flat-discrete-crisp-types.lagda.md
index 5bf37687fc..286ac5f7bb 100644
--- a/src/modal-type-theory/flat-discrete-crisp-types.lagda.md
+++ b/src/modal-type-theory/flat-discrete-crisp-types.lagda.md
@@ -14,6 +14,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.action-on-identifications-functions
open import foundation.booleans
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.empty-types
open import foundation.equivalences
diff --git a/src/modal-type-theory/sharp-codiscrete-maps.lagda.md b/src/modal-type-theory/sharp-codiscrete-maps.lagda.md
index b6f62e6748..2575fc24e7 100644
--- a/src/modal-type-theory/sharp-codiscrete-maps.lagda.md
+++ b/src/modal-type-theory/sharp-codiscrete-maps.lagda.md
@@ -9,6 +9,7 @@ module modal-type-theory.sharp-codiscrete-maps where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.fibers-of-maps
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/modal-type-theory/sharp-codiscrete-types.lagda.md b/src/modal-type-theory/sharp-codiscrete-types.lagda.md
index 0eb4a695fb..c3d1167982 100644
--- a/src/modal-type-theory/sharp-codiscrete-types.lagda.md
+++ b/src/modal-type-theory/sharp-codiscrete-types.lagda.md
@@ -11,9 +11,10 @@ module modal-type-theory.sharp-codiscrete-types where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/order-theory/bottom-elements-posets.lagda.md b/src/order-theory/bottom-elements-posets.lagda.md
index 19f835b65c..029c8d44d5 100644
--- a/src/order-theory/bottom-elements-posets.lagda.md
+++ b/src/order-theory/bottom-elements-posets.lagda.md
@@ -8,6 +8,7 @@ module order-theory.bottom-elements-posets where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.subtypes
open import foundation.universe-levels
diff --git a/src/order-theory/bottom-elements-preorders.lagda.md b/src/order-theory/bottom-elements-preorders.lagda.md
index 5d5c0f1b8b..8edcad7c38 100644
--- a/src/order-theory/bottom-elements-preorders.lagda.md
+++ b/src/order-theory/bottom-elements-preorders.lagda.md
@@ -8,6 +8,7 @@ module order-theory.bottom-elements-preorders where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/order-theory/chains-posets.lagda.md b/src/order-theory/chains-posets.lagda.md
index 404b506ee9..26551a9ae4 100644
--- a/src/order-theory/chains-posets.lagda.md
+++ b/src/order-theory/chains-posets.lagda.md
@@ -9,6 +9,7 @@ module order-theory.chains-posets where
```agda
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.disjunction
open import foundation.existential-quantification
open import foundation.function-types
diff --git a/src/order-theory/chains-preorders.lagda.md b/src/order-theory/chains-preorders.lagda.md
index 65c1ad4c19..7e0da94eaa 100644
--- a/src/order-theory/chains-preorders.lagda.md
+++ b/src/order-theory/chains-preorders.lagda.md
@@ -8,6 +8,7 @@ module order-theory.chains-preorders where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.subtypes
open import foundation.universe-levels
diff --git a/src/order-theory/closure-operators-large-locales.lagda.md b/src/order-theory/closure-operators-large-locales.lagda.md
index 3bc839becd..297f55f1d8 100644
--- a/src/order-theory/closure-operators-large-locales.lagda.md
+++ b/src/order-theory/closure-operators-large-locales.lagda.md
@@ -9,6 +9,7 @@ module order-theory.closure-operators-large-locales where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.function-types
open import foundation.identity-types
open import foundation.large-binary-relations
diff --git a/src/order-theory/closure-operators-large-posets.lagda.md b/src/order-theory/closure-operators-large-posets.lagda.md
index edc0a558e9..2df2794db3 100644
--- a/src/order-theory/closure-operators-large-posets.lagda.md
+++ b/src/order-theory/closure-operators-large-posets.lagda.md
@@ -7,6 +7,7 @@ module order-theory.closure-operators-large-posets where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.large-binary-relations
open import foundation.propositions
diff --git a/src/order-theory/decidable-posets.lagda.md b/src/order-theory/decidable-posets.lagda.md
index b02c21afbf..70af21121f 100644
--- a/src/order-theory/decidable-posets.lagda.md
+++ b/src/order-theory/decidable-posets.lagda.md
@@ -10,6 +10,7 @@ module order-theory.decidable-posets where
open import foundation.binary-relations
open import foundation.decidable-propositions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.sets
diff --git a/src/order-theory/decidable-preorders.lagda.md b/src/order-theory/decidable-preorders.lagda.md
index b752e33a13..bc99e12dd3 100644
--- a/src/order-theory/decidable-preorders.lagda.md
+++ b/src/order-theory/decidable-preorders.lagda.md
@@ -10,6 +10,7 @@ module order-theory.decidable-preorders where
open import foundation.binary-relations
open import foundation.decidable-propositions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/order-theory/decidable-subposets.lagda.md b/src/order-theory/decidable-subposets.lagda.md
index d57463aa0b..f67d0ffa40 100644
--- a/src/order-theory/decidable-subposets.lagda.md
+++ b/src/order-theory/decidable-subposets.lagda.md
@@ -10,6 +10,7 @@ module order-theory.decidable-subposets where
open import foundation.binary-relations
open import foundation.decidable-subtypes
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/order-theory/decidable-subpreorders.lagda.md b/src/order-theory/decidable-subpreorders.lagda.md
index 57e290edc2..7e3c60057c 100644
--- a/src/order-theory/decidable-subpreorders.lagda.md
+++ b/src/order-theory/decidable-subpreorders.lagda.md
@@ -10,6 +10,7 @@ module order-theory.decidable-subpreorders where
open import foundation.binary-relations
open import foundation.decidable-subtypes
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/order-theory/decidable-total-orders.lagda.md b/src/order-theory/decidable-total-orders.lagda.md
index 2d8296df76..f8b5238ae4 100644
--- a/src/order-theory/decidable-total-orders.lagda.md
+++ b/src/order-theory/decidable-total-orders.lagda.md
@@ -7,11 +7,11 @@ module order-theory.decidable-total-orders where
Imports
```agda
-open import foundation.action-on-identifications-functions
open import foundation.binary-relations
open import foundation.coproduct-types
open import foundation.decidable-propositions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.identity-types
open import foundation.logical-equivalences
diff --git a/src/order-theory/decidable-total-preorders.lagda.md b/src/order-theory/decidable-total-preorders.lagda.md
index c3385ce7ae..c3348f6e76 100644
--- a/src/order-theory/decidable-total-preorders.lagda.md
+++ b/src/order-theory/decidable-total-preorders.lagda.md
@@ -13,6 +13,7 @@ open import foundation.coproduct-types
open import foundation.decidable-propositions
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.function-types
open import foundation.identity-types
diff --git a/src/order-theory/deflationary-maps-posets.lagda.md b/src/order-theory/deflationary-maps-posets.lagda.md
index ffeb8f4da5..8d23f53862 100644
--- a/src/order-theory/deflationary-maps-posets.lagda.md
+++ b/src/order-theory/deflationary-maps-posets.lagda.md
@@ -8,6 +8,7 @@ module order-theory.deflationary-maps-posets where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.subtypes
open import foundation.universe-levels
diff --git a/src/order-theory/deflationary-maps-preorders.lagda.md b/src/order-theory/deflationary-maps-preorders.lagda.md
index 508b702878..93d97e5fee 100644
--- a/src/order-theory/deflationary-maps-preorders.lagda.md
+++ b/src/order-theory/deflationary-maps-preorders.lagda.md
@@ -8,6 +8,7 @@ module order-theory.deflationary-maps-preorders where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.subtypes
open import foundation.universe-levels
diff --git a/src/order-theory/dependent-products-large-preorders.lagda.md b/src/order-theory/dependent-products-large-preorders.lagda.md
index fa7fafa61e..3ccd5f4aa8 100644
--- a/src/order-theory/dependent-products-large-preorders.lagda.md
+++ b/src/order-theory/dependent-products-large-preorders.lagda.md
@@ -7,6 +7,7 @@ module order-theory.dependent-products-large-preorders where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.large-binary-relations
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/order-theory/distributive-lattices.lagda.md b/src/order-theory/distributive-lattices.lagda.md
index e2dff425a0..44c794fe08 100644
--- a/src/order-theory/distributive-lattices.lagda.md
+++ b/src/order-theory/distributive-lattices.lagda.md
@@ -9,6 +9,7 @@ module order-theory.distributive-lattices where
```agda
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.sets
diff --git a/src/order-theory/finite-posets.lagda.md b/src/order-theory/finite-posets.lagda.md
index 597af98d12..a5cd6bba36 100644
--- a/src/order-theory/finite-posets.lagda.md
+++ b/src/order-theory/finite-posets.lagda.md
@@ -9,6 +9,7 @@ module order-theory.finite-posets where
```agda
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.function-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/order-theory/finite-preorders.lagda.md b/src/order-theory/finite-preorders.lagda.md
index b7a2511b49..0a88cb275a 100644
--- a/src/order-theory/finite-preorders.lagda.md
+++ b/src/order-theory/finite-preorders.lagda.md
@@ -15,6 +15,7 @@ open import foundation.decidable-equality
open import foundation.decidable-propositions
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.mere-equivalences
open import foundation.propositions
diff --git a/src/order-theory/finite-total-orders.lagda.md b/src/order-theory/finite-total-orders.lagda.md
index 4bfb6edcd4..c96500cd41 100644
--- a/src/order-theory/finite-total-orders.lagda.md
+++ b/src/order-theory/finite-total-orders.lagda.md
@@ -9,6 +9,7 @@ module order-theory.finite-total-orders where
```agda
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.function-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/order-theory/finitely-graded-posets.lagda.md b/src/order-theory/finitely-graded-posets.lagda.md
index b4fb4a404b..4c28ab1b16 100644
--- a/src/order-theory/finitely-graded-posets.lagda.md
+++ b/src/order-theory/finitely-graded-posets.lagda.md
@@ -14,6 +14,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.binary-relations
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.empty-types
open import foundation.equality-dependent-pair-types
diff --git a/src/order-theory/frames.lagda.md b/src/order-theory/frames.lagda.md
index 96d2f47cec..cac85804bd 100644
--- a/src/order-theory/frames.lagda.md
+++ b/src/order-theory/frames.lagda.md
@@ -9,6 +9,7 @@ module order-theory.frames where
```agda
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.sets
diff --git a/src/order-theory/galois-connections.lagda.md b/src/order-theory/galois-connections.lagda.md
index e0ac6170c7..5bc50f11d1 100644
--- a/src/order-theory/galois-connections.lagda.md
+++ b/src/order-theory/galois-connections.lagda.md
@@ -9,6 +9,7 @@ module order-theory.galois-connections where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.identity-types
open import foundation.logical-equivalences
diff --git a/src/order-theory/greatest-lower-bounds-posets.lagda.md b/src/order-theory/greatest-lower-bounds-posets.lagda.md
index 9a1430a0c4..9d759cfa95 100644
--- a/src/order-theory/greatest-lower-bounds-posets.lagda.md
+++ b/src/order-theory/greatest-lower-bounds-posets.lagda.md
@@ -9,6 +9,7 @@ module order-theory.greatest-lower-bounds-posets where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.logical-equivalences
open import foundation.propositions
diff --git a/src/order-theory/homomorphisms-meet-semilattices.lagda.md b/src/order-theory/homomorphisms-meet-semilattices.lagda.md
index d22b55a690..fdba09b6eb 100644
--- a/src/order-theory/homomorphisms-meet-semilattices.lagda.md
+++ b/src/order-theory/homomorphisms-meet-semilattices.lagda.md
@@ -9,6 +9,7 @@ module order-theory.homomorphisms-meet-semilattices where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.sets
diff --git a/src/order-theory/inflationary-maps-posets.lagda.md b/src/order-theory/inflationary-maps-posets.lagda.md
index 00c3374a3b..abfdb30246 100644
--- a/src/order-theory/inflationary-maps-posets.lagda.md
+++ b/src/order-theory/inflationary-maps-posets.lagda.md
@@ -8,6 +8,7 @@ module order-theory.inflationary-maps-posets where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.subtypes
open import foundation.universe-levels
diff --git a/src/order-theory/inflationary-maps-preorders.lagda.md b/src/order-theory/inflationary-maps-preorders.lagda.md
index aa2d482b97..8d8ebc9e9c 100644
--- a/src/order-theory/inflationary-maps-preorders.lagda.md
+++ b/src/order-theory/inflationary-maps-preorders.lagda.md
@@ -8,6 +8,7 @@ module order-theory.inflationary-maps-preorders where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.subtypes
open import foundation.universe-levels
diff --git a/src/order-theory/inflattices.lagda.md b/src/order-theory/inflattices.lagda.md
index 03b68b3db8..a9e5eb5929 100644
--- a/src/order-theory/inflattices.lagda.md
+++ b/src/order-theory/inflattices.lagda.md
@@ -9,6 +9,7 @@ module order-theory.inflattices where
```agda
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.logical-equivalences
open import foundation.propositions
open import foundation.sets
diff --git a/src/order-theory/inhabited-chains-posets.lagda.md b/src/order-theory/inhabited-chains-posets.lagda.md
index 8274e4af2a..4ccb2e5e4c 100644
--- a/src/order-theory/inhabited-chains-posets.lagda.md
+++ b/src/order-theory/inhabited-chains-posets.lagda.md
@@ -11,6 +11,7 @@ open import domain-theory.directed-families-posets
open import foundation.conjunction
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.disjunction
open import foundation.existential-quantification
open import foundation.inhabited-subtypes
diff --git a/src/order-theory/inhabited-chains-preorders.lagda.md b/src/order-theory/inhabited-chains-preorders.lagda.md
index 1722f40034..776f71377e 100644
--- a/src/order-theory/inhabited-chains-preorders.lagda.md
+++ b/src/order-theory/inhabited-chains-preorders.lagda.md
@@ -8,6 +8,7 @@ module order-theory.inhabited-chains-preorders where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.inhabited-subtypes
open import foundation.propositions
open import foundation.subtypes
diff --git a/src/order-theory/inhabited-finite-total-orders.lagda.md b/src/order-theory/inhabited-finite-total-orders.lagda.md
index a7a49e6404..9d55fcffc0 100644
--- a/src/order-theory/inhabited-finite-total-orders.lagda.md
+++ b/src/order-theory/inhabited-finite-total-orders.lagda.md
@@ -7,6 +7,7 @@ module order-theory.inhabited-finite-total-orders where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.inhabited-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/order-theory/interval-subposets.lagda.md b/src/order-theory/interval-subposets.lagda.md
index 5f53725119..0a15914e62 100644
--- a/src/order-theory/interval-subposets.lagda.md
+++ b/src/order-theory/interval-subposets.lagda.md
@@ -8,6 +8,7 @@ module order-theory.interval-subposets where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.inhabited-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/order-theory/join-preserving-maps-posets.lagda.md b/src/order-theory/join-preserving-maps-posets.lagda.md
index 1da7506fa2..cc4546d3ac 100644
--- a/src/order-theory/join-preserving-maps-posets.lagda.md
+++ b/src/order-theory/join-preserving-maps-posets.lagda.md
@@ -9,6 +9,7 @@ module order-theory.join-preserving-maps-posets where
```agda
open import foundation.booleans
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.evaluation-functions
open import foundation.function-types
@@ -17,13 +18,14 @@ open import foundation.homotopies
open import foundation.homotopy-induction
open import foundation.identity-types
open import foundation.propositions
-open import foundation.raising-universe-levels
open import foundation.small-types
open import foundation.strictly-involutive-identity-types
open import foundation.subtype-identity-principle
open import foundation.torsorial-type-families
open import foundation.universe-levels
+open import foundation-core.raising-universe-levels
+
open import order-theory.least-upper-bounds-posets
open import order-theory.order-preserving-maps-posets
open import order-theory.posets
diff --git a/src/order-theory/join-semilattices.lagda.md b/src/order-theory/join-semilattices.lagda.md
index 99c21de189..61c3080025 100644
--- a/src/order-theory/join-semilattices.lagda.md
+++ b/src/order-theory/join-semilattices.lagda.md
@@ -10,6 +10,7 @@ module order-theory.join-semilattices where
open import foundation.action-on-identifications-functions
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.logical-equivalences
open import foundation.propositions
diff --git a/src/order-theory/large-inflattices.lagda.md b/src/order-theory/large-inflattices.lagda.md
index cd6d850a4e..74860bf69e 100644
--- a/src/order-theory/large-inflattices.lagda.md
+++ b/src/order-theory/large-inflattices.lagda.md
@@ -7,12 +7,9 @@ module order-theory.large-inflattices where
Imports
```agda
-open import foundation.binary-relations
open import foundation.dependent-pair-types
-open import foundation.identity-types
open import foundation.large-binary-relations
open import foundation.logical-equivalences
-open import foundation.propositions
open import foundation.sets
open import foundation.universe-levels
diff --git a/src/order-theory/large-posets.lagda.md b/src/order-theory/large-posets.lagda.md
index ebe0411daf..79d4f1a7a1 100644
--- a/src/order-theory/large-posets.lagda.md
+++ b/src/order-theory/large-posets.lagda.md
@@ -14,6 +14,7 @@ open import category-theory.large-precategories
open import category-theory.precategories
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.large-binary-relations
open import foundation.logical-equivalences
diff --git a/src/order-theory/large-preorders.lagda.md b/src/order-theory/large-preorders.lagda.md
index 34c9170742..ffbf72698b 100644
--- a/src/order-theory/large-preorders.lagda.md
+++ b/src/order-theory/large-preorders.lagda.md
@@ -10,6 +10,7 @@ module order-theory.large-preorders where
open import category-theory.large-precategories
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.large-binary-relations
open import foundation.propositions
diff --git a/src/order-theory/large-subpreorders.lagda.md b/src/order-theory/large-subpreorders.lagda.md
index d69fca9bbe..63ab032254 100644
--- a/src/order-theory/large-subpreorders.lagda.md
+++ b/src/order-theory/large-subpreorders.lagda.md
@@ -8,6 +8,7 @@ module order-theory.large-subpreorders where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.large-binary-relations
open import foundation.propositions
open import foundation.subtypes
diff --git a/src/order-theory/large-suplattices.lagda.md b/src/order-theory/large-suplattices.lagda.md
index 489330b18b..fa0e52b1a4 100644
--- a/src/order-theory/large-suplattices.lagda.md
+++ b/src/order-theory/large-suplattices.lagda.md
@@ -9,6 +9,7 @@ module order-theory.large-suplattices where
```agda
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.large-binary-relations
open import foundation.logical-equivalences
diff --git a/src/order-theory/lattices.lagda.md b/src/order-theory/lattices.lagda.md
index bc9d9bc466..fe00a398cd 100644
--- a/src/order-theory/lattices.lagda.md
+++ b/src/order-theory/lattices.lagda.md
@@ -9,6 +9,7 @@ module order-theory.lattices where
```agda
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.sets
open import foundation.universe-levels
diff --git a/src/order-theory/least-upper-bounds-posets.lagda.md b/src/order-theory/least-upper-bounds-posets.lagda.md
index 2b428ad028..c78c2bdf4d 100644
--- a/src/order-theory/least-upper-bounds-posets.lagda.md
+++ b/src/order-theory/least-upper-bounds-posets.lagda.md
@@ -10,11 +10,10 @@ module order-theory.least-upper-bounds-posets where
open import foundation.action-on-identifications-functions
open import foundation.booleans
open import foundation.dependent-pair-types
-open import foundation.function-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.logical-equivalences
open import foundation.propositions
-open import foundation.raising-universe-levels
open import foundation.subtypes
open import foundation.universe-levels
diff --git a/src/order-theory/locales.lagda.md b/src/order-theory/locales.lagda.md
index 25983102a6..38b76cf287 100644
--- a/src/order-theory/locales.lagda.md
+++ b/src/order-theory/locales.lagda.md
@@ -8,6 +8,7 @@ module order-theory.locales where
```agda
open import foundation.binary-relations
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.sets
diff --git a/src/order-theory/locally-finite-posets.lagda.md b/src/order-theory/locally-finite-posets.lagda.md
index 69a7c93beb..86b9b78730 100644
--- a/src/order-theory/locally-finite-posets.lagda.md
+++ b/src/order-theory/locally-finite-posets.lagda.md
@@ -7,6 +7,7 @@ module order-theory.locally-finite-posets where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/order-theory/lower-bounds-large-posets.lagda.md b/src/order-theory/lower-bounds-large-posets.lagda.md
index 99a8b2cb5d..02a90b1a0d 100644
--- a/src/order-theory/lower-bounds-large-posets.lagda.md
+++ b/src/order-theory/lower-bounds-large-posets.lagda.md
@@ -7,9 +7,9 @@ module order-theory.lower-bounds-large-posets where
Imports
```agda
-open import foundation.cartesian-product-types
open import foundation.conjunction
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.logical-equivalences
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/order-theory/lower-bounds-posets.lagda.md b/src/order-theory/lower-bounds-posets.lagda.md
index 5ae8f55417..cb0ec3aa41 100644
--- a/src/order-theory/lower-bounds-posets.lagda.md
+++ b/src/order-theory/lower-bounds-posets.lagda.md
@@ -8,6 +8,7 @@ module order-theory.lower-bounds-posets where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/order-theory/maximal-chains-posets.lagda.md b/src/order-theory/maximal-chains-posets.lagda.md
index e62dabcc6e..6d4963ddb0 100644
--- a/src/order-theory/maximal-chains-posets.lagda.md
+++ b/src/order-theory/maximal-chains-posets.lagda.md
@@ -7,6 +7,7 @@ module order-theory.maximal-chains-posets where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/order-theory/maximal-chains-preorders.lagda.md b/src/order-theory/maximal-chains-preorders.lagda.md
index 0cf6169f4f..eec1b8e7de 100644
--- a/src/order-theory/maximal-chains-preorders.lagda.md
+++ b/src/order-theory/maximal-chains-preorders.lagda.md
@@ -8,6 +8,7 @@ module order-theory.maximal-chains-preorders where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/order-theory/meet-semilattices.lagda.md b/src/order-theory/meet-semilattices.lagda.md
index e39e512918..0b8abe99f2 100644
--- a/src/order-theory/meet-semilattices.lagda.md
+++ b/src/order-theory/meet-semilattices.lagda.md
@@ -10,6 +10,7 @@ module order-theory.meet-semilattices where
open import foundation.action-on-identifications-functions
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.logical-equivalences
open import foundation.propositions
diff --git a/src/order-theory/meet-suplattices.lagda.md b/src/order-theory/meet-suplattices.lagda.md
index 898eeb5f7a..9240896a94 100644
--- a/src/order-theory/meet-suplattices.lagda.md
+++ b/src/order-theory/meet-suplattices.lagda.md
@@ -9,6 +9,7 @@ module order-theory.meet-suplattices where
```agda
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.sets
open import foundation.universe-levels
diff --git a/src/order-theory/nuclei-large-locales.lagda.md b/src/order-theory/nuclei-large-locales.lagda.md
index b6d44973c9..f653909c65 100644
--- a/src/order-theory/nuclei-large-locales.lagda.md
+++ b/src/order-theory/nuclei-large-locales.lagda.md
@@ -9,6 +9,7 @@ module order-theory.nuclei-large-locales where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.function-types
open import foundation.identity-types
open import foundation.large-binary-relations
diff --git a/src/order-theory/opposite-large-posets.lagda.md b/src/order-theory/opposite-large-posets.lagda.md
index cbb94d58f5..d3a3a57b4e 100644
--- a/src/order-theory/opposite-large-posets.lagda.md
+++ b/src/order-theory/opposite-large-posets.lagda.md
@@ -8,6 +8,7 @@ module order-theory.opposite-large-posets where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.homotopies
open import foundation.identity-types
diff --git a/src/order-theory/opposite-large-preorders.lagda.md b/src/order-theory/opposite-large-preorders.lagda.md
index 5ecbfef3d7..0b6c8df4d1 100644
--- a/src/order-theory/opposite-large-preorders.lagda.md
+++ b/src/order-theory/opposite-large-preorders.lagda.md
@@ -8,6 +8,7 @@ module order-theory.opposite-large-preorders where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.homotopies
open import foundation.identity-types
diff --git a/src/order-theory/opposite-posets.lagda.md b/src/order-theory/opposite-posets.lagda.md
index 45b842294c..21ae309bd9 100644
--- a/src/order-theory/opposite-posets.lagda.md
+++ b/src/order-theory/opposite-posets.lagda.md
@@ -8,6 +8,7 @@ module order-theory.opposite-posets where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.homotopies
open import foundation.identity-types
diff --git a/src/order-theory/opposite-preorders.lagda.md b/src/order-theory/opposite-preorders.lagda.md
index 2e6db98be2..1388072aa3 100644
--- a/src/order-theory/opposite-preorders.lagda.md
+++ b/src/order-theory/opposite-preorders.lagda.md
@@ -8,6 +8,7 @@ module order-theory.opposite-preorders where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.homotopies
open import foundation.identity-types
diff --git a/src/order-theory/order-preserving-maps-posets.lagda.md b/src/order-theory/order-preserving-maps-posets.lagda.md
index 163aee3f3f..2f408ebe4a 100644
--- a/src/order-theory/order-preserving-maps-posets.lagda.md
+++ b/src/order-theory/order-preserving-maps-posets.lagda.md
@@ -7,6 +7,7 @@ module order-theory.order-preserving-maps-posets where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.identity-types
diff --git a/src/order-theory/order-preserving-maps-preorders.lagda.md b/src/order-theory/order-preserving-maps-preorders.lagda.md
index a45df09656..c7e1403c37 100644
--- a/src/order-theory/order-preserving-maps-preorders.lagda.md
+++ b/src/order-theory/order-preserving-maps-preorders.lagda.md
@@ -8,6 +8,7 @@ module order-theory.order-preserving-maps-preorders where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.fundamental-theorem-of-identity-types
diff --git a/src/order-theory/ordinals.lagda.md b/src/order-theory/ordinals.lagda.md
index 7dc9994603..03868f9067 100644
--- a/src/order-theory/ordinals.lagda.md
+++ b/src/order-theory/ordinals.lagda.md
@@ -10,6 +10,7 @@ module order-theory.ordinals where
open import foundation.binary-relations
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.logical-equivalences
open import foundation.propositions
diff --git a/src/order-theory/posets.lagda.md b/src/order-theory/posets.lagda.md
index f1875f86f2..aeba70c861 100644
--- a/src/order-theory/posets.lagda.md
+++ b/src/order-theory/posets.lagda.md
@@ -14,6 +14,7 @@ open import category-theory.precategories
open import foundation.binary-relations
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.identity-types
open import foundation.injective-maps
diff --git a/src/order-theory/preorders.lagda.md b/src/order-theory/preorders.lagda.md
index 37293a7863..2a901a2b92 100644
--- a/src/order-theory/preorders.lagda.md
+++ b/src/order-theory/preorders.lagda.md
@@ -12,6 +12,7 @@ open import category-theory.precategories
open import foundation.binary-relations
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.identity-types
diff --git a/src/order-theory/resizing-posets.lagda.md b/src/order-theory/resizing-posets.lagda.md
index 4fcaf5e66f..ad22722865 100644
--- a/src/order-theory/resizing-posets.lagda.md
+++ b/src/order-theory/resizing-posets.lagda.md
@@ -12,6 +12,7 @@ open import category-theory.isomorphisms-in-large-precategories
open import foundation.binary-relations
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.identity-types
diff --git a/src/order-theory/resizing-preorders.lagda.md b/src/order-theory/resizing-preorders.lagda.md
index 26a17b7682..ac6fec8dbe 100644
--- a/src/order-theory/resizing-preorders.lagda.md
+++ b/src/order-theory/resizing-preorders.lagda.md
@@ -10,6 +10,7 @@ module order-theory.resizing-preorders where
open import foundation.binary-relations
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.identity-types
diff --git a/src/order-theory/resizing-suplattices.lagda.md b/src/order-theory/resizing-suplattices.lagda.md
index 6c0cdeede8..fa3a2a7c22 100644
--- a/src/order-theory/resizing-suplattices.lagda.md
+++ b/src/order-theory/resizing-suplattices.lagda.md
@@ -10,6 +10,7 @@ module order-theory.resizing-suplattices where
open import foundation.binary-relations
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.identity-types
diff --git a/src/order-theory/similarity-of-elements-large-posets.lagda.md b/src/order-theory/similarity-of-elements-large-posets.lagda.md
index 5e2d8199ea..5d4eb3a77c 100644
--- a/src/order-theory/similarity-of-elements-large-posets.lagda.md
+++ b/src/order-theory/similarity-of-elements-large-posets.lagda.md
@@ -8,6 +8,7 @@ module order-theory.similarity-of-elements-large-posets where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.fundamental-theorem-of-identity-types
open import foundation.identity-types
diff --git a/src/order-theory/similarity-of-elements-large-preorders.lagda.md b/src/order-theory/similarity-of-elements-large-preorders.lagda.md
index c027bb56db..0bf0cad049 100644
--- a/src/order-theory/similarity-of-elements-large-preorders.lagda.md
+++ b/src/order-theory/similarity-of-elements-large-preorders.lagda.md
@@ -8,6 +8,7 @@ module order-theory.similarity-of-elements-large-preorders where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.large-binary-relations
open import foundation.propositions
diff --git a/src/order-theory/strict-order-preserving-maps.lagda.md b/src/order-theory/strict-order-preserving-maps.lagda.md
index 44b8225347..0676a0a13c 100644
--- a/src/order-theory/strict-order-preserving-maps.lagda.md
+++ b/src/order-theory/strict-order-preserving-maps.lagda.md
@@ -9,6 +9,7 @@ module order-theory.strict-order-preserving-maps where
```agda
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.subtypes
open import foundation.universe-levels
diff --git a/src/order-theory/strict-preorders.lagda.md b/src/order-theory/strict-preorders.lagda.md
index 071d017b3d..8481e8d98b 100644
--- a/src/order-theory/strict-preorders.lagda.md
+++ b/src/order-theory/strict-preorders.lagda.md
@@ -10,6 +10,7 @@ module order-theory.strict-preorders where
open import foundation.binary-relations
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.negation
open import foundation.propositions
diff --git a/src/order-theory/strictly-inflationary-maps-strict-preorders.lagda.md b/src/order-theory/strictly-inflationary-maps-strict-preorders.lagda.md
index d8a4672caa..ed41fae943 100644
--- a/src/order-theory/strictly-inflationary-maps-strict-preorders.lagda.md
+++ b/src/order-theory/strictly-inflationary-maps-strict-preorders.lagda.md
@@ -8,6 +8,7 @@ module order-theory.strictly-inflationary-maps-strict-preorders where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.subtypes
open import foundation.universe-levels
diff --git a/src/order-theory/strictly-preordered-sets.lagda.md b/src/order-theory/strictly-preordered-sets.lagda.md
index c639e6fe02..4c2842250d 100644
--- a/src/order-theory/strictly-preordered-sets.lagda.md
+++ b/src/order-theory/strictly-preordered-sets.lagda.md
@@ -10,6 +10,7 @@ module order-theory.strictly-preordered-sets where
open import foundation.binary-relations
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.negation
open import foundation.propositions
diff --git a/src/order-theory/subposets.lagda.md b/src/order-theory/subposets.lagda.md
index d7cd52162e..59b03b0a3b 100644
--- a/src/order-theory/subposets.lagda.md
+++ b/src/order-theory/subposets.lagda.md
@@ -9,6 +9,7 @@ module order-theory.subposets where
```agda
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/order-theory/subpreorders.lagda.md b/src/order-theory/subpreorders.lagda.md
index 8ac0925ccd..cc43ea0478 100644
--- a/src/order-theory/subpreorders.lagda.md
+++ b/src/order-theory/subpreorders.lagda.md
@@ -9,6 +9,7 @@ module order-theory.subpreorders where
```agda
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.function-types
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/order-theory/suplattices.lagda.md b/src/order-theory/suplattices.lagda.md
index e2cac7a583..c935dc1753 100644
--- a/src/order-theory/suplattices.lagda.md
+++ b/src/order-theory/suplattices.lagda.md
@@ -9,6 +9,7 @@ module order-theory.suplattices where
```agda
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.identity-types
diff --git a/src/order-theory/supremum-preserving-maps-posets.lagda.md b/src/order-theory/supremum-preserving-maps-posets.lagda.md
index b5abca4ab4..cb66d8a36a 100644
--- a/src/order-theory/supremum-preserving-maps-posets.lagda.md
+++ b/src/order-theory/supremum-preserving-maps-posets.lagda.md
@@ -9,6 +9,7 @@ module order-theory.supremum-preserving-maps-posets where
```agda
open import foundation.booleans
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.evaluation-functions
open import foundation.function-types
@@ -17,13 +18,14 @@ open import foundation.homotopies
open import foundation.homotopy-induction
open import foundation.identity-types
open import foundation.propositions
-open import foundation.raising-universe-levels
open import foundation.small-types
open import foundation.strictly-involutive-identity-types
open import foundation.subtype-identity-principle
open import foundation.torsorial-type-families
open import foundation.universe-levels
+open import foundation-core.raising-universe-levels
+
open import order-theory.join-preserving-maps-posets
open import order-theory.least-upper-bounds-posets
open import order-theory.order-preserving-maps-posets
diff --git a/src/order-theory/top-elements-posets.lagda.md b/src/order-theory/top-elements-posets.lagda.md
index 658fc977cc..7a1482419a 100644
--- a/src/order-theory/top-elements-posets.lagda.md
+++ b/src/order-theory/top-elements-posets.lagda.md
@@ -8,6 +8,7 @@ module order-theory.top-elements-posets where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.subtypes
open import foundation.universe-levels
diff --git a/src/order-theory/top-elements-preorders.lagda.md b/src/order-theory/top-elements-preorders.lagda.md
index 1c9655f1de..b10d59fd45 100644
--- a/src/order-theory/top-elements-preorders.lagda.md
+++ b/src/order-theory/top-elements-preorders.lagda.md
@@ -8,6 +8,7 @@ module order-theory.top-elements-preorders where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/order-theory/total-orders.lagda.md b/src/order-theory/total-orders.lagda.md
index 1f84d69e67..9f21938e09 100644
--- a/src/order-theory/total-orders.lagda.md
+++ b/src/order-theory/total-orders.lagda.md
@@ -9,6 +9,7 @@ module order-theory.total-orders where
```agda
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.sets
diff --git a/src/order-theory/total-preorders.lagda.md b/src/order-theory/total-preorders.lagda.md
index facdaddbd8..46faf84189 100644
--- a/src/order-theory/total-preorders.lagda.md
+++ b/src/order-theory/total-preorders.lagda.md
@@ -9,6 +9,7 @@ module order-theory.total-preorders where
```agda
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.disjunction
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/order-theory/upper-bounds-large-posets.lagda.md b/src/order-theory/upper-bounds-large-posets.lagda.md
index bada6644c6..bf2dac888b 100644
--- a/src/order-theory/upper-bounds-large-posets.lagda.md
+++ b/src/order-theory/upper-bounds-large-posets.lagda.md
@@ -9,6 +9,7 @@ module order-theory.upper-bounds-large-posets where
```agda
open import foundation.conjunction
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.logical-equivalences
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/order-theory/upper-bounds-posets.lagda.md b/src/order-theory/upper-bounds-posets.lagda.md
index 0193ab6052..27cae5bdad 100644
--- a/src/order-theory/upper-bounds-posets.lagda.md
+++ b/src/order-theory/upper-bounds-posets.lagda.md
@@ -8,6 +8,7 @@ module order-theory.upper-bounds-posets where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/order-theory/well-founded-relations.lagda.md b/src/order-theory/well-founded-relations.lagda.md
index 7ae600f45c..65a128d17e 100644
--- a/src/order-theory/well-founded-relations.lagda.md
+++ b/src/order-theory/well-founded-relations.lagda.md
@@ -9,6 +9,7 @@ module order-theory.well-founded-relations where
```agda
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.function-types
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/order-theory/zorns-lemma.lagda.md b/src/order-theory/zorns-lemma.lagda.md
index a2e403817a..8d1381868b 100644
--- a/src/order-theory/zorns-lemma.lagda.md
+++ b/src/order-theory/zorns-lemma.lagda.md
@@ -8,6 +8,7 @@ module order-theory.zorns-lemma where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.existential-quantification
open import foundation.inhabited-types
diff --git a/src/organic-chemistry/ethane.lagda.md b/src/organic-chemistry/ethane.lagda.md
index 13bda1ab23..0d9bd03f7a 100644
--- a/src/organic-chemistry/ethane.lagda.md
+++ b/src/organic-chemistry/ethane.lagda.md
@@ -15,6 +15,7 @@ open import foundation.coproduct-types
open import foundation.decidable-propositions
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.empty-types
open import foundation.equality-dependent-pair-types
@@ -22,7 +23,6 @@ open import foundation.identity-types
open import foundation.injective-maps
open import foundation.propositional-truncations
open import foundation.propositions
-open import foundation.sets
open import foundation.torsorial-type-families
open import foundation.transport-along-identifications
open import foundation.unit-type
diff --git a/src/organic-chemistry/saturated-carbons.lagda.md b/src/organic-chemistry/saturated-carbons.lagda.md
index f214d5aa80..0dc116fe04 100644
--- a/src/organic-chemistry/saturated-carbons.lagda.md
+++ b/src/organic-chemistry/saturated-carbons.lagda.md
@@ -8,6 +8,7 @@ module organic-chemistry.saturated-carbons where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.propositional-truncations
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/orthogonal-factorization-systems/cd-structures.lagda.md b/src/orthogonal-factorization-systems/cd-structures.lagda.md
index d33d5a3d4a..ae4e3cf965 100644
--- a/src/orthogonal-factorization-systems/cd-structures.lagda.md
+++ b/src/orthogonal-factorization-systems/cd-structures.lagda.md
@@ -7,6 +7,7 @@ module orthogonal-factorization-systems.cd-structures where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.morphisms-arrows
open import foundation.propositions
open import foundation.subtypes
diff --git a/src/orthogonal-factorization-systems/closed-modalities.lagda.md b/src/orthogonal-factorization-systems/closed-modalities.lagda.md
index c42bfe9572..7684d22361 100644
--- a/src/orthogonal-factorization-systems/closed-modalities.lagda.md
+++ b/src/orthogonal-factorization-systems/closed-modalities.lagda.md
@@ -10,6 +10,8 @@ module orthogonal-factorization-systems.closed-modalities where
open import foundation.contractible-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
diff --git a/src/orthogonal-factorization-systems/continuation-modalities.lagda.md b/src/orthogonal-factorization-systems/continuation-modalities.lagda.md
index 0ed70bca76..9b021c89b9 100644
--- a/src/orthogonal-factorization-systems/continuation-modalities.lagda.md
+++ b/src/orthogonal-factorization-systems/continuation-modalities.lagda.md
@@ -7,25 +7,16 @@ module orthogonal-factorization-systems.continuation-modalities where
Imports
```agda
-open import foundation.action-on-identifications-functions
open import foundation.cartesian-product-types
open import foundation.continuations
open import foundation.dependent-pair-types
-open import foundation.equality-cartesian-product-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
-open import foundation.evaluation-functions
-open import foundation.function-extensionality
open import foundation.function-types
-open import foundation.identity-types
open import foundation.logical-equivalences
open import foundation.propositions
-open import foundation.retractions
-open import foundation.sections
open import foundation.transport-along-identifications
-open import foundation.type-arithmetic-cartesian-product-types
open import foundation.unit-type
-open import foundation.universal-property-cartesian-product-types
-open import foundation.universal-property-equivalences
open import foundation.universe-levels
open import orthogonal-factorization-systems.large-lawvere-tierney-topologies
diff --git a/src/orthogonal-factorization-systems/double-negation-sheaves.lagda.md b/src/orthogonal-factorization-systems/double-negation-sheaves.lagda.md
index eb2cbcdba9..b66a687bb0 100644
--- a/src/orthogonal-factorization-systems/double-negation-sheaves.lagda.md
+++ b/src/orthogonal-factorization-systems/double-negation-sheaves.lagda.md
@@ -9,6 +9,8 @@ module orthogonal-factorization-systems.double-negation-sheaves where
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.double-negation-stable-propositions
open import foundation.empty-types
open import foundation.irrefutable-propositions
diff --git a/src/orthogonal-factorization-systems/extensions-maps.lagda.md b/src/orthogonal-factorization-systems/extensions-maps.lagda.md
index ccdc296bd0..26b3c67a77 100644
--- a/src/orthogonal-factorization-systems/extensions-maps.lagda.md
+++ b/src/orthogonal-factorization-systems/extensions-maps.lagda.md
@@ -11,6 +11,9 @@ open import foundation.action-on-identifications-dependent-functions
open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
+open import foundation.dependent-products-truncated-types
open import foundation.embeddings
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/orthogonal-factorization-systems/factorization-operations-function-classes.lagda.md b/src/orthogonal-factorization-systems/factorization-operations-function-classes.lagda.md
index 4f01d8a991..ae45691f52 100644
--- a/src/orthogonal-factorization-systems/factorization-operations-function-classes.lagda.md
+++ b/src/orthogonal-factorization-systems/factorization-operations-function-classes.lagda.md
@@ -11,6 +11,8 @@ open import foundation.cartesian-product-types
open import foundation.commuting-squares-of-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.function-types
@@ -22,6 +24,7 @@ open import foundation.inhabited-types
open import foundation.iterated-dependent-product-types
open import foundation.propositions
open import foundation.subtypes
+open import foundation.telescopes
open import foundation.type-arithmetic-cartesian-product-types
open import foundation.type-arithmetic-dependent-pair-types
open import foundation.universe-levels
diff --git a/src/orthogonal-factorization-systems/factorization-operations-global-function-classes.lagda.md b/src/orthogonal-factorization-systems/factorization-operations-global-function-classes.lagda.md
index a372c14a56..31b0b8b7b7 100644
--- a/src/orthogonal-factorization-systems/factorization-operations-global-function-classes.lagda.md
+++ b/src/orthogonal-factorization-systems/factorization-operations-global-function-classes.lagda.md
@@ -7,6 +7,7 @@ module orthogonal-factorization-systems.factorization-operations-global-function
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/orthogonal-factorization-systems/factorizations-of-maps-function-classes.lagda.md b/src/orthogonal-factorization-systems/factorizations-of-maps-function-classes.lagda.md
index f4eee03050..62a3e9aa80 100644
--- a/src/orthogonal-factorization-systems/factorizations-of-maps-function-classes.lagda.md
+++ b/src/orthogonal-factorization-systems/factorizations-of-maps-function-classes.lagda.md
@@ -10,6 +10,8 @@ module orthogonal-factorization-systems.factorizations-of-maps-function-classes
open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.fundamental-theorem-of-identity-types
diff --git a/src/orthogonal-factorization-systems/factorizations-of-maps-global-function-classes.lagda.md b/src/orthogonal-factorization-systems/factorizations-of-maps-global-function-classes.lagda.md
index 9945116577..9489672cae 100644
--- a/src/orthogonal-factorization-systems/factorizations-of-maps-global-function-classes.lagda.md
+++ b/src/orthogonal-factorization-systems/factorizations-of-maps-global-function-classes.lagda.md
@@ -10,6 +10,8 @@ module orthogonal-factorization-systems.factorizations-of-maps-global-function-c
open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.fundamental-theorem-of-identity-types
diff --git a/src/orthogonal-factorization-systems/families-of-types-local-at-maps.lagda.md b/src/orthogonal-factorization-systems/families-of-types-local-at-maps.lagda.md
index 0d79431a42..b4cc86fd30 100644
--- a/src/orthogonal-factorization-systems/families-of-types-local-at-maps.lagda.md
+++ b/src/orthogonal-factorization-systems/families-of-types-local-at-maps.lagda.md
@@ -8,6 +8,7 @@ module orthogonal-factorization-systems.families-of-types-local-at-maps where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.precomposition-functions
open import foundation.propositions
diff --git a/src/orthogonal-factorization-systems/fiberwise-orthogonal-maps.lagda.md b/src/orthogonal-factorization-systems/fiberwise-orthogonal-maps.lagda.md
index 2cc4966422..544627106f 100644
--- a/src/orthogonal-factorization-systems/fiberwise-orthogonal-maps.lagda.md
+++ b/src/orthogonal-factorization-systems/fiberwise-orthogonal-maps.lagda.md
@@ -7,48 +7,21 @@ module orthogonal-factorization-systems.fiberwise-orthogonal-maps where
Imports
```agda
-open import foundation.action-on-identifications-functions
open import foundation.cartesian-morphisms-arrows
-open import foundation.cartesian-product-types
-open import foundation.contractible-maps
-open import foundation.contractible-types
-open import foundation.coproduct-types
-open import foundation.coproducts-pullbacks
-open import foundation.dependent-pair-types
-open import foundation.dependent-products-pullbacks
-open import foundation.dependent-sums-pullbacks
open import foundation.equivalences
-open import foundation.fibered-maps
open import foundation.fibers-of-maps
-open import foundation.function-extensionality
open import foundation.function-types
open import foundation.functoriality-cartesian-product-types
-open import foundation.functoriality-coproduct-types
-open import foundation.functoriality-dependent-pair-types
open import foundation.homotopies
-open import foundation.morphisms-arrows
open import foundation.postcomposition-functions
-open import foundation.postcomposition-pullbacks
open import foundation.precomposition-functions
-open import foundation.products-pullbacks
-open import foundation.propositions
open import foundation.pullbacks
-open import foundation.standard-pullbacks
-open import foundation.type-arithmetic-dependent-function-types
open import foundation.unit-type
-open import foundation.universal-property-cartesian-product-types
-open import foundation.universal-property-coproduct-types
-open import foundation.universal-property-dependent-pair-types
-open import foundation.universal-property-equivalences
-open import foundation.universal-property-pullbacks
open import foundation.universe-levels
-open import foundation.whiskering-homotopies-composition
-open import orthogonal-factorization-systems.lifting-structures-on-squares
open import orthogonal-factorization-systems.null-maps
open import orthogonal-factorization-systems.orthogonal-maps
open import orthogonal-factorization-systems.pullback-hom
-open import orthogonal-factorization-systems.types-local-at-maps
```
diff --git a/src/orthogonal-factorization-systems/function-classes.lagda.md b/src/orthogonal-factorization-systems/function-classes.lagda.md
index db1a440376..632ac6ceff 100644
--- a/src/orthogonal-factorization-systems/function-classes.lagda.md
+++ b/src/orthogonal-factorization-systems/function-classes.lagda.md
@@ -10,6 +10,7 @@ module orthogonal-factorization-systems.function-classes where
open import foundation.action-on-identifications-functions
open import foundation.cones-over-cospan-diagrams
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalence-induction
open import foundation.equivalences
@@ -20,6 +21,7 @@ open import foundation.logical-equivalences
open import foundation.propositions
open import foundation.pullbacks
open import foundation.subtypes
+open import foundation.telescopes
open import foundation.transport-along-identifications
open import foundation.univalence
open import foundation.universe-levels
diff --git a/src/orthogonal-factorization-systems/functoriality-localizations-at-global-subuniverses.lagda.md b/src/orthogonal-factorization-systems/functoriality-localizations-at-global-subuniverses.lagda.md
index 84d0582079..2ba05b568a 100644
--- a/src/orthogonal-factorization-systems/functoriality-localizations-at-global-subuniverses.lagda.md
+++ b/src/orthogonal-factorization-systems/functoriality-localizations-at-global-subuniverses.lagda.md
@@ -8,33 +8,22 @@ module orthogonal-factorization-systems.functoriality-localizations-at-global-su
```agda
open import foundation.action-on-identifications-functions
-open import foundation.cartesian-product-types
open import foundation.commuting-squares-of-maps
-open import foundation.contractible-types
open import foundation.dependent-pair-types
open import foundation.equivalences
open import foundation.extensions-types-global-subuniverses
-open import foundation.extensions-types-subuniverses
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.global-subuniverses
open import foundation.homotopies
open import foundation.homotopy-induction
open import foundation.identity-types
-open import foundation.precomposition-functions
-open import foundation.propositions
open import foundation.retractions
open import foundation.retracts-of-maps
open import foundation.retracts-of-types
-open import foundation.subuniverses
-open import foundation.unit-type
open import foundation.universe-levels
open import orthogonal-factorization-systems.localizations-at-global-subuniverses
-open import orthogonal-factorization-systems.modal-induction
-open import orthogonal-factorization-systems.modal-operators
-open import orthogonal-factorization-systems.modal-subuniverse-induction
-open import orthogonal-factorization-systems.types-local-at-maps
open import orthogonal-factorization-systems.universal-property-localizations-at-global-subuniverses
```
diff --git a/src/orthogonal-factorization-systems/functoriality-pullback-hom.lagda.md b/src/orthogonal-factorization-systems/functoriality-pullback-hom.lagda.md
index 7d7e25d9c1..ba3af5d73b 100644
--- a/src/orthogonal-factorization-systems/functoriality-pullback-hom.lagda.md
+++ b/src/orthogonal-factorization-systems/functoriality-pullback-hom.lagda.md
@@ -7,28 +7,11 @@ module orthogonal-factorization-systems.functoriality-pullback-hom where
Imports
```agda
-open import foundation.action-on-identifications-binary-functions
-open import foundation.action-on-identifications-functions
-open import foundation.bicomposition-functions
-open import foundation.composition-algebra
-open import foundation.dependent-pair-types
-open import foundation.equality-dependent-pair-types
-open import foundation.function-extensionality
-open import foundation.function-types
open import foundation.functoriality-morphisms-arrows
open import foundation.functoriality-pullbacks
-open import foundation.homotopies
-open import foundation.homotopies-morphisms-arrows
-open import foundation.homotopies-morphisms-cospan-diagrams
-open import foundation.identity-types
open import foundation.morphisms-arrows
open import foundation.morphisms-cospan-diagrams
-open import foundation.postcomposition-functions
-open import foundation.precomposition-functions
-open import foundation.retracts-of-maps
open import foundation.universe-levels
-open import foundation.whiskering-higher-homotopies-composition
-open import foundation.whiskering-homotopies-composition
open import orthogonal-factorization-systems.pullback-hom
```
diff --git a/src/orthogonal-factorization-systems/functoriality-reflective-global-subuniverses.lagda.md b/src/orthogonal-factorization-systems/functoriality-reflective-global-subuniverses.lagda.md
index 495d59bdb1..e3b1f8e7b4 100644
--- a/src/orthogonal-factorization-systems/functoriality-reflective-global-subuniverses.lagda.md
+++ b/src/orthogonal-factorization-systems/functoriality-reflective-global-subuniverses.lagda.md
@@ -7,36 +7,16 @@ module orthogonal-factorization-systems.functoriality-reflective-global-subunive
Imports
```agda
-open import foundation.action-on-identifications-functions
-open import foundation.cartesian-product-types
open import foundation.commuting-squares-of-maps
-open import foundation.contractible-types
-open import foundation.dependent-pair-types
-open import foundation.equivalences
-open import foundation.extensions-types-global-subuniverses
-open import foundation.extensions-types-subuniverses
-open import foundation.function-extensionality
open import foundation.function-types
-open import foundation.global-subuniverses
open import foundation.homotopies
open import foundation.identity-types
-open import foundation.precomposition-functions
-open import foundation.propositions
open import foundation.retractions
-open import foundation.retracts-of-maps
open import foundation.retracts-of-types
-open import foundation.subuniverses
-open import foundation.unit-type
open import foundation.universe-levels
open import orthogonal-factorization-systems.functoriality-localizations-at-global-subuniverses
-open import orthogonal-factorization-systems.localizations-at-global-subuniverses
-open import orthogonal-factorization-systems.modal-induction
-open import orthogonal-factorization-systems.modal-operators
-open import orthogonal-factorization-systems.modal-subuniverse-induction
open import orthogonal-factorization-systems.reflective-global-subuniverses
-open import orthogonal-factorization-systems.types-local-at-maps
-open import orthogonal-factorization-systems.universal-property-localizations-at-global-subuniverses
```
diff --git a/src/orthogonal-factorization-systems/global-function-classes.lagda.md b/src/orthogonal-factorization-systems/global-function-classes.lagda.md
index b11fa84d13..4db20085ca 100644
--- a/src/orthogonal-factorization-systems/global-function-classes.lagda.md
+++ b/src/orthogonal-factorization-systems/global-function-classes.lagda.md
@@ -9,6 +9,7 @@ module orthogonal-factorization-systems.global-function-classes where
```agda
open import foundation.cones-over-cospan-diagrams
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/orthogonal-factorization-systems/higher-modalities.lagda.md b/src/orthogonal-factorization-systems/higher-modalities.lagda.md
index b4c0cc95ec..54408c3970 100644
--- a/src/orthogonal-factorization-systems/higher-modalities.lagda.md
+++ b/src/orthogonal-factorization-systems/higher-modalities.lagda.md
@@ -12,6 +12,7 @@ open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
open import foundation.equivalences
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.homotopies
open import foundation.identity-types
diff --git a/src/orthogonal-factorization-systems/large-lawvere-tierney-topologies.lagda.md b/src/orthogonal-factorization-systems/large-lawvere-tierney-topologies.lagda.md
index b6fd6cabc1..e9e54ab8b5 100644
--- a/src/orthogonal-factorization-systems/large-lawvere-tierney-topologies.lagda.md
+++ b/src/orthogonal-factorization-systems/large-lawvere-tierney-topologies.lagda.md
@@ -10,6 +10,7 @@ module orthogonal-factorization-systems.large-lawvere-tierney-topologies where
open import foundation.cartesian-product-types
open import foundation.conjunction
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.function-types
open import foundation.logical-equivalences
open import foundation.propositions
diff --git a/src/orthogonal-factorization-systems/lawvere-tierney-topologies.lagda.md b/src/orthogonal-factorization-systems/lawvere-tierney-topologies.lagda.md
index 93fdf8ad66..d9982a9678 100644
--- a/src/orthogonal-factorization-systems/lawvere-tierney-topologies.lagda.md
+++ b/src/orthogonal-factorization-systems/lawvere-tierney-topologies.lagda.md
@@ -10,10 +10,12 @@ module orthogonal-factorization-systems.lawvere-tierney-topologies where
open import foundation.cartesian-product-types
open import foundation.conjunction
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.function-types
open import foundation.logical-equivalences
open import foundation.propositional-extensionality
open import foundation.propositions
+open import foundation.raising-universe-levels-unit-type
open import foundation.sets
open import foundation.subtypes
open import foundation.unit-type
diff --git a/src/orthogonal-factorization-systems/lifts-maps.lagda.md b/src/orthogonal-factorization-systems/lifts-maps.lagda.md
index 9d2fe4746b..c70f889795 100644
--- a/src/orthogonal-factorization-systems/lifts-maps.lagda.md
+++ b/src/orthogonal-factorization-systems/lifts-maps.lagda.md
@@ -10,6 +10,9 @@ module orthogonal-factorization-systems.lifts-maps where
open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
+open import foundation.dependent-products-truncated-types
open import foundation.equivalences
open import foundation.function-types
open import foundation.fundamental-theorem-of-identity-types
diff --git a/src/orthogonal-factorization-systems/localizations-at-global-subuniverses.lagda.md b/src/orthogonal-factorization-systems/localizations-at-global-subuniverses.lagda.md
index f4ba57ae36..9e26136630 100644
--- a/src/orthogonal-factorization-systems/localizations-at-global-subuniverses.lagda.md
+++ b/src/orthogonal-factorization-systems/localizations-at-global-subuniverses.lagda.md
@@ -14,6 +14,7 @@ open import foundation.constant-maps
open import foundation.contractible-types
open import foundation.cospan-diagrams
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.equivalences-arrows
open import foundation.extensions-types
diff --git a/src/orthogonal-factorization-systems/maps-local-at-maps.lagda.md b/src/orthogonal-factorization-systems/maps-local-at-maps.lagda.md
index ac69503101..c4b2bf31b6 100644
--- a/src/orthogonal-factorization-systems/maps-local-at-maps.lagda.md
+++ b/src/orthogonal-factorization-systems/maps-local-at-maps.lagda.md
@@ -7,33 +7,16 @@ module orthogonal-factorization-systems.maps-local-at-maps where
Imports
```agda
-open import foundation.action-on-identifications-functions
open import foundation.cartesian-morphisms-arrows
-open import foundation.cones-over-cospan-diagrams
-open import foundation.dependent-pair-types
-open import foundation.equivalences
-open import foundation.equivalences-arrows
+open import foundation.dependent-products-propositions
open import foundation.fibers-of-maps
-open import foundation.function-extensionality
-open import foundation.function-types
-open import foundation.functoriality-dependent-function-types
-open import foundation.functoriality-dependent-pair-types
-open import foundation.functoriality-fibers-of-maps
-open import foundation.global-subuniverses
-open import foundation.homotopies
-open import foundation.identity-types
-open import foundation.postcomposition-functions
-open import foundation.precomposition-functions
open import foundation.propositions
-open import foundation.pullbacks
open import foundation.retracts-of-maps
open import foundation.unit-type
-open import foundation.universal-property-family-of-fibers-of-maps
open import foundation.universe-levels
open import orthogonal-factorization-systems.families-of-types-local-at-maps
open import orthogonal-factorization-systems.orthogonal-maps
-open import orthogonal-factorization-systems.pullback-hom
open import orthogonal-factorization-systems.types-local-at-maps
```
diff --git a/src/orthogonal-factorization-systems/mere-lifting-properties.lagda.md b/src/orthogonal-factorization-systems/mere-lifting-properties.lagda.md
index ffc220075a..916191e259 100644
--- a/src/orthogonal-factorization-systems/mere-lifting-properties.lagda.md
+++ b/src/orthogonal-factorization-systems/mere-lifting-properties.lagda.md
@@ -7,6 +7,7 @@ module orthogonal-factorization-systems.mere-lifting-properties where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.surjective-maps
open import foundation.universe-levels
diff --git a/src/orthogonal-factorization-systems/modal-induction.lagda.md b/src/orthogonal-factorization-systems/modal-induction.lagda.md
index 207aa7c89a..9329a93810 100644
--- a/src/orthogonal-factorization-systems/modal-induction.lagda.md
+++ b/src/orthogonal-factorization-systems/modal-induction.lagda.md
@@ -21,6 +21,7 @@ open import foundation.precomposition-dependent-functions
open import foundation.precomposition-functions
open import foundation.retractions
open import foundation.sections
+open import foundation.telescopes
open import foundation.type-theoretic-principle-of-choice
open import foundation.unit-type
open import foundation.universe-levels
diff --git a/src/orthogonal-factorization-systems/modal-operators.lagda.md b/src/orthogonal-factorization-systems/modal-operators.lagda.md
index 457aeddced..d216416033 100644
--- a/src/orthogonal-factorization-systems/modal-operators.lagda.md
+++ b/src/orthogonal-factorization-systems/modal-operators.lagda.md
@@ -8,6 +8,7 @@ module orthogonal-factorization-systems.modal-operators where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.propositions
diff --git a/src/orthogonal-factorization-systems/modal-subuniverse-induction.lagda.md b/src/orthogonal-factorization-systems/modal-subuniverse-induction.lagda.md
index 898c4cc4ea..32cc226bd3 100644
--- a/src/orthogonal-factorization-systems/modal-subuniverse-induction.lagda.md
+++ b/src/orthogonal-factorization-systems/modal-subuniverse-induction.lagda.md
@@ -18,6 +18,7 @@ open import foundation.multivariable-sections
open import foundation.precomposition-dependent-functions
open import foundation.precomposition-functions
open import foundation.retractions
+open import foundation.telescopes
open import foundation.type-theoretic-principle-of-choice
open import foundation.universe-levels
diff --git a/src/orthogonal-factorization-systems/null-families-of-types.lagda.md b/src/orthogonal-factorization-systems/null-families-of-types.lagda.md
index 9a6dfa29eb..36b880a7ea 100644
--- a/src/orthogonal-factorization-systems/null-families-of-types.lagda.md
+++ b/src/orthogonal-factorization-systems/null-families-of-types.lagda.md
@@ -8,6 +8,7 @@ module orthogonal-factorization-systems.null-families-of-types where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.precomposition-functions
open import foundation.propositions
@@ -25,7 +26,7 @@ open import orthogonal-factorization-systems.orthogonal-maps
A family of types `B : A → UU l` is said to be
{{#concept "null" Disambiguation="family of types" Agda=is-null-family}} at `Y`,
or **`Y`-null**, if every fiber is. I.e., if the
-[diagonal map](foundation.diagonal-maps-of-types.md)
+[diagonal map](foundation-core.diagonal-maps-of-types.md)
```text
Δ : B x → (Y → B x)
diff --git a/src/orthogonal-factorization-systems/null-maps.lagda.md b/src/orthogonal-factorization-systems/null-maps.lagda.md
index af001e1fc2..f7bed0e804 100644
--- a/src/orthogonal-factorization-systems/null-maps.lagda.md
+++ b/src/orthogonal-factorization-systems/null-maps.lagda.md
@@ -9,7 +9,7 @@ module orthogonal-factorization-systems.null-maps where
```agda
open import foundation.cones-over-cospan-diagrams
open import foundation.dependent-pair-types
-open import foundation.diagonal-maps-of-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.equivalences-arrows
open import foundation.families-of-equivalences
@@ -30,6 +30,8 @@ open import foundation.unit-type
open import foundation.universal-property-family-of-fibers-of-maps
open import foundation.universe-levels
+open import foundation-core.diagonal-maps-of-types
+
open import orthogonal-factorization-systems.maps-local-at-maps
open import orthogonal-factorization-systems.null-families-of-types
open import orthogonal-factorization-systems.null-types
diff --git a/src/orthogonal-factorization-systems/null-types.lagda.md b/src/orthogonal-factorization-systems/null-types.lagda.md
index d47b2a74fd..8b4b8345d8 100644
--- a/src/orthogonal-factorization-systems/null-types.lagda.md
+++ b/src/orthogonal-factorization-systems/null-types.lagda.md
@@ -10,6 +10,8 @@ module orthogonal-factorization-systems.null-types where
open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.diagonal-maps-of-types
open import foundation.equivalences
open import foundation.equivalences-arrows
@@ -48,7 +50,7 @@ open import orthogonal-factorization-systems.types-local-at-maps
A type `A` is said to be
{{#concept "null at" Disambiguation="type" Agda=is-null}} `Y`, or
{{#concept "`Y`-null" Disambiguation="type" Agda=is-null}}, if the
-[diagonal map](foundation.diagonal-maps-of-types.md)
+[diagonal map](foundation-core.diagonal-maps-of-types.md)
```text
Δ : A → (Y → A)
diff --git a/src/orthogonal-factorization-systems/open-modalities.lagda.md b/src/orthogonal-factorization-systems/open-modalities.lagda.md
index f20203e06c..141b9a2049 100644
--- a/src/orthogonal-factorization-systems/open-modalities.lagda.md
+++ b/src/orthogonal-factorization-systems/open-modalities.lagda.md
@@ -9,8 +9,10 @@ module orthogonal-factorization-systems.open-modalities where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.identity-types
open import foundation.locally-small-types
open import foundation.propositions
diff --git a/src/orthogonal-factorization-systems/orthogonal-factorization-systems.lagda.md b/src/orthogonal-factorization-systems/orthogonal-factorization-systems.lagda.md
index ccdba0c7e2..10226d4a45 100644
--- a/src/orthogonal-factorization-systems/orthogonal-factorization-systems.lagda.md
+++ b/src/orthogonal-factorization-systems/orthogonal-factorization-systems.lagda.md
@@ -11,6 +11,8 @@ open import foundation.cartesian-product-types
open import foundation.commuting-squares-of-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.homotopies
diff --git a/src/orthogonal-factorization-systems/orthogonal-maps.lagda.md b/src/orthogonal-factorization-systems/orthogonal-maps.lagda.md
index ec37ad84de..035b6d5912 100644
--- a/src/orthogonal-factorization-systems/orthogonal-maps.lagda.md
+++ b/src/orthogonal-factorization-systems/orthogonal-maps.lagda.md
@@ -16,6 +16,8 @@ open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.coproducts-pullbacks
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.dependent-products-pullbacks
open import foundation.dependent-sums-pullbacks
open import foundation.equivalences
@@ -997,7 +999,7 @@ under products.
**Note:** This result can also be obtained as a special case of the previous one
by taking the indexing type to be the
-[two-element type](foundation.booleans.md).
+[two-element type](foundation-core.booleans.md).
```agda
module _
diff --git a/src/orthogonal-factorization-systems/precomposition-lifts-families-of-elements.lagda.md b/src/orthogonal-factorization-systems/precomposition-lifts-families-of-elements.lagda.md
index 8b53882043..2292277230 100644
--- a/src/orthogonal-factorization-systems/precomposition-lifts-families-of-elements.lagda.md
+++ b/src/orthogonal-factorization-systems/precomposition-lifts-families-of-elements.lagda.md
@@ -13,6 +13,7 @@ open import foundation.commuting-squares-of-maps
open import foundation.commuting-triangles-of-maps
open import foundation.dependent-pair-types
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
open import foundation.homotopies
diff --git a/src/orthogonal-factorization-systems/pullback-hom.lagda.md b/src/orthogonal-factorization-systems/pullback-hom.lagda.md
index 4181ff3a64..6cd1e6d736 100644
--- a/src/orthogonal-factorization-systems/pullback-hom.lagda.md
+++ b/src/orthogonal-factorization-systems/pullback-hom.lagda.md
@@ -10,15 +10,14 @@ module orthogonal-factorization-systems.pullback-hom where
open import foundation.commuting-squares-of-maps
open import foundation.commuting-triangles-of-maps
open import foundation.cones-over-cospan-diagrams
-open import foundation.cospan-diagrams
open import foundation.dependent-pair-types
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
open import foundation.equivalences-arrows
open import foundation.fibers-of-maps
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
-open import foundation.functoriality-dependent-pair-types
open import foundation.functoriality-fibers-of-maps
open import foundation.functoriality-morphisms-arrows
open import foundation.higher-homotopies-morphisms-arrows
@@ -34,8 +33,6 @@ open import foundation.pullbacks
open import foundation.retractions
open import foundation.sections
open import foundation.standard-pullbacks
-open import foundation.transport-along-identifications
-open import foundation.type-arithmetic-dependent-pair-types
open import foundation.type-theoretic-principle-of-choice
open import foundation.universal-property-pullbacks
open import foundation.universe-levels
diff --git a/src/orthogonal-factorization-systems/raise-modalities.lagda.md b/src/orthogonal-factorization-systems/raise-modalities.lagda.md
index 1f7569b41d..269d67950f 100644
--- a/src/orthogonal-factorization-systems/raise-modalities.lagda.md
+++ b/src/orthogonal-factorization-systems/raise-modalities.lagda.md
@@ -8,9 +8,10 @@ module orthogonal-factorization-systems.raise-modalities where
```agda
open import foundation.function-types
-open import foundation.raising-universe-levels
open import foundation.universe-levels
+open import foundation-core.raising-universe-levels
+
open import orthogonal-factorization-systems.modal-operators
open import orthogonal-factorization-systems.types-local-at-maps
open import orthogonal-factorization-systems.uniquely-eliminating-modalities
diff --git a/src/orthogonal-factorization-systems/reflective-global-subuniverses.lagda.md b/src/orthogonal-factorization-systems/reflective-global-subuniverses.lagda.md
index 787a963051..7e88cab774 100644
--- a/src/orthogonal-factorization-systems/reflective-global-subuniverses.lagda.md
+++ b/src/orthogonal-factorization-systems/reflective-global-subuniverses.lagda.md
@@ -7,34 +7,22 @@ module orthogonal-factorization-systems.reflective-global-subuniverses where
Imports
```agda
-open import foundation.action-on-identifications-functions
open import foundation.cartesian-product-types
-open import foundation.cones-over-cospan-diagrams
open import foundation.contractible-types
open import foundation.cospan-diagrams
-open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
-open import foundation.equivalences-arrows
open import foundation.extensions-types-global-subuniverses
-open import foundation.extensions-types-subuniverses
-open import foundation.function-extensionality
-open import foundation.function-types
-open import foundation.functoriality-dependent-pair-types
open import foundation.global-subuniverses
open import foundation.identity-types
-open import foundation.precomposition-functions
open import foundation.propositions
open import foundation.pullback-cones
-open import foundation.retractions
open import foundation.subuniverses
open import foundation.unit-type
-open import foundation.universal-property-pullbacks
open import foundation.universe-levels
open import orthogonal-factorization-systems.localizations-at-global-subuniverses
-open import orthogonal-factorization-systems.modal-induction
-open import orthogonal-factorization-systems.modal-operators
-open import orthogonal-factorization-systems.modal-subuniverse-induction
open import orthogonal-factorization-systems.types-local-at-maps
open import orthogonal-factorization-systems.universal-property-localizations-at-global-subuniverses
```
diff --git a/src/orthogonal-factorization-systems/reflective-subuniverses.lagda.md b/src/orthogonal-factorization-systems/reflective-subuniverses.lagda.md
index 41a30148b0..5c545e554c 100644
--- a/src/orthogonal-factorization-systems/reflective-subuniverses.lagda.md
+++ b/src/orthogonal-factorization-systems/reflective-subuniverses.lagda.md
@@ -7,15 +7,9 @@ module orthogonal-factorization-systems.reflective-subuniverses where
Imports
```agda
-open import foundation.action-on-identifications-functions
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
open import foundation.equivalences
-open import foundation.function-extensionality
-open import foundation.function-types
-open import foundation.identity-types
-open import foundation.propositions
-open import foundation.retractions
open import foundation.subuniverses
open import foundation.universe-levels
diff --git a/src/orthogonal-factorization-systems/types-colocal-at-maps.lagda.md b/src/orthogonal-factorization-systems/types-colocal-at-maps.lagda.md
index 7292a82aa0..f23418a53f 100644
--- a/src/orthogonal-factorization-systems/types-colocal-at-maps.lagda.md
+++ b/src/orthogonal-factorization-systems/types-colocal-at-maps.lagda.md
@@ -12,6 +12,8 @@ open import foundation.commuting-squares-of-maps
open import foundation.contractible-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equivalences
open import foundation.equivalences-arrows
diff --git a/src/orthogonal-factorization-systems/types-local-at-maps.lagda.md b/src/orthogonal-factorization-systems/types-local-at-maps.lagda.md
index 1ebbc9e3de..02bf7179c8 100644
--- a/src/orthogonal-factorization-systems/types-local-at-maps.lagda.md
+++ b/src/orthogonal-factorization-systems/types-local-at-maps.lagda.md
@@ -13,12 +13,15 @@ open import foundation.commuting-triangles-of-maps
open import foundation.contractible-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.dependent-universal-property-equivalences
open import foundation.empty-types
open import foundation.equivalences
open import foundation.families-of-equivalences
open import foundation.fibers-of-maps
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.functoriality-dependent-function-types
open import foundation.functoriality-dependent-pair-types
@@ -33,7 +36,6 @@ open import foundation.retractions
open import foundation.retracts-of-maps
open import foundation.retracts-of-types
open import foundation.sections
-open import foundation.transport-along-identifications
open import foundation.type-arithmetic-dependent-function-types
open import foundation.type-arithmetic-unit-type
open import foundation.unit-type
diff --git a/src/orthogonal-factorization-systems/uniquely-eliminating-modalities.lagda.md b/src/orthogonal-factorization-systems/uniquely-eliminating-modalities.lagda.md
index 493b2f511f..0d388f758d 100644
--- a/src/orthogonal-factorization-systems/uniquely-eliminating-modalities.lagda.md
+++ b/src/orthogonal-factorization-systems/uniquely-eliminating-modalities.lagda.md
@@ -11,8 +11,11 @@ open import foundation.action-on-identifications-functions
open import foundation.contractible-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.homotopies
open import foundation.identity-types
diff --git a/src/orthogonal-factorization-systems/universal-property-localizations-at-global-subuniverses.lagda.md b/src/orthogonal-factorization-systems/universal-property-localizations-at-global-subuniverses.lagda.md
index a3c2143af4..10b1e3d0b6 100644
--- a/src/orthogonal-factorization-systems/universal-property-localizations-at-global-subuniverses.lagda.md
+++ b/src/orthogonal-factorization-systems/universal-property-localizations-at-global-subuniverses.lagda.md
@@ -8,23 +8,21 @@ module orthogonal-factorization-systems.universal-property-localizations-at-glob
```agda
open import foundation.action-on-identifications-functions
-open import foundation.cartesian-product-types
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.extensions-types
open import foundation.extensions-types-global-subuniverses
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.global-subuniverses
-open import foundation.homotopies
open import foundation.identity-types
open import foundation.precomposition-functions
open import foundation.propositions
open import foundation.retractions
open import foundation.sections
-open import foundation.subuniverses
-open import foundation.unit-type
open import foundation.univalence
open import foundation.universe-levels
diff --git a/src/orthogonal-factorization-systems/wide-function-classes.lagda.md b/src/orthogonal-factorization-systems/wide-function-classes.lagda.md
index 7798c4379d..4a27892627 100644
--- a/src/orthogonal-factorization-systems/wide-function-classes.lagda.md
+++ b/src/orthogonal-factorization-systems/wide-function-classes.lagda.md
@@ -9,6 +9,7 @@ module orthogonal-factorization-systems.wide-function-classes where
```agda
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.function-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/orthogonal-factorization-systems/wide-global-function-classes.lagda.md b/src/orthogonal-factorization-systems/wide-global-function-classes.lagda.md
index e8ed36b96f..2743933179 100644
--- a/src/orthogonal-factorization-systems/wide-global-function-classes.lagda.md
+++ b/src/orthogonal-factorization-systems/wide-global-function-classes.lagda.md
@@ -9,6 +9,7 @@ module orthogonal-factorization-systems.wide-global-function-classes where
```agda
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.function-types
open import foundation.propositions
diff --git a/src/orthogonal-factorization-systems/zero-modality.lagda.md b/src/orthogonal-factorization-systems/zero-modality.lagda.md
index 6395eb912e..7725c93fb4 100644
--- a/src/orthogonal-factorization-systems/zero-modality.lagda.md
+++ b/src/orthogonal-factorization-systems/zero-modality.lagda.md
@@ -7,6 +7,7 @@ module orthogonal-factorization-systems.zero-modality where
Imports
```agda
+open import foundation.raising-universe-levels-unit-type
open import foundation.unit-type
open import foundation.universe-levels
diff --git a/src/polytopes/abstract-polytopes.lagda.md b/src/polytopes/abstract-polytopes.lagda.md
index 429d52d3ab..8a7a476a69 100644
--- a/src/polytopes/abstract-polytopes.lagda.md
+++ b/src/polytopes/abstract-polytopes.lagda.md
@@ -14,10 +14,13 @@ open import foundation.binary-relations
open import foundation.cartesian-product-types
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.disjunction
open import foundation.identity-types
open import foundation.propositional-truncations
open import foundation.propositions
+open import foundation.raising-universe-levels-unit-type
open import foundation.sets
open import foundation.transport-along-identifications
open import foundation.unit-type
diff --git a/src/primitives/characters.lagda.md b/src/primitives/characters.lagda.md
index 5a1d6a930b..8b083f21ed 100644
--- a/src/primitives/characters.lagda.md
+++ b/src/primitives/characters.lagda.md
@@ -9,8 +9,9 @@ module primitives.characters where
```agda
open import elementary-number-theory.natural-numbers
-open import foundation.booleans
open import foundation.universe-levels
+
+open import foundation-core.booleans
```
diff --git a/src/primitives/floats.lagda.md b/src/primitives/floats.lagda.md
index 902432e801..68f4246d71 100644
--- a/src/primitives/floats.lagda.md
+++ b/src/primitives/floats.lagda.md
@@ -9,10 +9,11 @@ module primitives.floats where
```agda
open import elementary-number-theory.natural-numbers
-open import foundation.booleans
-open import foundation.maybe
open import foundation.universe-levels
+open import foundation-core.booleans
+open import foundation-core.maybe
+
open import primitives.machine-integers
open import primitives.strings
```
diff --git a/src/primitives/machine-integers.lagda.md b/src/primitives/machine-integers.lagda.md
index 84db3aa726..af8fed1892 100644
--- a/src/primitives/machine-integers.lagda.md
+++ b/src/primitives/machine-integers.lagda.md
@@ -9,8 +9,9 @@ module primitives.machine-integers where
```agda
open import elementary-number-theory.natural-numbers
-open import foundation.identity-types
open import foundation.universe-levels
+
+open import foundation-core.identity-types
```
diff --git a/src/primitives/strings.lagda.md b/src/primitives/strings.lagda.md
index d94ebd03e7..cfcb24c3cf 100644
--- a/src/primitives/strings.lagda.md
+++ b/src/primitives/strings.lagda.md
@@ -9,11 +9,12 @@ module primitives.strings where
```agda
open import elementary-number-theory.natural-numbers
-open import foundation.booleans
open import foundation.dependent-pair-types
-open import foundation.maybe
open import foundation.universe-levels
+open import foundation-core.booleans
+open import foundation-core.maybe
+
open import lists.lists
open import primitives.characters
diff --git a/src/real-numbers/apartness-real-numbers.lagda.md b/src/real-numbers/apartness-real-numbers.lagda.md
index da2485940d..6bb86cda08 100644
--- a/src/real-numbers/apartness-real-numbers.lagda.md
+++ b/src/real-numbers/apartness-real-numbers.lagda.md
@@ -7,17 +7,15 @@ module real-numbers.apartness-real-numbers where
Imports
```agda
-open import foundation.apartness-relations
+open import foundation.dependent-products-propositions
open import foundation.disjunction
open import foundation.empty-types
open import foundation.function-types
-open import foundation.identity-types
open import foundation.large-apartness-relations
open import foundation.large-binary-relations
open import foundation.negated-equality
open import foundation.negation
open import foundation.propositions
-open import foundation.transport-along-identifications
open import foundation.universe-levels
open import real-numbers.dedekind-real-numbers
diff --git a/src/real-numbers/arithmetically-located-dedekind-cuts.lagda.md b/src/real-numbers/arithmetically-located-dedekind-cuts.lagda.md
index 82cf6a86a3..a378d58d72 100644
--- a/src/real-numbers/arithmetically-located-dedekind-cuts.lagda.md
+++ b/src/real-numbers/arithmetically-located-dedekind-cuts.lagda.md
@@ -17,17 +17,12 @@ open import elementary-number-theory.positive-rational-numbers
open import elementary-number-theory.rational-numbers
open import elementary-number-theory.strict-inequality-rational-numbers
-open import foundation.binary-transport
open import foundation.cartesian-product-types
open import foundation.conjunction
open import foundation.coproduct-types
open import foundation.dependent-pair-types
open import foundation.disjunction
open import foundation.existential-quantification
-open import foundation.identity-types
-open import foundation.logical-equivalences
-open import foundation.raising-universe-levels
-open import foundation.subtypes
open import foundation.transport-along-identifications
open import foundation.universe-levels
diff --git a/src/real-numbers/dedekind-real-numbers.lagda.md b/src/real-numbers/dedekind-real-numbers.lagda.md
index 61408187db..52af6c1c06 100644
--- a/src/real-numbers/dedekind-real-numbers.lagda.md
+++ b/src/real-numbers/dedekind-real-numbers.lagda.md
@@ -13,16 +13,14 @@ open import elementary-number-theory.strict-inequality-rational-numbers
open import foundation.action-on-identifications-functions
open import foundation.binary-transport
-open import foundation.cartesian-product-types
-open import foundation.complements-subtypes
open import foundation.conjunction
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.disjoint-subtypes
open import foundation.disjunction
open import foundation.embeddings
open import foundation.empty-types
-open import foundation.equivalences
open import foundation.existential-quantification
open import foundation.function-types
open import foundation.functoriality-cartesian-product-types
@@ -31,17 +29,13 @@ open import foundation.identity-types
open import foundation.logical-equivalences
open import foundation.negation
open import foundation.powersets
-open import foundation.propositional-truncations
open import foundation.propositions
open import foundation.sets
open import foundation.subtypes
open import foundation.transport-along-identifications
-open import foundation.truncated-types
open import foundation.universal-quantification
open import foundation.universe-levels
-open import foundation-core.truncation-levels
-
open import logic.functoriality-existential-quantification
open import real-numbers.lower-dedekind-real-numbers
diff --git a/src/real-numbers/inequality-lower-dedekind-real-numbers.lagda.md b/src/real-numbers/inequality-lower-dedekind-real-numbers.lagda.md
index e4765318c1..ac380694ba 100644
--- a/src/real-numbers/inequality-lower-dedekind-real-numbers.lagda.md
+++ b/src/real-numbers/inequality-lower-dedekind-real-numbers.lagda.md
@@ -15,11 +15,10 @@ open import elementary-number-theory.strict-inequality-rational-numbers
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.existential-quantification
open import foundation.logical-equivalences
-open import foundation.negation
-open import foundation.powersets
open import foundation.propositions
open import foundation.subtypes
open import foundation.unit-type
diff --git a/src/real-numbers/inequality-real-numbers.lagda.md b/src/real-numbers/inequality-real-numbers.lagda.md
index 098feec9e9..d399fb5c0c 100644
--- a/src/real-numbers/inequality-real-numbers.lagda.md
+++ b/src/real-numbers/inequality-real-numbers.lagda.md
@@ -9,12 +9,10 @@ module real-numbers.inequality-real-numbers where
```agda
open import elementary-number-theory.inequality-rational-numbers
open import elementary-number-theory.rational-numbers
-open import elementary-number-theory.strict-inequality-rational-numbers
open import foundation.complements-subtypes
-open import foundation.coproduct-types
open import foundation.dependent-pair-types
-open import foundation.empty-types
+open import foundation.dependent-products-propositions
open import foundation.existential-quantification
open import foundation.identity-types
open import foundation.logical-equivalences
@@ -30,11 +28,7 @@ open import order-theory.preorders
open import real-numbers.dedekind-real-numbers
open import real-numbers.inequality-lower-dedekind-real-numbers
open import real-numbers.inequality-upper-dedekind-real-numbers
-open import real-numbers.lower-dedekind-real-numbers
-open import real-numbers.negation-lower-upper-dedekind-real-numbers
-open import real-numbers.negation-real-numbers
open import real-numbers.rational-real-numbers
-open import real-numbers.upper-dedekind-real-numbers
```
diff --git a/src/real-numbers/inequality-upper-dedekind-real-numbers.lagda.md b/src/real-numbers/inequality-upper-dedekind-real-numbers.lagda.md
index 4493915e37..80615d86f6 100644
--- a/src/real-numbers/inequality-upper-dedekind-real-numbers.lagda.md
+++ b/src/real-numbers/inequality-upper-dedekind-real-numbers.lagda.md
@@ -15,10 +15,10 @@ open import elementary-number-theory.strict-inequality-rational-numbers
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.existential-quantification
open import foundation.logical-equivalences
-open import foundation.powersets
open import foundation.propositions
open import foundation.subtypes
open import foundation.unit-type
diff --git a/src/real-numbers/lower-dedekind-real-numbers.lagda.md b/src/real-numbers/lower-dedekind-real-numbers.lagda.md
index f48a04eb47..ea64481b6b 100644
--- a/src/real-numbers/lower-dedekind-real-numbers.lagda.md
+++ b/src/real-numbers/lower-dedekind-real-numbers.lagda.md
@@ -19,6 +19,8 @@ open import elementary-number-theory.strict-inequality-rational-numbers
open import foundation.conjunction
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
+open import foundation.dependent-products-truncated-types
open import foundation.existential-quantification
open import foundation.function-types
open import foundation.identity-types
diff --git a/src/real-numbers/metric-space-of-real-numbers.lagda.md b/src/real-numbers/metric-space-of-real-numbers.lagda.md
index 9db327d03c..2de240af64 100644
--- a/src/real-numbers/metric-space-of-real-numbers.lagda.md
+++ b/src/real-numbers/metric-space-of-real-numbers.lagda.md
@@ -11,17 +11,13 @@ module real-numbers.metric-space-of-real-numbers where
```agda
open import elementary-number-theory.addition-rational-numbers
open import elementary-number-theory.difference-rational-numbers
-open import elementary-number-theory.inequality-rational-numbers
open import elementary-number-theory.positive-rational-numbers
open import elementary-number-theory.rational-numbers
-open import elementary-number-theory.strict-inequality-rational-numbers
open import foundation.action-on-identifications-functions
-open import foundation.cartesian-product-types
-open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.diagonal-maps-cartesian-products-of-types
-open import foundation.empty-types
open import foundation.existential-quantification
open import foundation.function-types
open import foundation.functoriality-cartesian-product-types
@@ -37,7 +33,6 @@ open import metric-spaces.isometries-metric-spaces
open import metric-spaces.metric-space-of-rational-numbers
open import metric-spaces.metric-spaces
open import metric-spaces.metric-structures
-open import metric-spaces.monotonic-premetric-structures
open import metric-spaces.premetric-spaces
open import metric-spaces.premetric-structures
open import metric-spaces.pseudometric-structures
diff --git a/src/real-numbers/negation-lower-upper-dedekind-real-numbers.lagda.md b/src/real-numbers/negation-lower-upper-dedekind-real-numbers.lagda.md
index 5ee824c84c..0fe42bfd07 100644
--- a/src/real-numbers/negation-lower-upper-dedekind-real-numbers.lagda.md
+++ b/src/real-numbers/negation-lower-upper-dedekind-real-numbers.lagda.md
@@ -28,8 +28,6 @@ open import foundation.universe-levels
open import logic.functoriality-existential-quantification
-open import real-numbers.inequality-lower-dedekind-real-numbers
-open import real-numbers.inequality-upper-dedekind-real-numbers
open import real-numbers.lower-dedekind-real-numbers
open import real-numbers.rational-lower-dedekind-real-numbers
open import real-numbers.rational-upper-dedekind-real-numbers
diff --git a/src/real-numbers/negation-real-numbers.lagda.md b/src/real-numbers/negation-real-numbers.lagda.md
index f86c08a666..54744b5d9d 100644
--- a/src/real-numbers/negation-real-numbers.lagda.md
+++ b/src/real-numbers/negation-real-numbers.lagda.md
@@ -9,36 +9,22 @@ module real-numbers.negation-real-numbers where
Imports
```agda
-open import elementary-number-theory.positive-rational-numbers
open import elementary-number-theory.rational-numbers
open import elementary-number-theory.strict-inequality-rational-numbers
-open import foundation.cartesian-product-types
-open import foundation.conjunction
-open import foundation.coproduct-types
open import foundation.dependent-pair-types
open import foundation.disjoint-subtypes
open import foundation.disjunction
-open import foundation.empty-types
-open import foundation.existential-quantification
open import foundation.function-types
open import foundation.identity-types
-open import foundation.logical-equivalences
-open import foundation.negation
-open import foundation.propositional-truncations
-open import foundation.propositions
open import foundation.subtypes
open import foundation.transport-along-identifications
open import foundation.universe-levels
-open import logic.functoriality-existential-quantification
-
open import real-numbers.dedekind-real-numbers
open import real-numbers.lower-dedekind-real-numbers
open import real-numbers.negation-lower-upper-dedekind-real-numbers
-open import real-numbers.rational-lower-dedekind-real-numbers
open import real-numbers.rational-real-numbers
-open import real-numbers.rational-upper-dedekind-real-numbers
open import real-numbers.upper-dedekind-real-numbers
```
diff --git a/src/real-numbers/rational-real-numbers.lagda.md b/src/real-numbers/rational-real-numbers.lagda.md
index 19ff6b404c..df323423d5 100644
--- a/src/real-numbers/rational-real-numbers.lagda.md
+++ b/src/real-numbers/rational-real-numbers.lagda.md
@@ -9,25 +9,19 @@ module real-numbers.rational-real-numbers where
Imports
```agda
-open import elementary-number-theory.inequality-rational-numbers
open import elementary-number-theory.rational-numbers
open import elementary-number-theory.strict-inequality-rational-numbers
open import foundation.action-on-identifications-functions
-open import foundation.cartesian-product-types
open import foundation.conjunction
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.disjunction
-open import foundation.embeddings
open import foundation.empty-types
open import foundation.equivalences
-open import foundation.existential-quantification
open import foundation.function-types
-open import foundation.homotopies
open import foundation.identity-types
-open import foundation.logical-equivalences
open import foundation.negation
-open import foundation.propositional-truncations
open import foundation.propositions
open import foundation.retractions
open import foundation.sections
@@ -35,14 +29,10 @@ open import foundation.subtypes
open import foundation.transport-along-identifications
open import foundation.universe-levels
-open import logic.functoriality-existential-quantification
-
open import real-numbers.dedekind-real-numbers
-open import real-numbers.lower-dedekind-real-numbers
open import real-numbers.rational-lower-dedekind-real-numbers
open import real-numbers.rational-upper-dedekind-real-numbers
open import real-numbers.similarity-real-numbers
-open import real-numbers.upper-dedekind-real-numbers
```
diff --git a/src/real-numbers/similarity-real-numbers.lagda.md b/src/real-numbers/similarity-real-numbers.lagda.md
index 5691544027..bcdcd5e004 100644
--- a/src/real-numbers/similarity-real-numbers.lagda.md
+++ b/src/real-numbers/similarity-real-numbers.lagda.md
@@ -7,12 +7,8 @@ module real-numbers.similarity-real-numbers where
Imports
```agda
-open import elementary-number-theory.strict-inequality-rational-numbers
-
open import foundation.dependent-pair-types
-open import foundation.disjunction
-open import foundation.empty-types
-open import foundation.function-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.logical-equivalences
open import foundation.powersets
@@ -20,9 +16,6 @@ open import foundation.propositions
open import foundation.transport-along-identifications
open import foundation.universe-levels
-open import order-theory.large-posets
-open import order-theory.similarity-of-elements-large-posets
-
open import real-numbers.dedekind-real-numbers
```
diff --git a/src/real-numbers/strict-inequality-real-numbers.lagda.md b/src/real-numbers/strict-inequality-real-numbers.lagda.md
index 0deea45410..9ab86939a0 100644
--- a/src/real-numbers/strict-inequality-real-numbers.lagda.md
+++ b/src/real-numbers/strict-inequality-real-numbers.lagda.md
@@ -12,10 +12,10 @@ module real-numbers.strict-inequality-real-numbers where
open import elementary-number-theory.rational-numbers
open import elementary-number-theory.strict-inequality-rational-numbers
-open import foundation.cartesian-product-types
open import foundation.conjunction
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.disjunction
open import foundation.empty-types
open import foundation.existential-quantification
@@ -27,7 +27,6 @@ open import foundation.logical-equivalences
open import foundation.negation
open import foundation.propositional-truncations
open import foundation.propositions
-open import foundation.subtypes
open import foundation.transport-along-identifications
open import foundation.universe-levels
diff --git a/src/real-numbers/upper-dedekind-real-numbers.lagda.md b/src/real-numbers/upper-dedekind-real-numbers.lagda.md
index 2b0dcc2fdb..701a628974 100644
--- a/src/real-numbers/upper-dedekind-real-numbers.lagda.md
+++ b/src/real-numbers/upper-dedekind-real-numbers.lagda.md
@@ -19,6 +19,8 @@ open import elementary-number-theory.strict-inequality-rational-numbers
open import foundation.conjunction
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
+open import foundation.dependent-products-truncated-types
open import foundation.existential-quantification
open import foundation.function-types
open import foundation.identity-types
diff --git a/src/reflection/boolean-reflection.lagda.md b/src/reflection/boolean-reflection.lagda.md
index 6908c83cf5..e4602783c7 100644
--- a/src/reflection/boolean-reflection.lagda.md
+++ b/src/reflection/boolean-reflection.lagda.md
@@ -7,10 +7,10 @@ module reflection.boolean-reflection where
Imports
```agda
-open import foundation.booleans
open import foundation.decidable-types
open import foundation.universe-levels
+open import foundation-core.booleans
open import foundation-core.coproduct-types
open import foundation-core.empty-types
open import foundation-core.identity-types
diff --git a/src/reflection/definitions.lagda.md b/src/reflection/definitions.lagda.md
index 3e0615a316..b95792be7d 100644
--- a/src/reflection/definitions.lagda.md
+++ b/src/reflection/definitions.lagda.md
@@ -10,11 +10,11 @@ module reflection.definitions where
open import elementary-number-theory.natural-numbers
open import foundation.dependent-pair-types
-open import foundation.empty-types
-open import foundation.identity-types
-open import foundation.propositional-truncations
open import foundation.universe-levels
+open import foundation-core.empty-types
+open import foundation-core.identity-types
+
open import lists.lists
open import reflection.abstractions
@@ -82,15 +82,15 @@ _ :
( visible-Argument-Agda (constructor-Term-Agda (quote zero-ℕ) nil)))
_ = refl
-_ :
- {l : Level} {A : UU l} →
- quoteTerm (type-trunc-Prop A) =
- definition-Term-Agda
- ( quote type-trunc-Prop)
- ( cons
- ( hidden-Argument-Agda (variable-Term-Agda 1 nil))
- ( unit-list (visible-Argument-Agda (variable-Term-Agda 0 nil))))
-_ = refl
+-- _ :
+-- {l : Level} {A : UU l} →
+-- quoteTerm (type-trunc-Prop A) =
+-- definition-Term-Agda
+-- ( quote type-trunc-Prop)
+-- ( cons
+-- ( hidden-Argument-Agda (variable-Term-Agda 1 nil))
+-- ( unit-list (visible-Argument-Agda (variable-Term-Agda 0 nil))))
+-- _ = refl
```
### Lambda abstractions
diff --git a/src/reflection/fixity.lagda.md b/src/reflection/fixity.lagda.md
index 52e0174190..6f7961f5ce 100644
--- a/src/reflection/fixity.lagda.md
+++ b/src/reflection/fixity.lagda.md
@@ -9,9 +9,10 @@ module reflection.fixity where
```agda
open import elementary-number-theory.addition-integers
-open import foundation.identity-types
open import foundation.universe-levels
+open import foundation-core.identity-types
+
open import primitives.floats
open import reflection.names
diff --git a/src/reflection/group-solver.lagda.md b/src/reflection/group-solver.lagda.md
index 2f6e85638e..6fb762b69b 100644
--- a/src/reflection/group-solver.lagda.md
+++ b/src/reflection/group-solver.lagda.md
@@ -10,12 +10,13 @@ module reflection.group-solver where
open import elementary-number-theory.natural-numbers
open import foundation.action-on-identifications-functions
-open import foundation.coproduct-types
open import foundation.decidable-types
-open import foundation.identity-types
open import foundation.transport-along-identifications
open import foundation.universe-levels
+open import foundation-core.coproduct-types
+open import foundation-core.identity-types
+
open import group-theory.groups
open import linear-algebra.vectors
diff --git a/src/reflection/metavariables.lagda.md b/src/reflection/metavariables.lagda.md
index 17e3ac21c1..bb2cf558a2 100644
--- a/src/reflection/metavariables.lagda.md
+++ b/src/reflection/metavariables.lagda.md
@@ -9,10 +9,11 @@ module reflection.metavariables where
```agda
open import elementary-number-theory.natural-numbers
-open import foundation.booleans
-open import foundation.identity-types
open import foundation.universe-levels
+open import foundation-core.booleans
+open import foundation-core.identity-types
+
open import lists.lists
open import primitives.strings
diff --git a/src/reflection/names.lagda.md b/src/reflection/names.lagda.md
index 8b971a32c0..b42117fb12 100644
--- a/src/reflection/names.lagda.md
+++ b/src/reflection/names.lagda.md
@@ -7,12 +7,13 @@ module reflection.names where
Imports
```agda
-open import foundation.booleans
-open import foundation.cartesian-product-types
-open import foundation.identity-types
open import foundation.unit-type
open import foundation.universe-levels
+open import foundation-core.booleans
+open import foundation-core.cartesian-product-types
+open import foundation-core.identity-types
+
open import primitives.machine-integers
open import primitives.strings
```
@@ -45,10 +46,10 @@ primitive
## Examples
-```agda
+```text
_ : primQNameLess (quote bool) (quote unit) = true
_ = refl
-_ : primShowQName (quote bool) = "foundation.booleans.bool"
+_ : primShowQName (quote bool) = "foundation-core.booleans.bool"
_ = refl
```
diff --git a/src/reflection/precategory-solver.lagda.md b/src/reflection/precategory-solver.lagda.md
index c0d90a380a..dd11d6389c 100644
--- a/src/reflection/precategory-solver.lagda.md
+++ b/src/reflection/precategory-solver.lagda.md
@@ -14,10 +14,11 @@ open import category-theory.precategories
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
open import foundation.function-types
-open import foundation.identity-types
open import foundation.unit-type
open import foundation.universe-levels
+open import foundation-core.identity-types
+
open import lists.concatenation-lists
open import lists.lists
diff --git a/src/reflection/terms.lagda.md b/src/reflection/terms.lagda.md
index 5a823a2be2..2e9e9b82c3 100644
--- a/src/reflection/terms.lagda.md
+++ b/src/reflection/terms.lagda.md
@@ -9,9 +9,10 @@ module reflection.terms where
```agda
open import elementary-number-theory.natural-numbers
-open import foundation.cartesian-product-types
open import foundation.universe-levels
+open import foundation-core.cartesian-product-types
+
open import lists.lists
open import primitives.strings
diff --git a/src/reflection/type-checking-monad.lagda.md b/src/reflection/type-checking-monad.lagda.md
index 66e434811d..bcd6fe6e34 100644
--- a/src/reflection/type-checking-monad.lagda.md
+++ b/src/reflection/type-checking-monad.lagda.md
@@ -12,13 +12,14 @@ module reflection.type-checking-monad where
open import elementary-number-theory.addition-natural-numbers
open import elementary-number-theory.natural-numbers
-open import foundation.booleans
-open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
-open import foundation.identity-types
open import foundation.unit-type
open import foundation.universe-levels
+open import foundation-core.booleans
+open import foundation-core.cartesian-product-types
+open import foundation-core.identity-types
+
open import lists.lists
open import primitives.strings
diff --git a/src/ring-theory/central-elements-rings.lagda.md b/src/ring-theory/central-elements-rings.lagda.md
index 7ecc9dc806..804f8f4928 100644
--- a/src/ring-theory/central-elements-rings.lagda.md
+++ b/src/ring-theory/central-elements-rings.lagda.md
@@ -8,6 +8,7 @@ module ring-theory.central-elements-rings where
```agda
open import foundation.action-on-identifications-functions
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/ring-theory/central-elements-semirings.lagda.md b/src/ring-theory/central-elements-semirings.lagda.md
index 41cb19f6ef..d2768fd24b 100644
--- a/src/ring-theory/central-elements-semirings.lagda.md
+++ b/src/ring-theory/central-elements-semirings.lagda.md
@@ -7,6 +7,7 @@ module ring-theory.central-elements-semirings where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/ring-theory/commuting-elements-rings.lagda.md b/src/ring-theory/commuting-elements-rings.lagda.md
index 3d35949217..9a6ce88ca1 100644
--- a/src/ring-theory/commuting-elements-rings.lagda.md
+++ b/src/ring-theory/commuting-elements-rings.lagda.md
@@ -8,6 +8,7 @@ module ring-theory.commuting-elements-rings where
```agda
open import foundation.action-on-identifications-functions
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/ring-theory/congruence-relations-rings.lagda.md b/src/ring-theory/congruence-relations-rings.lagda.md
index 7b12139706..2ccaca9b2c 100644
--- a/src/ring-theory/congruence-relations-rings.lagda.md
+++ b/src/ring-theory/congruence-relations-rings.lagda.md
@@ -9,6 +9,7 @@ module ring-theory.congruence-relations-rings where
```agda
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalence-relations
open import foundation.equivalences
open import foundation.identity-types
diff --git a/src/ring-theory/congruence-relations-semirings.lagda.md b/src/ring-theory/congruence-relations-semirings.lagda.md
index 2a0089a148..49ce923a83 100644
--- a/src/ring-theory/congruence-relations-semirings.lagda.md
+++ b/src/ring-theory/congruence-relations-semirings.lagda.md
@@ -10,6 +10,7 @@ module ring-theory.congruence-relations-semirings where
open import foundation.binary-relations
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalence-relations
open import foundation.equivalences
open import foundation.fundamental-theorem-of-identity-types
diff --git a/src/ring-theory/cyclic-rings.lagda.md b/src/ring-theory/cyclic-rings.lagda.md
index e3b3ac6fca..6fef7dfdb3 100644
--- a/src/ring-theory/cyclic-rings.lagda.md
+++ b/src/ring-theory/cyclic-rings.lagda.md
@@ -15,6 +15,7 @@ open import elementary-number-theory.ring-of-integers
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.fibers-of-maps
open import foundation.identity-types
diff --git a/src/ring-theory/full-ideals-rings.lagda.md b/src/ring-theory/full-ideals-rings.lagda.md
index a415b1eeeb..b65befc56b 100644
--- a/src/ring-theory/full-ideals-rings.lagda.md
+++ b/src/ring-theory/full-ideals-rings.lagda.md
@@ -8,8 +8,10 @@ module ring-theory.full-ideals-rings where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.full-subtypes
open import foundation.propositions
+open import foundation.raising-universe-levels-unit-type
open import foundation.subtypes
open import foundation.unit-type
open import foundation.universe-levels
diff --git a/src/ring-theory/generating-elements-rings.lagda.md b/src/ring-theory/generating-elements-rings.lagda.md
index f143405f0f..dc8e940af5 100644
--- a/src/ring-theory/generating-elements-rings.lagda.md
+++ b/src/ring-theory/generating-elements-rings.lagda.md
@@ -7,6 +7,7 @@ module ring-theory.generating-elements-rings where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/ring-theory/groups-of-units-rings.lagda.md b/src/ring-theory/groups-of-units-rings.lagda.md
index 16e293804e..cadb1844aa 100644
--- a/src/ring-theory/groups-of-units-rings.lagda.md
+++ b/src/ring-theory/groups-of-units-rings.lagda.md
@@ -9,6 +9,7 @@ module ring-theory.groups-of-units-rings where
```agda
open import category-theory.functors-large-precategories
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/ring-theory/homomorphisms-cyclic-rings.lagda.md b/src/ring-theory/homomorphisms-cyclic-rings.lagda.md
index 8bdb6d76cf..74f843f3fd 100644
--- a/src/ring-theory/homomorphisms-cyclic-rings.lagda.md
+++ b/src/ring-theory/homomorphisms-cyclic-rings.lagda.md
@@ -9,6 +9,7 @@ module ring-theory.homomorphisms-cyclic-rings where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositional-truncations
open import foundation.propositions
diff --git a/src/ring-theory/homomorphisms-rings.lagda.md b/src/ring-theory/homomorphisms-rings.lagda.md
index 95f466ea7c..5a82b5efcb 100644
--- a/src/ring-theory/homomorphisms-rings.lagda.md
+++ b/src/ring-theory/homomorphisms-rings.lagda.md
@@ -8,6 +8,7 @@ module ring-theory.homomorphisms-rings where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.fundamental-theorem-of-identity-types
open import foundation.homotopies
diff --git a/src/ring-theory/homomorphisms-semirings.lagda.md b/src/ring-theory/homomorphisms-semirings.lagda.md
index 9bd4acad47..0d1ad17c62 100644
--- a/src/ring-theory/homomorphisms-semirings.lagda.md
+++ b/src/ring-theory/homomorphisms-semirings.lagda.md
@@ -8,6 +8,7 @@ module ring-theory.homomorphisms-semirings where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.fundamental-theorem-of-identity-types
open import foundation.homotopies
diff --git a/src/ring-theory/ideals-rings.lagda.md b/src/ring-theory/ideals-rings.lagda.md
index 74b99261c9..cbb03c2842 100644
--- a/src/ring-theory/ideals-rings.lagda.md
+++ b/src/ring-theory/ideals-rings.lagda.md
@@ -12,6 +12,7 @@ open import foundation.binary-relations
open import foundation.binary-transport
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalence-relations
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/ring-theory/ideals-semirings.lagda.md b/src/ring-theory/ideals-semirings.lagda.md
index 801c43f0b9..62c2831249 100644
--- a/src/ring-theory/ideals-semirings.lagda.md
+++ b/src/ring-theory/ideals-semirings.lagda.md
@@ -9,6 +9,7 @@ module ring-theory.ideals-semirings where
```agda
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/ring-theory/idempotent-elements-rings.lagda.md b/src/ring-theory/idempotent-elements-rings.lagda.md
index 3d3369a849..2bfa9cb5aa 100644
--- a/src/ring-theory/idempotent-elements-rings.lagda.md
+++ b/src/ring-theory/idempotent-elements-rings.lagda.md
@@ -7,6 +7,7 @@ module ring-theory.idempotent-elements-rings where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.sets
open import foundation.subtypes
diff --git a/src/ring-theory/integer-multiples-of-elements-rings.lagda.md b/src/ring-theory/integer-multiples-of-elements-rings.lagda.md
index 9f66654609..35c987f634 100644
--- a/src/ring-theory/integer-multiples-of-elements-rings.lagda.md
+++ b/src/ring-theory/integer-multiples-of-elements-rings.lagda.md
@@ -14,6 +14,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.action-on-identifications-functions
open import foundation.coproduct-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.transport-along-identifications
diff --git a/src/ring-theory/invertible-elements-rings.lagda.md b/src/ring-theory/invertible-elements-rings.lagda.md
index 5066846791..614c3729df 100644
--- a/src/ring-theory/invertible-elements-rings.lagda.md
+++ b/src/ring-theory/invertible-elements-rings.lagda.md
@@ -9,6 +9,8 @@ module ring-theory.invertible-elements-rings where
```agda
open import foundation.action-on-identifications-functions
open import foundation.contractible-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-cartesian-product-types
diff --git a/src/ring-theory/isomorphisms-rings.lagda.md b/src/ring-theory/isomorphisms-rings.lagda.md
index 5a982e30d8..ad3737a750 100644
--- a/src/ring-theory/isomorphisms-rings.lagda.md
+++ b/src/ring-theory/isomorphisms-rings.lagda.md
@@ -12,6 +12,8 @@ open import category-theory.isomorphisms-in-large-precategories
open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equality-dependent-function-types
open import foundation.equivalences
open import foundation.function-types
@@ -28,6 +30,7 @@ open import foundation.propositions
open import foundation.structure-identity-principle
open import foundation.subtype-identity-principle
open import foundation.subtypes
+open import foundation.telescopes
open import foundation.torsorial-type-families
open import foundation.type-arithmetic-cartesian-product-types
open import foundation.type-arithmetic-dependent-pair-types
diff --git a/src/ring-theory/left-ideals-generated-by-subsets-rings.lagda.md b/src/ring-theory/left-ideals-generated-by-subsets-rings.lagda.md
index 45001b74cb..101243cf09 100644
--- a/src/ring-theory/left-ideals-generated-by-subsets-rings.lagda.md
+++ b/src/ring-theory/left-ideals-generated-by-subsets-rings.lagda.md
@@ -10,6 +10,7 @@ module ring-theory.left-ideals-generated-by-subsets-rings where
open import foundation.action-on-identifications-functions
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.fibers-of-maps
open import foundation.function-types
open import foundation.identity-types
diff --git a/src/ring-theory/left-ideals-rings.lagda.md b/src/ring-theory/left-ideals-rings.lagda.md
index c0d2710a89..927c827ba6 100644
--- a/src/ring-theory/left-ideals-rings.lagda.md
+++ b/src/ring-theory/left-ideals-rings.lagda.md
@@ -9,6 +9,7 @@ module ring-theory.left-ideals-rings where
```agda
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.fundamental-theorem-of-identity-types
open import foundation.identity-types
diff --git a/src/ring-theory/local-rings.lagda.md b/src/ring-theory/local-rings.lagda.md
index 6ec65472c7..3553f43273 100644
--- a/src/ring-theory/local-rings.lagda.md
+++ b/src/ring-theory/local-rings.lagda.md
@@ -8,6 +8,7 @@ module ring-theory.local-rings where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.disjunction
open import foundation.propositions
open import foundation.sets
diff --git a/src/ring-theory/localizations-rings.lagda.md b/src/ring-theory/localizations-rings.lagda.md
index 0c3aeb511a..b4b1ca32ac 100644
--- a/src/ring-theory/localizations-rings.lagda.md
+++ b/src/ring-theory/localizations-rings.lagda.md
@@ -11,6 +11,8 @@ open import foundation.action-on-identifications-functions
open import foundation.contractible-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.fibers-of-maps
open import foundation.functoriality-dependent-pair-types
diff --git a/src/ring-theory/multiples-of-elements-rings.lagda.md b/src/ring-theory/multiples-of-elements-rings.lagda.md
index f0bf36215a..d151f8fd60 100644
--- a/src/ring-theory/multiples-of-elements-rings.lagda.md
+++ b/src/ring-theory/multiples-of-elements-rings.lagda.md
@@ -11,6 +11,7 @@ open import elementary-number-theory.addition-natural-numbers
open import elementary-number-theory.multiplication-natural-numbers
open import elementary-number-theory.natural-numbers
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/ring-theory/nil-ideals-rings.lagda.md b/src/ring-theory/nil-ideals-rings.lagda.md
index 22688c8e4c..2c2d4afdfa 100644
--- a/src/ring-theory/nil-ideals-rings.lagda.md
+++ b/src/ring-theory/nil-ideals-rings.lagda.md
@@ -7,6 +7,7 @@ module ring-theory.nil-ideals-rings where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/ring-theory/nilpotent-elements-rings.lagda.md b/src/ring-theory/nilpotent-elements-rings.lagda.md
index 96f8512935..e3cf9a9c72 100644
--- a/src/ring-theory/nilpotent-elements-rings.lagda.md
+++ b/src/ring-theory/nilpotent-elements-rings.lagda.md
@@ -9,6 +9,7 @@ module ring-theory.nilpotent-elements-rings where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.existential-quantification
open import foundation.identity-types
open import foundation.propositional-truncations
diff --git a/src/ring-theory/nilpotent-elements-semirings.lagda.md b/src/ring-theory/nilpotent-elements-semirings.lagda.md
index 434bdf7fb8..94f93d8c1b 100644
--- a/src/ring-theory/nilpotent-elements-semirings.lagda.md
+++ b/src/ring-theory/nilpotent-elements-semirings.lagda.md
@@ -12,6 +12,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.existential-quantification
open import foundation.identity-types
open import foundation.propositional-truncations
diff --git a/src/ring-theory/poset-of-ideals-rings.lagda.md b/src/ring-theory/poset-of-ideals-rings.lagda.md
index 7ac68be10d..b31969cc7d 100644
--- a/src/ring-theory/poset-of-ideals-rings.lagda.md
+++ b/src/ring-theory/poset-of-ideals-rings.lagda.md
@@ -9,6 +9,7 @@ module ring-theory.poset-of-ideals-rings where
```agda
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.powersets
open import foundation.propositions
diff --git a/src/ring-theory/poset-of-left-ideals-rings.lagda.md b/src/ring-theory/poset-of-left-ideals-rings.lagda.md
index a34d3bad4a..e9f10db6f1 100644
--- a/src/ring-theory/poset-of-left-ideals-rings.lagda.md
+++ b/src/ring-theory/poset-of-left-ideals-rings.lagda.md
@@ -9,6 +9,7 @@ module ring-theory.poset-of-left-ideals-rings where
```agda
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.powersets
open import foundation.propositions
diff --git a/src/ring-theory/poset-of-right-ideals-rings.lagda.md b/src/ring-theory/poset-of-right-ideals-rings.lagda.md
index 9ddb7754b7..6c1fd89e20 100644
--- a/src/ring-theory/poset-of-right-ideals-rings.lagda.md
+++ b/src/ring-theory/poset-of-right-ideals-rings.lagda.md
@@ -9,6 +9,7 @@ module ring-theory.poset-of-right-ideals-rings where
```agda
open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.powersets
open import foundation.propositions
diff --git a/src/ring-theory/radical-ideals-rings.lagda.md b/src/ring-theory/radical-ideals-rings.lagda.md
index 964017ee37..2d2546accc 100644
--- a/src/ring-theory/radical-ideals-rings.lagda.md
+++ b/src/ring-theory/radical-ideals-rings.lagda.md
@@ -7,6 +7,7 @@ module ring-theory.radical-ideals-rings where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/ring-theory/right-ideals-generated-by-subsets-rings.lagda.md b/src/ring-theory/right-ideals-generated-by-subsets-rings.lagda.md
index ec913d21e3..0bf8be447b 100644
--- a/src/ring-theory/right-ideals-generated-by-subsets-rings.lagda.md
+++ b/src/ring-theory/right-ideals-generated-by-subsets-rings.lagda.md
@@ -10,6 +10,7 @@ module ring-theory.right-ideals-generated-by-subsets-rings where
open import foundation.action-on-identifications-functions
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.fibers-of-maps
open import foundation.function-types
open import foundation.identity-types
diff --git a/src/ring-theory/right-ideals-rings.lagda.md b/src/ring-theory/right-ideals-rings.lagda.md
index 1da87674fc..470dc29bbc 100644
--- a/src/ring-theory/right-ideals-rings.lagda.md
+++ b/src/ring-theory/right-ideals-rings.lagda.md
@@ -9,6 +9,7 @@ module ring-theory.right-ideals-rings where
```agda
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.fundamental-theorem-of-identity-types
open import foundation.identity-types
diff --git a/src/ring-theory/rings.lagda.md b/src/ring-theory/rings.lagda.md
index 757f7994ee..4d3d79af13 100644
--- a/src/ring-theory/rings.lagda.md
+++ b/src/ring-theory/rings.lagda.md
@@ -16,6 +16,7 @@ open import foundation.binary-embeddings
open import foundation.binary-equivalences
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/ring-theory/semirings.lagda.md b/src/ring-theory/semirings.lagda.md
index 982869d8d3..2545e267cb 100644
--- a/src/ring-theory/semirings.lagda.md
+++ b/src/ring-theory/semirings.lagda.md
@@ -14,6 +14,7 @@ open import foundation.action-on-identifications-binary-functions
open import foundation.action-on-identifications-functions
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.negation
open import foundation.propositions
diff --git a/src/ring-theory/subsets-rings.lagda.md b/src/ring-theory/subsets-rings.lagda.md
index df9a3f2c84..e1b541fb5f 100644
--- a/src/ring-theory/subsets-rings.lagda.md
+++ b/src/ring-theory/subsets-rings.lagda.md
@@ -7,6 +7,7 @@ module ring-theory.subsets-rings where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositional-extensionality
open import foundation.propositions
diff --git a/src/ring-theory/subsets-semirings.lagda.md b/src/ring-theory/subsets-semirings.lagda.md
index 0236a79809..cc21326980 100644
--- a/src/ring-theory/subsets-semirings.lagda.md
+++ b/src/ring-theory/subsets-semirings.lagda.md
@@ -7,6 +7,7 @@ module ring-theory.subsets-semirings where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositional-extensionality
open import foundation.propositions
diff --git a/src/ring-theory/trivial-rings.lagda.md b/src/ring-theory/trivial-rings.lagda.md
index 4173514622..efd52982c6 100644
--- a/src/ring-theory/trivial-rings.lagda.md
+++ b/src/ring-theory/trivial-rings.lagda.md
@@ -11,6 +11,8 @@ open import foundation.action-on-identifications-binary-functions
open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.negated-equality
open import foundation.negation
diff --git a/src/set-theory/baire-space.lagda.md b/src/set-theory/baire-space.lagda.md
index 6e7075dc17..884e7587bd 100644
--- a/src/set-theory/baire-space.lagda.md
+++ b/src/set-theory/baire-space.lagda.md
@@ -10,9 +10,7 @@ module set-theory.baire-space where
open import elementary-number-theory.equality-natural-numbers
open import elementary-number-theory.natural-numbers
-open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
-open import foundation.function-extensionality
open import foundation.function-types
open import foundation.lawveres-fixed-point-theorem
open import foundation.negation
@@ -22,7 +20,6 @@ open import foundation.universe-levels
open import foundation-core.empty-types
open import foundation-core.identity-types
-open import foundation-core.propositions
open import set-theory.cantors-diagonal-argument
open import set-theory.countable-sets
diff --git a/src/set-theory/cantors-diagonal-argument.lagda.md b/src/set-theory/cantors-diagonal-argument.lagda.md
index b573aa9ab7..1ff1284a90 100644
--- a/src/set-theory/cantors-diagonal-argument.lagda.md
+++ b/src/set-theory/cantors-diagonal-argument.lagda.md
@@ -11,19 +11,13 @@ open import elementary-number-theory.natural-numbers
open import foundation.action-on-identifications-functions
open import foundation.coproduct-types
-open import foundation.decidable-propositions
-open import foundation.decidable-subtypes
open import foundation.decidable-types
open import foundation.dependent-pair-types
open import foundation.discrete-types
-open import foundation.double-negation
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.identity-types
-open import foundation.isolated-elements
-open import foundation.logical-equivalences
open import foundation.negated-equality
open import foundation.negation
-open import foundation.powersets
open import foundation.propositional-truncations
open import foundation.sets
open import foundation.surjective-maps
@@ -34,7 +28,6 @@ open import foundation-core.fibers-of-maps
open import foundation-core.propositions
open import set-theory.countable-sets
-open import set-theory.infinite-sets
open import set-theory.uncountable-sets
```
diff --git a/src/set-theory/cardinalities.lagda.md b/src/set-theory/cardinalities.lagda.md
index 0ab8653a6f..25c331e2a9 100644
--- a/src/set-theory/cardinalities.lagda.md
+++ b/src/set-theory/cardinalities.lagda.md
@@ -7,10 +7,10 @@ module set-theory.cardinalities where
Imports
```agda
-open import foundation.binary-relations
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.functoriality-propositional-truncation
open import foundation.identity-types
open import foundation.large-binary-relations
diff --git a/src/set-theory/countable-sets.lagda.md b/src/set-theory/countable-sets.lagda.md
index 023911e269..982fc80390 100644
--- a/src/set-theory/countable-sets.lagda.md
+++ b/src/set-theory/countable-sets.lagda.md
@@ -7,6 +7,7 @@ module set-theory.countable-sets where
Imports
```agda
+open import elementary-number-theory.equality-integers
open import elementary-number-theory.equality-natural-numbers
open import elementary-number-theory.integers
open import elementary-number-theory.natural-numbers
@@ -18,6 +19,7 @@ open import foundation.decidable-propositions
open import foundation.decidable-subtypes
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equality-coproduct-types
open import foundation.equivalences
@@ -30,7 +32,6 @@ open import foundation.negated-equality
open import foundation.negation
open import foundation.propositional-truncations
open import foundation.propositions
-open import foundation.raising-universe-levels
open import foundation.retracts-of-types
open import foundation.sets
open import foundation.shifting-sequences
@@ -41,6 +42,7 @@ open import foundation.universe-levels
open import foundation-core.cartesian-product-types
open import foundation-core.fibers-of-maps
open import foundation-core.identity-types
+open import foundation-core.raising-universe-levels
open import univalent-combinatorics.standard-finite-types
```
diff --git a/src/set-theory/cumulative-hierarchy.lagda.md b/src/set-theory/cumulative-hierarchy.lagda.md
index 4d4ae93868..902df4741c 100644
--- a/src/set-theory/cumulative-hierarchy.lagda.md
+++ b/src/set-theory/cumulative-hierarchy.lagda.md
@@ -15,6 +15,8 @@ open import foundation.cartesian-product-types
open import foundation.constant-type-families
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
+open import foundation.dependent-products-truncated-types
open import foundation.empty-types
open import foundation.existential-quantification
open import foundation.function-types
@@ -25,12 +27,15 @@ open import foundation.negation
open import foundation.propositional-extensionality
open import foundation.propositional-truncations
open import foundation.propositions
-open import foundation.raising-universe-levels
+open import foundation.raising-universe-levels-booleans
+open import foundation.raising-universe-levels-unit-type
open import foundation.sets
open import foundation.transport-along-identifications
open import foundation.truncated-types
open import foundation.unit-type
open import foundation.universe-levels
+
+open import foundation-core.raising-universe-levels
```
diff --git a/src/set-theory/infinite-sets.lagda.md b/src/set-theory/infinite-sets.lagda.md
index d94e6be82f..238613510a 100644
--- a/src/set-theory/infinite-sets.lagda.md
+++ b/src/set-theory/infinite-sets.lagda.md
@@ -10,6 +10,7 @@ module set-theory.infinite-sets where
open import elementary-number-theory.natural-numbers
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.mere-embeddings
open import foundation.propositions
open import foundation.sets
diff --git a/src/set-theory/uncountable-sets.lagda.md b/src/set-theory/uncountable-sets.lagda.md
index f1cb306d08..d6380269ab 100644
--- a/src/set-theory/uncountable-sets.lagda.md
+++ b/src/set-theory/uncountable-sets.lagda.md
@@ -7,6 +7,7 @@ module set-theory.uncountable-sets where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.negation
open import foundation.propositions
open import foundation.sets
diff --git a/src/species/cauchy-composition-species-of-types-in-subuniverses.lagda.md b/src/species/cauchy-composition-species-of-types-in-subuniverses.lagda.md
index 65183258e0..2d4bede8d6 100644
--- a/src/species/cauchy-composition-species-of-types-in-subuniverses.lagda.md
+++ b/src/species/cauchy-composition-species-of-types-in-subuniverses.lagda.md
@@ -10,6 +10,8 @@ module species.cauchy-composition-species-of-types-in-subuniverses where
open import foundation.cartesian-product-types
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equality-cartesian-product-types
open import foundation.equivalences
open import foundation.function-types
@@ -19,6 +21,7 @@ open import foundation.functoriality-dependent-pair-types
open import foundation.global-subuniverses
open import foundation.homotopies
open import foundation.propositions
+open import foundation.raising-universe-levels-unit-type
open import foundation.relaxed-sigma-decompositions
open import foundation.sigma-closed-subuniverses
open import foundation.sigma-decomposition-subuniverse
diff --git a/src/species/cauchy-composition-species-of-types.lagda.md b/src/species/cauchy-composition-species-of-types.lagda.md
index 05943435c9..680390a530 100644
--- a/src/species/cauchy-composition-species-of-types.lagda.md
+++ b/src/species/cauchy-composition-species-of-types.lagda.md
@@ -10,6 +10,7 @@ module species.cauchy-composition-species-of-types where
open import foundation.cartesian-product-types
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.dependent-universal-property-equivalences
open import foundation.discrete-relaxed-sigma-decompositions
open import foundation.equivalences
diff --git a/src/species/cauchy-exponentials-species-of-types-in-subuniverses.lagda.md b/src/species/cauchy-exponentials-species-of-types-in-subuniverses.lagda.md
index a5d3b8b486..f8bd2bcd57 100644
--- a/src/species/cauchy-exponentials-species-of-types-in-subuniverses.lagda.md
+++ b/src/species/cauchy-exponentials-species-of-types-in-subuniverses.lagda.md
@@ -11,6 +11,7 @@ open import foundation.cartesian-product-types
open import foundation.coproduct-decompositions
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-cartesian-product-types
diff --git a/src/species/cauchy-products-species-of-types-in-subuniverses.lagda.md b/src/species/cauchy-products-species-of-types-in-subuniverses.lagda.md
index dc5f62299c..99e82859bb 100644
--- a/src/species/cauchy-products-species-of-types-in-subuniverses.lagda.md
+++ b/src/species/cauchy-products-species-of-types-in-subuniverses.lagda.md
@@ -12,6 +12,7 @@ open import foundation.coproduct-decompositions
open import foundation.coproduct-decompositions-subuniverse
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equivalences
open import foundation.functoriality-dependent-pair-types
diff --git a/src/species/cauchy-series-species-of-types-in-subuniverses.lagda.md b/src/species/cauchy-series-species-of-types-in-subuniverses.lagda.md
index 4e9a36c29a..a51d995740 100644
--- a/src/species/cauchy-series-species-of-types-in-subuniverses.lagda.md
+++ b/src/species/cauchy-series-species-of-types-in-subuniverses.lagda.md
@@ -9,6 +9,7 @@ module species.cauchy-series-species-of-types-in-subuniverses where
```agda
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.functoriality-cartesian-product-types
open import foundation.functoriality-dependent-pair-types
diff --git a/src/species/dirichlet-exponentials-species-of-types-in-subuniverses.lagda.md b/src/species/dirichlet-exponentials-species-of-types-in-subuniverses.lagda.md
index caf7c99d4d..9615d3fe32 100644
--- a/src/species/dirichlet-exponentials-species-of-types-in-subuniverses.lagda.md
+++ b/src/species/dirichlet-exponentials-species-of-types-in-subuniverses.lagda.md
@@ -9,6 +9,7 @@ module species.dirichlet-exponentials-species-of-types-in-subuniverses where
```agda
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-cartesian-product-types
diff --git a/src/species/dirichlet-products-species-of-types-in-subuniverses.lagda.md b/src/species/dirichlet-products-species-of-types-in-subuniverses.lagda.md
index 1c966ec39c..2894650906 100644
--- a/src/species/dirichlet-products-species-of-types-in-subuniverses.lagda.md
+++ b/src/species/dirichlet-products-species-of-types-in-subuniverses.lagda.md
@@ -10,6 +10,8 @@ module species.dirichlet-products-species-of-types-in-subuniverses where
open import foundation.cartesian-product-types
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.functoriality-dependent-pair-types
open import foundation.global-subuniverses
@@ -18,6 +20,7 @@ open import foundation.identity-types
open import foundation.product-decompositions
open import foundation.product-decompositions-subuniverse
open import foundation.propositions
+open import foundation.raising-universe-levels-unit-type
open import foundation.subuniverses
open import foundation.transport-along-identifications
open import foundation.type-arithmetic-cartesian-product-types
diff --git a/src/species/morphisms-finite-species.lagda.md b/src/species/morphisms-finite-species.lagda.md
index 52f2991b25..7e39371d67 100644
--- a/src/species/morphisms-finite-species.lagda.md
+++ b/src/species/morphisms-finite-species.lagda.md
@@ -8,6 +8,7 @@ module species.morphisms-finite-species where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equality-dependent-function-types
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/species/small-cauchy-composition-species-of-finite-inhabited-types.lagda.md b/src/species/small-cauchy-composition-species-of-finite-inhabited-types.lagda.md
index 32e27e77d0..7e16576b00 100644
--- a/src/species/small-cauchy-composition-species-of-finite-inhabited-types.lagda.md
+++ b/src/species/small-cauchy-composition-species-of-finite-inhabited-types.lagda.md
@@ -11,6 +11,8 @@ module species.small-cauchy-composition-species-of-finite-inhabited-types where
```agda
open import foundation.contractible-types
open import foundation.decidable-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-cartesian-product-types
@@ -18,6 +20,7 @@ open import foundation.functoriality-dependent-pair-types
open import foundation.identity-types
open import foundation.inhabited-types
open import foundation.propositions
+open import foundation.raising-universe-levels-unit-type
open import foundation.relaxed-sigma-decompositions
open import foundation.sigma-closed-subuniverses
open import foundation.sigma-decomposition-subuniverse
diff --git a/src/species/small-cauchy-composition-species-of-types-in-subuniverses.lagda.md b/src/species/small-cauchy-composition-species-of-types-in-subuniverses.lagda.md
index 78eac4cbc1..0fcbea9430 100644
--- a/src/species/small-cauchy-composition-species-of-types-in-subuniverses.lagda.md
+++ b/src/species/small-cauchy-composition-species-of-types-in-subuniverses.lagda.md
@@ -10,6 +10,8 @@ module species.small-cauchy-composition-species-of-types-in-subuniverses where
open import foundation.cartesian-product-types
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equality-cartesian-product-types
open import foundation.equivalences
open import foundation.functoriality-cartesian-product-types
@@ -17,6 +19,7 @@ open import foundation.functoriality-dependent-function-types
open import foundation.functoriality-dependent-pair-types
open import foundation.identity-types
open import foundation.propositions
+open import foundation.raising-universe-levels-unit-type
open import foundation.relaxed-sigma-decompositions
open import foundation.sigma-closed-subuniverses
open import foundation.sigma-decomposition-subuniverse
diff --git a/src/species/species-of-types-in-subuniverses.lagda.md b/src/species/species-of-types-in-subuniverses.lagda.md
index 1ef1c85fec..9ce1790640 100644
--- a/src/species/species-of-types-in-subuniverses.lagda.md
+++ b/src/species/species-of-types-in-subuniverses.lagda.md
@@ -9,6 +9,7 @@ module species.species-of-types-in-subuniverses where
```agda
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.propositions
diff --git a/src/species/unit-cauchy-composition-species-of-types-in-subuniverses.lagda.md b/src/species/unit-cauchy-composition-species-of-types-in-subuniverses.lagda.md
index 030f8440d0..722116577b 100644
--- a/src/species/unit-cauchy-composition-species-of-types-in-subuniverses.lagda.md
+++ b/src/species/unit-cauchy-composition-species-of-types-in-subuniverses.lagda.md
@@ -9,6 +9,7 @@ module species.unit-cauchy-composition-species-of-types-in-subuniverses where
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.global-subuniverses
open import foundation.subuniverses
open import foundation.universe-levels
diff --git a/src/species/unit-cauchy-composition-species-of-types.lagda.md b/src/species/unit-cauchy-composition-species-of-types.lagda.md
index 15884d5b45..3b37fe26fe 100644
--- a/src/species/unit-cauchy-composition-species-of-types.lagda.md
+++ b/src/species/unit-cauchy-composition-species-of-types.lagda.md
@@ -8,6 +8,7 @@ module species.unit-cauchy-composition-species-of-types where
```agda
open import foundation.contractible-types
+open import foundation.dependent-products-contractible-types
open import foundation.universe-levels
open import species.species-of-types
diff --git a/src/structured-types/contractible-pointed-types.lagda.md b/src/structured-types/contractible-pointed-types.lagda.md
index 67d5b144e8..61d36e53ed 100644
--- a/src/structured-types/contractible-pointed-types.lagda.md
+++ b/src/structured-types/contractible-pointed-types.lagda.md
@@ -8,6 +8,8 @@ module structured-types.contractible-pointed-types where
```agda
open import foundation.contractible-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/structured-types/cyclic-types.lagda.md b/src/structured-types/cyclic-types.lagda.md
index dcd59c7116..5b84515fdc 100644
--- a/src/structured-types/cyclic-types.lagda.md
+++ b/src/structured-types/cyclic-types.lagda.md
@@ -9,6 +9,7 @@ module structured-types.cyclic-types where
```agda
open import foundation.automorphisms
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.iterating-automorphisms
open import foundation.propositional-truncations
open import foundation.propositions
diff --git a/src/structured-types/equivalences-types-equipped-with-endomorphisms.lagda.md b/src/structured-types/equivalences-types-equipped-with-endomorphisms.lagda.md
index 3b8b45fb50..60a1a7d801 100644
--- a/src/structured-types/equivalences-types-equipped-with-endomorphisms.lagda.md
+++ b/src/structured-types/equivalences-types-equipped-with-endomorphisms.lagda.md
@@ -11,6 +11,7 @@ open import foundation.action-on-identifications-functions
open import foundation.commuting-squares-of-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
diff --git a/src/structured-types/initial-pointed-type-equipped-with-automorphism.lagda.md b/src/structured-types/initial-pointed-type-equipped-with-automorphism.lagda.md
index cab4124961..3a40c71c3d 100644
--- a/src/structured-types/initial-pointed-type-equipped-with-automorphism.lagda.md
+++ b/src/structured-types/initial-pointed-type-equipped-with-automorphism.lagda.md
@@ -14,6 +14,7 @@ open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.homotopies
open import foundation.identity-types
diff --git a/src/structured-types/involutive-type-of-h-space-structures.lagda.md b/src/structured-types/involutive-type-of-h-space-structures.lagda.md
index a9109305c2..5166ab62e9 100644
--- a/src/structured-types/involutive-type-of-h-space-structures.lagda.md
+++ b/src/structured-types/involutive-type-of-h-space-structures.lagda.md
@@ -12,6 +12,7 @@ open import foundation.binary-transport
open import foundation.constant-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equality-dependent-function-types
open import foundation.equivalences
open import foundation.functoriality-dependent-pair-types
diff --git a/src/structured-types/iterated-pointed-cartesian-product-types.lagda.md b/src/structured-types/iterated-pointed-cartesian-product-types.lagda.md
index 085abff691..305993ecf4 100644
--- a/src/structured-types/iterated-pointed-cartesian-product-types.lagda.md
+++ b/src/structured-types/iterated-pointed-cartesian-product-types.lagda.md
@@ -8,6 +8,7 @@ module structured-types.iterated-pointed-cartesian-product-types where
```agda
open import foundation.dependent-pair-types
+open import foundation.raising-universe-levels-unit-type
open import foundation.unit-type
open import foundation.universe-levels
diff --git a/src/structured-types/mere-equivalences-types-equipped-with-endomorphisms.lagda.md b/src/structured-types/mere-equivalences-types-equipped-with-endomorphisms.lagda.md
index 0d43b47932..a483e3fda1 100644
--- a/src/structured-types/mere-equivalences-types-equipped-with-endomorphisms.lagda.md
+++ b/src/structured-types/mere-equivalences-types-equipped-with-endomorphisms.lagda.md
@@ -8,6 +8,7 @@ module structured-types.mere-equivalences-types-equipped-with-endomorphisms wher
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.fundamental-theorem-of-identity-types
diff --git a/src/structured-types/morphisms-pointed-arrows.lagda.md b/src/structured-types/morphisms-pointed-arrows.lagda.md
index a7f8e2d3fe..5d912d0e00 100644
--- a/src/structured-types/morphisms-pointed-arrows.lagda.md
+++ b/src/structured-types/morphisms-pointed-arrows.lagda.md
@@ -13,6 +13,7 @@ open import foundation.commuting-squares-of-identifications
open import foundation.commuting-triangles-of-identifications
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.functoriality-dependent-pair-types
open import foundation.fundamental-theorem-of-identity-types
open import foundation.homotopy-induction
diff --git a/src/structured-types/morphisms-types-equipped-with-endomorphisms.lagda.md b/src/structured-types/morphisms-types-equipped-with-endomorphisms.lagda.md
index 3215246b06..2561449f2a 100644
--- a/src/structured-types/morphisms-types-equipped-with-endomorphisms.lagda.md
+++ b/src/structured-types/morphisms-types-equipped-with-endomorphisms.lagda.md
@@ -10,6 +10,7 @@ module structured-types.morphisms-types-equipped-with-endomorphisms where
open import foundation.commuting-squares-of-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.functoriality-dependent-pair-types
open import foundation.fundamental-theorem-of-identity-types
diff --git a/src/structured-types/pointed-2-homotopies.lagda.md b/src/structured-types/pointed-2-homotopies.lagda.md
index 7b40b04004..30d4757e3b 100644
--- a/src/structured-types/pointed-2-homotopies.lagda.md
+++ b/src/structured-types/pointed-2-homotopies.lagda.md
@@ -12,6 +12,7 @@ open import foundation.binary-equivalences
open import foundation.commuting-triangles-of-identifications
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.functoriality-dependent-pair-types
open import foundation.fundamental-theorem-of-identity-types
diff --git a/src/structured-types/pointed-equivalences.lagda.md b/src/structured-types/pointed-equivalences.lagda.md
index 0a852924d2..92fa16ad60 100644
--- a/src/structured-types/pointed-equivalences.lagda.md
+++ b/src/structured-types/pointed-equivalences.lagda.md
@@ -9,15 +9,9 @@ module structured-types.pointed-equivalences where
```agda
open import foundation.action-on-identifications-functions
open import foundation.binary-equivalences
-open import foundation.cartesian-product-types
-open import foundation.commuting-squares-of-identifications
-open import foundation.contractible-maps
-open import foundation.contractible-types
open import foundation.dependent-pair-types
-open import foundation.embeddings
+open import foundation.dependent-products-propositions
open import foundation.equivalences
-open import foundation.fibers-of-maps
-open import foundation.function-extensionality
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
open import foundation.homotopies
@@ -29,7 +23,6 @@ open import foundation.retractions
open import foundation.sections
open import foundation.structure-identity-principle
open import foundation.torsorial-type-families
-open import foundation.transposition-identifications-along-equivalences
open import foundation.type-arithmetic-dependent-pair-types
open import foundation.univalence
open import foundation.universe-levels
diff --git a/src/structured-types/pointed-homotopies.lagda.md b/src/structured-types/pointed-homotopies.lagda.md
index ad8f346c7d..dabdeef3c9 100644
--- a/src/structured-types/pointed-homotopies.lagda.md
+++ b/src/structured-types/pointed-homotopies.lagda.md
@@ -7,25 +7,19 @@ module structured-types.pointed-homotopies where
Imports
```agda
-open import foundation.action-on-higher-identifications-functions
-open import foundation.action-on-identifications-binary-functions
open import foundation.action-on-identifications-functions
open import foundation.binary-equivalences
open import foundation.commuting-triangles-of-identifications
-open import foundation.contractible-types
open import foundation.dependent-pair-types
open import foundation.equivalences
-open import foundation.function-extensionality
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
open import foundation.fundamental-theorem-of-identity-types
open import foundation.homotopies
open import foundation.homotopy-induction
open import foundation.identity-types
-open import foundation.path-algebra
open import foundation.structure-identity-principle
open import foundation.universe-levels
-open import foundation.whiskering-homotopies-composition
open import foundation.whiskering-identifications-concatenation
open import foundation-core.torsorial-type-families
diff --git a/src/structured-types/pointed-isomorphisms.lagda.md b/src/structured-types/pointed-isomorphisms.lagda.md
index f38534a262..524e6b95ff 100644
--- a/src/structured-types/pointed-isomorphisms.lagda.md
+++ b/src/structured-types/pointed-isomorphisms.lagda.md
@@ -11,6 +11,8 @@ open import foundation.cartesian-product-types
open import foundation.contractible-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.identity-types
open import foundation.logical-equivalences
diff --git a/src/structured-types/pointed-types-equipped-with-automorphisms.lagda.md b/src/structured-types/pointed-types-equipped-with-automorphisms.lagda.md
index b97e8e7ae3..fe219df3c9 100644
--- a/src/structured-types/pointed-types-equipped-with-automorphisms.lagda.md
+++ b/src/structured-types/pointed-types-equipped-with-automorphisms.lagda.md
@@ -12,6 +12,7 @@ open import foundation.automorphisms
open import foundation.cartesian-product-types
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
diff --git a/src/structured-types/pointed-universal-property-contractible-types.lagda.md b/src/structured-types/pointed-universal-property-contractible-types.lagda.md
index 296b91ee4b..0e2fbed5a9 100644
--- a/src/structured-types/pointed-universal-property-contractible-types.lagda.md
+++ b/src/structured-types/pointed-universal-property-contractible-types.lagda.md
@@ -10,6 +10,7 @@ module structured-types.pointed-universal-property-contractible-types where
open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.functoriality-dependent-pair-types
open import foundation.identity-types
diff --git a/src/structured-types/small-pointed-types.lagda.md b/src/structured-types/small-pointed-types.lagda.md
index c1ee5d36fa..ef6b80dadf 100644
--- a/src/structured-types/small-pointed-types.lagda.md
+++ b/src/structured-types/small-pointed-types.lagda.md
@@ -9,6 +9,8 @@ module structured-types.small-pointed-types where
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.functoriality-dependent-pair-types
open import foundation.identity-types
diff --git a/src/structured-types/types-equipped-with-endomorphisms.lagda.md b/src/structured-types/types-equipped-with-endomorphisms.lagda.md
index f9e9a9b3d5..beffcc9d59 100644
--- a/src/structured-types/types-equipped-with-endomorphisms.lagda.md
+++ b/src/structured-types/types-equipped-with-endomorphisms.lagda.md
@@ -8,10 +8,12 @@ module structured-types.types-equipped-with-endomorphisms where
```agda
open import foundation.dependent-pair-types
-open import foundation.endomorphisms
-open import foundation.function-types
+open import foundation.raising-universe-levels-unit-type
open import foundation.unit-type
open import foundation.universe-levels
+
+open import foundation-core.endomorphisms
+open import foundation-core.function-types
```
diff --git a/src/synthetic-category-theory/retractions-synthetic-categories.lagda.md b/src/synthetic-category-theory/retractions-synthetic-categories.lagda.md
index 9eefe32176..9c81fdcf53 100644
--- a/src/synthetic-category-theory/retractions-synthetic-categories.lagda.md
+++ b/src/synthetic-category-theory/retractions-synthetic-categories.lagda.md
@@ -9,12 +9,9 @@ module synthetic-category-theory.retractions-synthetic-categories where
Imports
```agda
-open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
open import foundation.universe-levels
-open import globular-types.globular-types
-
open import synthetic-category-theory.synthetic-categories
```
diff --git a/src/synthetic-category-theory/sections-synthetic-categories.lagda.md b/src/synthetic-category-theory/sections-synthetic-categories.lagda.md
index e24866c194..12556a69e2 100644
--- a/src/synthetic-category-theory/sections-synthetic-categories.lagda.md
+++ b/src/synthetic-category-theory/sections-synthetic-categories.lagda.md
@@ -9,12 +9,9 @@ module synthetic-category-theory.sections-synthetic-categories where
Imports
```agda
-open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
open import foundation.universe-levels
-open import globular-types.globular-types
-
open import synthetic-category-theory.synthetic-categories
```
diff --git a/src/synthetic-category-theory/synthetic-categories.lagda.md b/src/synthetic-category-theory/synthetic-categories.lagda.md
index 5deaf488e8..cc5990a41f 100644
--- a/src/synthetic-category-theory/synthetic-categories.lagda.md
+++ b/src/synthetic-category-theory/synthetic-categories.lagda.md
@@ -9,7 +9,6 @@ module synthetic-category-theory.synthetic-categories where
Imports
```agda
-open import foundation.dependent-pair-types
open import foundation.universe-levels
open import globular-types.globular-types
diff --git a/src/synthetic-homotopy-theory/0-acyclic-maps.lagda.md b/src/synthetic-homotopy-theory/0-acyclic-maps.lagda.md
index aaa7ec0e76..d6c1f5c808 100644
--- a/src/synthetic-homotopy-theory/0-acyclic-maps.lagda.md
+++ b/src/synthetic-homotopy-theory/0-acyclic-maps.lagda.md
@@ -7,6 +7,7 @@ module synthetic-homotopy-theory.0-acyclic-maps where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.epimorphisms-with-respect-to-sets
open import foundation.propositions
open import foundation.surjective-maps
diff --git a/src/synthetic-homotopy-theory/0-acyclic-types.lagda.md b/src/synthetic-homotopy-theory/0-acyclic-types.lagda.md
index cdfaabba69..3091974200 100644
--- a/src/synthetic-homotopy-theory/0-acyclic-types.lagda.md
+++ b/src/synthetic-homotopy-theory/0-acyclic-types.lagda.md
@@ -9,6 +9,8 @@ module synthetic-homotopy-theory.0-acyclic-types where
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.functoriality-propositional-truncation
open import foundation.inhabited-types
open import foundation.propositional-truncations
diff --git a/src/synthetic-homotopy-theory/1-acyclic-types.lagda.md b/src/synthetic-homotopy-theory/1-acyclic-types.lagda.md
index 9c3c160c3d..762892288f 100644
--- a/src/synthetic-homotopy-theory/1-acyclic-types.lagda.md
+++ b/src/synthetic-homotopy-theory/1-acyclic-types.lagda.md
@@ -9,12 +9,14 @@ module synthetic-homotopy-theory.1-acyclic-types where
```agda
open import foundation.0-connected-types
open import foundation.binary-transport
-open import foundation.constant-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
+open import foundation.dependent-products-truncated-types
open import foundation.diagonal-maps-of-types
open import foundation.equivalences
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.identity-types
open import foundation.inhabited-types
open import foundation.injective-maps
diff --git a/src/synthetic-homotopy-theory/acyclic-maps.lagda.md b/src/synthetic-homotopy-theory/acyclic-maps.lagda.md
index 60423d0894..da7eea3d78 100644
--- a/src/synthetic-homotopy-theory/acyclic-maps.lagda.md
+++ b/src/synthetic-homotopy-theory/acyclic-maps.lagda.md
@@ -15,6 +15,8 @@ open import foundation.contractible-maps
open import foundation.contractible-types
open import foundation.dependent-epimorphisms
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.dependent-universal-property-equivalences
open import foundation.diagonal-maps-of-types
open import foundation.embeddings
@@ -22,6 +24,7 @@ open import foundation.epimorphisms
open import foundation.equivalences
open import foundation.fibers-of-maps
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.functoriality-dependent-function-types
open import foundation.functoriality-dependent-pair-types
diff --git a/src/synthetic-homotopy-theory/acyclic-types.lagda.md b/src/synthetic-homotopy-theory/acyclic-types.lagda.md
index 35473b70bf..2c75fec76a 100644
--- a/src/synthetic-homotopy-theory/acyclic-types.lagda.md
+++ b/src/synthetic-homotopy-theory/acyclic-types.lagda.md
@@ -8,6 +8,8 @@ module synthetic-homotopy-theory.acyclic-types where
```agda
open import foundation.contractible-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.propositions
open import foundation.retracts-of-types
diff --git a/src/synthetic-homotopy-theory/circle.lagda.md b/src/synthetic-homotopy-theory/circle.lagda.md
index 0340db0b69..c62cde65d3 100644
--- a/src/synthetic-homotopy-theory/circle.lagda.md
+++ b/src/synthetic-homotopy-theory/circle.lagda.md
@@ -15,6 +15,8 @@ open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.dependent-identifications
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.homotopies
diff --git a/src/synthetic-homotopy-theory/cocartesian-morphisms-arrows.lagda.md b/src/synthetic-homotopy-theory/cocartesian-morphisms-arrows.lagda.md
index 9e34713e9c..9d0c9111df 100644
--- a/src/synthetic-homotopy-theory/cocartesian-morphisms-arrows.lagda.md
+++ b/src/synthetic-homotopy-theory/cocartesian-morphisms-arrows.lagda.md
@@ -9,6 +9,7 @@ module synthetic-homotopy-theory.cocartesian-morphisms-arrows where
```agda
open import foundation.commuting-squares-of-maps
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.morphisms-arrows
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/synthetic-homotopy-theory/codiagonals-of-maps.lagda.md b/src/synthetic-homotopy-theory/codiagonals-of-maps.lagda.md
index b483d3e9a8..d7cfb09edb 100644
--- a/src/synthetic-homotopy-theory/codiagonals-of-maps.lagda.md
+++ b/src/synthetic-homotopy-theory/codiagonals-of-maps.lagda.md
@@ -9,6 +9,7 @@ module synthetic-homotopy-theory.codiagonals-of-maps where
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.fibers-of-maps
open import foundation.function-types
diff --git a/src/synthetic-homotopy-theory/cofibers-of-maps.lagda.md b/src/synthetic-homotopy-theory/cofibers-of-maps.lagda.md
index 09fde243e6..133500a665 100644
--- a/src/synthetic-homotopy-theory/cofibers-of-maps.lagda.md
+++ b/src/synthetic-homotopy-theory/cofibers-of-maps.lagda.md
@@ -7,9 +7,9 @@ module synthetic-homotopy-theory.cofibers-of-maps where
Imports
```agda
-open import foundation.constant-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.unit-type
open import foundation.universe-levels
diff --git a/src/synthetic-homotopy-theory/cofibers-of-pointed-maps.lagda.md b/src/synthetic-homotopy-theory/cofibers-of-pointed-maps.lagda.md
index 87be7c63e3..0da2de0601 100644
--- a/src/synthetic-homotopy-theory/cofibers-of-pointed-maps.lagda.md
+++ b/src/synthetic-homotopy-theory/cofibers-of-pointed-maps.lagda.md
@@ -7,11 +7,6 @@ module synthetic-homotopy-theory.cofibers-of-pointed-maps where
Imports
```agda
-open import foundation.constant-maps
-open import foundation.contractible-types
-open import foundation.dependent-pair-types
-open import foundation.equivalences
-open import foundation.unit-type
open import foundation.universe-levels
open import structured-types.pointed-maps
@@ -19,13 +14,7 @@ open import structured-types.pointed-types
open import structured-types.pointed-unit-type
open import synthetic-homotopy-theory.cocones-under-pointed-span-diagrams
-open import synthetic-homotopy-theory.cocones-under-spans
-open import synthetic-homotopy-theory.cofibers-of-maps
-open import synthetic-homotopy-theory.dependent-cocones-under-spans
-open import synthetic-homotopy-theory.dependent-universal-property-pushouts
-open import synthetic-homotopy-theory.pushouts
open import synthetic-homotopy-theory.pushouts-of-pointed-types
-open import synthetic-homotopy-theory.universal-property-pushouts
```
diff --git a/src/synthetic-homotopy-theory/coforks.lagda.md b/src/synthetic-homotopy-theory/coforks.lagda.md
index fa5ea65e19..e28ffce6cf 100644
--- a/src/synthetic-homotopy-theory/coforks.lagda.md
+++ b/src/synthetic-homotopy-theory/coforks.lagda.md
@@ -13,6 +13,7 @@ open import foundation.commuting-triangles-of-maps
open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.double-arrows
open import foundation.equivalences
open import foundation.equivalences-double-arrows
diff --git a/src/synthetic-homotopy-theory/connected-set-bundles-circle.lagda.md b/src/synthetic-homotopy-theory/connected-set-bundles-circle.lagda.md
index 46a02e248f..76120bc8ef 100644
--- a/src/synthetic-homotopy-theory/connected-set-bundles-circle.lagda.md
+++ b/src/synthetic-homotopy-theory/connected-set-bundles-circle.lagda.md
@@ -10,6 +10,7 @@ module synthetic-homotopy-theory.connected-set-bundles-circle where
open import foundation.0-connected-types
open import foundation.automorphisms
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.identity-types
diff --git a/src/synthetic-homotopy-theory/connective-prespectra.lagda.md b/src/synthetic-homotopy-theory/connective-prespectra.lagda.md
index db0ebe5577..fa63fba4ad 100644
--- a/src/synthetic-homotopy-theory/connective-prespectra.lagda.md
+++ b/src/synthetic-homotopy-theory/connective-prespectra.lagda.md
@@ -11,6 +11,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.connected-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.identity-types
diff --git a/src/synthetic-homotopy-theory/connective-spectra.lagda.md b/src/synthetic-homotopy-theory/connective-spectra.lagda.md
index 939ec9243c..00487ab199 100644
--- a/src/synthetic-homotopy-theory/connective-spectra.lagda.md
+++ b/src/synthetic-homotopy-theory/connective-spectra.lagda.md
@@ -11,6 +11,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.connected-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.identity-types
diff --git a/src/synthetic-homotopy-theory/dependent-cocones-under-spans.lagda.md b/src/synthetic-homotopy-theory/dependent-cocones-under-spans.lagda.md
index cfba684dd3..998a73b967 100644
--- a/src/synthetic-homotopy-theory/dependent-cocones-under-spans.lagda.md
+++ b/src/synthetic-homotopy-theory/dependent-cocones-under-spans.lagda.md
@@ -16,6 +16,7 @@ open import foundation.contractible-types
open import foundation.dependent-homotopies
open import foundation.dependent-identifications
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
open import foundation.function-extensionality
diff --git a/src/synthetic-homotopy-theory/dependent-descent-circle.lagda.md b/src/synthetic-homotopy-theory/dependent-descent-circle.lagda.md
index a847a0abfa..f5c185e626 100644
--- a/src/synthetic-homotopy-theory/dependent-descent-circle.lagda.md
+++ b/src/synthetic-homotopy-theory/dependent-descent-circle.lagda.md
@@ -10,6 +10,7 @@ module synthetic-homotopy-theory.dependent-descent-circle where
open import foundation.commuting-squares-of-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/synthetic-homotopy-theory/dependent-pushout-products.lagda.md b/src/synthetic-homotopy-theory/dependent-pushout-products.lagda.md
index 265ce6a2c9..aa717c78ab 100644
--- a/src/synthetic-homotopy-theory/dependent-pushout-products.lagda.md
+++ b/src/synthetic-homotopy-theory/dependent-pushout-products.lagda.md
@@ -9,6 +9,7 @@ module synthetic-homotopy-theory.dependent-pushout-products where
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
open import foundation.homotopies
diff --git a/src/synthetic-homotopy-theory/dependent-universal-property-coequalizers.lagda.md b/src/synthetic-homotopy-theory/dependent-universal-property-coequalizers.lagda.md
index ba60811fcb..370b13e504 100644
--- a/src/synthetic-homotopy-theory/dependent-universal-property-coequalizers.lagda.md
+++ b/src/synthetic-homotopy-theory/dependent-universal-property-coequalizers.lagda.md
@@ -10,6 +10,7 @@ module synthetic-homotopy-theory.dependent-universal-property-coequalizers where
open import foundation.contractible-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.double-arrows
open import foundation.equivalences
open import foundation.fibers-of-maps
diff --git a/src/synthetic-homotopy-theory/dependent-universal-property-pushouts.lagda.md b/src/synthetic-homotopy-theory/dependent-universal-property-pushouts.lagda.md
index 22394d4c95..7b5f4e6aba 100644
--- a/src/synthetic-homotopy-theory/dependent-universal-property-pushouts.lagda.md
+++ b/src/synthetic-homotopy-theory/dependent-universal-property-pushouts.lagda.md
@@ -11,10 +11,12 @@ open import foundation.action-on-identifications-dependent-functions
open import foundation.contractible-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
open import foundation.fibers-of-maps
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
open import foundation.homotopies
diff --git a/src/synthetic-homotopy-theory/dependent-universal-property-sequential-colimits.lagda.md b/src/synthetic-homotopy-theory/dependent-universal-property-sequential-colimits.lagda.md
index 449c744b8e..958bfea56f 100644
--- a/src/synthetic-homotopy-theory/dependent-universal-property-sequential-colimits.lagda.md
+++ b/src/synthetic-homotopy-theory/dependent-universal-property-sequential-colimits.lagda.md
@@ -12,6 +12,7 @@ open import foundation.commuting-triangles-of-maps
open import foundation.contractible-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.fibers-of-maps
open import foundation.function-types
diff --git a/src/synthetic-homotopy-theory/descent-circle-equivalence-types.lagda.md b/src/synthetic-homotopy-theory/descent-circle-equivalence-types.lagda.md
index cec4371a5e..2c323e24df 100644
--- a/src/synthetic-homotopy-theory/descent-circle-equivalence-types.lagda.md
+++ b/src/synthetic-homotopy-theory/descent-circle-equivalence-types.lagda.md
@@ -9,6 +9,7 @@ module synthetic-homotopy-theory.descent-circle-equivalence-types where
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.functoriality-dependent-pair-types
open import foundation.universe-levels
diff --git a/src/synthetic-homotopy-theory/descent-circle-subtypes.lagda.md b/src/synthetic-homotopy-theory/descent-circle-subtypes.lagda.md
index 8b2ed00fc2..d747a7a170 100644
--- a/src/synthetic-homotopy-theory/descent-circle-subtypes.lagda.md
+++ b/src/synthetic-homotopy-theory/descent-circle-subtypes.lagda.md
@@ -9,6 +9,7 @@ module synthetic-homotopy-theory.descent-circle-subtypes where
```agda
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.functoriality-dependent-pair-types
open import foundation.identity-types
diff --git a/src/synthetic-homotopy-theory/descent-circle.lagda.md b/src/synthetic-homotopy-theory/descent-circle.lagda.md
index 8adc5c7904..32ae4d93c8 100644
--- a/src/synthetic-homotopy-theory/descent-circle.lagda.md
+++ b/src/synthetic-homotopy-theory/descent-circle.lagda.md
@@ -13,9 +13,10 @@ open import foundation.commuting-triangles-of-maps
open import foundation.contractible-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.fibers-of-maps
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
open import foundation.identity-types
diff --git a/src/synthetic-homotopy-theory/descent-data-equivalence-types-over-pushouts.lagda.md b/src/synthetic-homotopy-theory/descent-data-equivalence-types-over-pushouts.lagda.md
index 7095433e23..7074a42649 100644
--- a/src/synthetic-homotopy-theory/descent-data-equivalence-types-over-pushouts.lagda.md
+++ b/src/synthetic-homotopy-theory/descent-data-equivalence-types-over-pushouts.lagda.md
@@ -14,6 +14,7 @@ open import foundation.commuting-triangles-of-maps
open import foundation.contractible-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalence-extensionality
open import foundation.equivalences
open import foundation.fibers-of-maps
diff --git a/src/synthetic-homotopy-theory/descent-data-function-types-over-pushouts.lagda.md b/src/synthetic-homotopy-theory/descent-data-function-types-over-pushouts.lagda.md
index ac284b320a..333f7520a2 100644
--- a/src/synthetic-homotopy-theory/descent-data-function-types-over-pushouts.lagda.md
+++ b/src/synthetic-homotopy-theory/descent-data-function-types-over-pushouts.lagda.md
@@ -14,9 +14,11 @@ open import foundation.commuting-triangles-of-maps
open import foundation.contractible-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.fibers-of-maps
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.functoriality-dependent-function-types
open import foundation.functoriality-dependent-pair-types
diff --git a/src/synthetic-homotopy-theory/descent-property-pushouts.lagda.md b/src/synthetic-homotopy-theory/descent-property-pushouts.lagda.md
index 6d1f56638f..354b3f347a 100644
--- a/src/synthetic-homotopy-theory/descent-property-pushouts.lagda.md
+++ b/src/synthetic-homotopy-theory/descent-property-pushouts.lagda.md
@@ -11,6 +11,7 @@ open import foundation.commuting-triangles-of-maps
open import foundation.contractible-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
open import foundation.fibers-of-maps
diff --git a/src/synthetic-homotopy-theory/free-loops.lagda.md b/src/synthetic-homotopy-theory/free-loops.lagda.md
index 2ca408cc36..06fa0b3416 100644
--- a/src/synthetic-homotopy-theory/free-loops.lagda.md
+++ b/src/synthetic-homotopy-theory/free-loops.lagda.md
@@ -11,6 +11,7 @@ open import foundation.action-on-identifications-functions
open import foundation.constant-type-families
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.functoriality-dependent-pair-types
open import foundation.fundamental-theorem-of-identity-types
diff --git a/src/synthetic-homotopy-theory/functoriality-sequential-colimits.lagda.md b/src/synthetic-homotopy-theory/functoriality-sequential-colimits.lagda.md
index e978bc0554..52944f00cd 100644
--- a/src/synthetic-homotopy-theory/functoriality-sequential-colimits.lagda.md
+++ b/src/synthetic-homotopy-theory/functoriality-sequential-colimits.lagda.md
@@ -15,9 +15,8 @@ open import foundation.commuting-squares-of-homotopies
open import foundation.commuting-squares-of-maps
open import foundation.dependent-pair-types
open import foundation.equivalences
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
-open import foundation.functoriality-dependent-pair-types
open import foundation.homotopies
open import foundation.retractions
open import foundation.retracts-of-types
diff --git a/src/synthetic-homotopy-theory/functoriality-suspensions.lagda.md b/src/synthetic-homotopy-theory/functoriality-suspensions.lagda.md
index c5706895d6..477236e983 100644
--- a/src/synthetic-homotopy-theory/functoriality-suspensions.lagda.md
+++ b/src/synthetic-homotopy-theory/functoriality-suspensions.lagda.md
@@ -12,6 +12,7 @@ open import foundation.commuting-squares-of-identifications
open import foundation.dependent-pair-types
open import foundation.equivalences
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.homotopies
open import foundation.identity-types
diff --git a/src/synthetic-homotopy-theory/hatchers-acyclic-type.lagda.md b/src/synthetic-homotopy-theory/hatchers-acyclic-type.lagda.md
index 10609483e0..8edd725590 100644
--- a/src/synthetic-homotopy-theory/hatchers-acyclic-type.lagda.md
+++ b/src/synthetic-homotopy-theory/hatchers-acyclic-type.lagda.md
@@ -13,6 +13,7 @@ open import foundation.cartesian-product-types
open import foundation.commuting-squares-of-identifications
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.functoriality-cartesian-product-types
open import foundation.functoriality-dependent-pair-types
diff --git a/src/synthetic-homotopy-theory/homotopy-groups.lagda.md b/src/synthetic-homotopy-theory/homotopy-groups.lagda.md
index 5d30f801f9..2576e23f3b 100644
--- a/src/synthetic-homotopy-theory/homotopy-groups.lagda.md
+++ b/src/synthetic-homotopy-theory/homotopy-groups.lagda.md
@@ -9,12 +9,9 @@ module synthetic-homotopy-theory.homotopy-groups where
```agda
open import elementary-number-theory.natural-numbers
-open import foundation.connected-components
open import foundation.dependent-pair-types
open import foundation.set-truncations
open import foundation.sets
-open import foundation.truncation-levels
-open import foundation.truncations
open import foundation.universe-levels
open import group-theory.concrete-groups
diff --git a/src/synthetic-homotopy-theory/identity-systems-descent-data-pushouts.lagda.md b/src/synthetic-homotopy-theory/identity-systems-descent-data-pushouts.lagda.md
index ed4ca2232d..4e1a490d3c 100644
--- a/src/synthetic-homotopy-theory/identity-systems-descent-data-pushouts.lagda.md
+++ b/src/synthetic-homotopy-theory/identity-systems-descent-data-pushouts.lagda.md
@@ -12,6 +12,7 @@ module synthetic-homotopy-theory.identity-systems-descent-data-pushouts where
open import foundation.commuting-squares-of-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
diff --git a/src/synthetic-homotopy-theory/infinite-cyclic-types.lagda.md b/src/synthetic-homotopy-theory/infinite-cyclic-types.lagda.md
index bab47be956..6540c13dfb 100644
--- a/src/synthetic-homotopy-theory/infinite-cyclic-types.lagda.md
+++ b/src/synthetic-homotopy-theory/infinite-cyclic-types.lagda.md
@@ -8,6 +8,7 @@ module synthetic-homotopy-theory.infinite-cyclic-types where
```agda
open import elementary-number-theory.addition-integers
+open import elementary-number-theory.group-of-integers
open import elementary-number-theory.integers
open import elementary-number-theory.natural-numbers
@@ -15,8 +16,10 @@ open import foundation.action-on-identifications-functions
open import foundation.contractible-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.functoriality-dependent-function-types
open import foundation.functoriality-dependent-pair-types
@@ -24,11 +27,12 @@ open import foundation.homotopies
open import foundation.identity-types
open import foundation.propositional-truncations
open import foundation.propositions
-open import foundation.raising-universe-levels
open import foundation.torsorial-type-families
open import foundation.type-arithmetic-dependent-pair-types
open import foundation.universe-levels
+open import foundation-core.raising-universe-levels
+
open import structured-types.equivalences-types-equipped-with-endomorphisms
open import structured-types.initial-pointed-type-equipped-with-automorphism
open import structured-types.mere-equivalences-types-equipped-with-endomorphisms
diff --git a/src/synthetic-homotopy-theory/interval-type.lagda.md b/src/synthetic-homotopy-theory/interval-type.lagda.md
index eb421618ba..b918ea9cf6 100644
--- a/src/synthetic-homotopy-theory/interval-type.lagda.md
+++ b/src/synthetic-homotopy-theory/interval-type.lagda.md
@@ -13,6 +13,7 @@ open import foundation.commuting-squares-of-identifications
open import foundation.contractible-types
open import foundation.dependent-identifications
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.function-extensionality
open import foundation.homotopies
diff --git a/src/synthetic-homotopy-theory/joins-of-maps.lagda.md b/src/synthetic-homotopy-theory/joins-of-maps.lagda.md
index d31b23c331..d9aa3e0bb4 100644
--- a/src/synthetic-homotopy-theory/joins-of-maps.lagda.md
+++ b/src/synthetic-homotopy-theory/joins-of-maps.lagda.md
@@ -9,6 +9,7 @@ module synthetic-homotopy-theory.joins-of-maps where
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.function-types
open import foundation.homotopies
open import foundation.standard-pullbacks
diff --git a/src/synthetic-homotopy-theory/joins-of-types.lagda.md b/src/synthetic-homotopy-theory/joins-of-types.lagda.md
index 8b6ea38172..9bac4da444 100644
--- a/src/synthetic-homotopy-theory/joins-of-types.lagda.md
+++ b/src/synthetic-homotopy-theory/joins-of-types.lagda.md
@@ -11,6 +11,8 @@ open import foundation.action-on-identifications-functions
open import foundation.cartesian-product-types
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.disjunction
open import foundation.empty-types
open import foundation.equivalences
diff --git a/src/synthetic-homotopy-theory/loop-homotopy-circle.lagda.md b/src/synthetic-homotopy-theory/loop-homotopy-circle.lagda.md
index 492b1150f2..350415b83a 100644
--- a/src/synthetic-homotopy-theory/loop-homotopy-circle.lagda.md
+++ b/src/synthetic-homotopy-theory/loop-homotopy-circle.lagda.md
@@ -7,19 +7,11 @@ module synthetic-homotopy-theory.loop-homotopy-circle where
Imports
```agda
-open import foundation.action-on-identifications-functions
-open import foundation.dependent-pair-types
-open import foundation.function-extensionality
open import foundation.function-types
open import foundation.homotopies
open import foundation.identity-types
open import foundation.negated-equality
open import foundation.negation
-open import foundation.transport-along-identifications
-open import foundation.universe-levels
-
-open import structured-types.pointed-homotopies
-open import structured-types.pointed-maps
open import synthetic-homotopy-theory.circle
```
diff --git a/src/synthetic-homotopy-theory/mere-spheres.lagda.md b/src/synthetic-homotopy-theory/mere-spheres.lagda.md
index 70a895594b..4f85792d61 100644
--- a/src/synthetic-homotopy-theory/mere-spheres.lagda.md
+++ b/src/synthetic-homotopy-theory/mere-spheres.lagda.md
@@ -12,6 +12,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.dependent-pair-types
open import foundation.mere-equivalences
open import foundation.propositions
+open import foundation.dependent-products-propositions
open import foundation.universe-levels
open import synthetic-homotopy-theory.spheres
diff --git a/src/synthetic-homotopy-theory/multiplication-circle.lagda.md b/src/synthetic-homotopy-theory/multiplication-circle.lagda.md
index cb1de4f9ff..7e6b3a6784 100644
--- a/src/synthetic-homotopy-theory/multiplication-circle.lagda.md
+++ b/src/synthetic-homotopy-theory/multiplication-circle.lagda.md
@@ -9,12 +9,9 @@ module synthetic-homotopy-theory.multiplication-circle where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
-open import foundation.function-extensionality
-open import foundation.function-types
+open import foundation.function-extensionality-axiom
open import foundation.homotopies
open import foundation.identity-types
-open import foundation.negated-equality
-open import foundation.negation
open import foundation.transport-along-identifications
open import foundation.universe-levels
diff --git a/src/synthetic-homotopy-theory/plus-principle.lagda.md b/src/synthetic-homotopy-theory/plus-principle.lagda.md
index 30af8ac24a..2f40459889 100644
--- a/src/synthetic-homotopy-theory/plus-principle.lagda.md
+++ b/src/synthetic-homotopy-theory/plus-principle.lagda.md
@@ -9,6 +9,7 @@ module synthetic-homotopy-theory.plus-principle where
```agda
open import foundation.connected-types
open import foundation.contractible-types
+open import foundation.dependent-products-contractible-types
open import foundation.truncation-levels
open import foundation.universe-levels
diff --git a/src/synthetic-homotopy-theory/pushout-products.lagda.md b/src/synthetic-homotopy-theory/pushout-products.lagda.md
index 5756497b68..f7d724635b 100644
--- a/src/synthetic-homotopy-theory/pushout-products.lagda.md
+++ b/src/synthetic-homotopy-theory/pushout-products.lagda.md
@@ -10,6 +10,7 @@ module synthetic-homotopy-theory.pushout-products where
open import foundation.cartesian-product-types
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.function-types
open import foundation.functoriality-cartesian-product-types
open import foundation.homotopies
diff --git a/src/synthetic-homotopy-theory/pushouts.lagda.md b/src/synthetic-homotopy-theory/pushouts.lagda.md
index 1b5112681f..5404a80214 100644
--- a/src/synthetic-homotopy-theory/pushouts.lagda.md
+++ b/src/synthetic-homotopy-theory/pushouts.lagda.md
@@ -12,6 +12,7 @@ open import foundation.action-on-identifications-functions
open import foundation.commuting-squares-of-maps
open import foundation.constant-type-families
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.fibers-of-maps
open import foundation.function-types
diff --git a/src/synthetic-homotopy-theory/sections-descent-circle.lagda.md b/src/synthetic-homotopy-theory/sections-descent-circle.lagda.md
index 77c8924b1c..3d4f95adb6 100644
--- a/src/synthetic-homotopy-theory/sections-descent-circle.lagda.md
+++ b/src/synthetic-homotopy-theory/sections-descent-circle.lagda.md
@@ -16,6 +16,7 @@ open import foundation.contractible-maps
open import foundation.contractible-types
open import foundation.dependent-identifications
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.fibers-of-maps
open import foundation.function-types
diff --git a/src/synthetic-homotopy-theory/sections-descent-data-pushouts.lagda.md b/src/synthetic-homotopy-theory/sections-descent-data-pushouts.lagda.md
index 583235db13..eea674b2a3 100644
--- a/src/synthetic-homotopy-theory/sections-descent-data-pushouts.lagda.md
+++ b/src/synthetic-homotopy-theory/sections-descent-data-pushouts.lagda.md
@@ -14,6 +14,7 @@ open import foundation.commuting-triangles-of-maps
open import foundation.contractible-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.embeddings
open import foundation.equivalences
open import foundation.fibers-of-maps
diff --git a/src/synthetic-homotopy-theory/sequential-colimits.lagda.md b/src/synthetic-homotopy-theory/sequential-colimits.lagda.md
index e0767413bd..5c95c77a2a 100644
--- a/src/synthetic-homotopy-theory/sequential-colimits.lagda.md
+++ b/src/synthetic-homotopy-theory/sequential-colimits.lagda.md
@@ -11,6 +11,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.commuting-triangles-of-maps
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-dependent-function-types
diff --git a/src/synthetic-homotopy-theory/sequential-diagrams.lagda.md b/src/synthetic-homotopy-theory/sequential-diagrams.lagda.md
index 44b7e094cb..fb32e15967 100644
--- a/src/synthetic-homotopy-theory/sequential-diagrams.lagda.md
+++ b/src/synthetic-homotopy-theory/sequential-diagrams.lagda.md
@@ -11,6 +11,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.universe-levels
```
diff --git a/src/synthetic-homotopy-theory/sequentially-compact-types.lagda.md b/src/synthetic-homotopy-theory/sequentially-compact-types.lagda.md
index bd20d04559..17d79d1bf5 100644
--- a/src/synthetic-homotopy-theory/sequentially-compact-types.lagda.md
+++ b/src/synthetic-homotopy-theory/sequentially-compact-types.lagda.md
@@ -7,6 +7,7 @@ module synthetic-homotopy-theory.sequentially-compact-types where
Imports
```agda
+open import foundation.dependent-products-propositions
open import foundation.propositions
open import foundation.universe-levels
diff --git a/src/synthetic-homotopy-theory/shifts-sequential-diagrams.lagda.md b/src/synthetic-homotopy-theory/shifts-sequential-diagrams.lagda.md
index c7c6e22f6f..18c138e0d7 100644
--- a/src/synthetic-homotopy-theory/shifts-sequential-diagrams.lagda.md
+++ b/src/synthetic-homotopy-theory/shifts-sequential-diagrams.lagda.md
@@ -12,6 +12,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.commuting-triangles-of-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.function-types
open import foundation.homotopies
diff --git a/src/synthetic-homotopy-theory/smash-products-of-pointed-types.lagda.md b/src/synthetic-homotopy-theory/smash-products-of-pointed-types.lagda.md
index b23c3d17b8..92f38de1c4 100644
--- a/src/synthetic-homotopy-theory/smash-products-of-pointed-types.lagda.md
+++ b/src/synthetic-homotopy-theory/smash-products-of-pointed-types.lagda.md
@@ -25,10 +25,8 @@ open import structured-types.pointed-types
open import structured-types.pointed-unit-type
open import synthetic-homotopy-theory.cocones-under-pointed-span-diagrams
-open import synthetic-homotopy-theory.cofibers-of-maps
open import synthetic-homotopy-theory.cofibers-of-pointed-maps
open import synthetic-homotopy-theory.pushouts
-open import synthetic-homotopy-theory.pushouts-of-pointed-types
open import synthetic-homotopy-theory.wedges-of-pointed-types
```
diff --git a/src/synthetic-homotopy-theory/spectra.lagda.md b/src/synthetic-homotopy-theory/spectra.lagda.md
index ba8278a8ec..86a543ac45 100644
--- a/src/synthetic-homotopy-theory/spectra.lagda.md
+++ b/src/synthetic-homotopy-theory/spectra.lagda.md
@@ -10,6 +10,7 @@ module synthetic-homotopy-theory.spectra where
open import elementary-number-theory.natural-numbers
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.identity-types
diff --git a/src/synthetic-homotopy-theory/suspension-structures.lagda.md b/src/synthetic-homotopy-theory/suspension-structures.lagda.md
index 7d579d350f..c12c083f52 100644
--- a/src/synthetic-homotopy-theory/suspension-structures.lagda.md
+++ b/src/synthetic-homotopy-theory/suspension-structures.lagda.md
@@ -12,6 +12,7 @@ open import foundation.commuting-squares-of-identifications
open import foundation.constant-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.function-extensionality
open import foundation.function-types
diff --git a/src/synthetic-homotopy-theory/suspensions-of-propositions.lagda.md b/src/synthetic-homotopy-theory/suspensions-of-propositions.lagda.md
index 95d058f84b..1735e6f4c2 100644
--- a/src/synthetic-homotopy-theory/suspensions-of-propositions.lagda.md
+++ b/src/synthetic-homotopy-theory/suspensions-of-propositions.lagda.md
@@ -10,14 +10,18 @@ module synthetic-homotopy-theory.suspensions-of-propositions where
open import foundation.booleans
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.existential-quantification
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.fundamental-theorem-of-identity-types
open import foundation.homotopies
open import foundation.identity-types
open import foundation.propositions
+open import foundation.raising-universe-levels-unit-type
open import foundation.sets
open import foundation.subsingleton-induction
open import foundation.surjective-maps
diff --git a/src/synthetic-homotopy-theory/suspensions-of-types.lagda.md b/src/synthetic-homotopy-theory/suspensions-of-types.lagda.md
index b0d6084cbc..966ca3860e 100644
--- a/src/synthetic-homotopy-theory/suspensions-of-types.lagda.md
+++ b/src/synthetic-homotopy-theory/suspensions-of-types.lagda.md
@@ -16,6 +16,9 @@ open import foundation.constant-maps
open import foundation.contractible-types
open import foundation.dependent-identifications
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
+open import foundation.dependent-products-truncated-types
open import foundation.diagonal-maps-of-types
open import foundation.equivalence-extensionality
open import foundation.equivalences
diff --git a/src/synthetic-homotopy-theory/truncated-acyclic-maps.lagda.md b/src/synthetic-homotopy-theory/truncated-acyclic-maps.lagda.md
index 88c1339d10..952d0dff26 100644
--- a/src/synthetic-homotopy-theory/truncated-acyclic-maps.lagda.md
+++ b/src/synthetic-homotopy-theory/truncated-acyclic-maps.lagda.md
@@ -13,9 +13,10 @@ open import foundation.cones-over-cospan-diagrams
open import foundation.connected-maps
open import foundation.connected-types
open import foundation.constant-maps
-open import foundation.contractible-types
open import foundation.dependent-epimorphisms-with-respect-to-truncated-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
+open import foundation.dependent-products-truncated-types
open import foundation.dependent-universal-property-equivalences
open import foundation.diagonal-maps-of-types
open import foundation.embeddings
@@ -23,6 +24,7 @@ open import foundation.epimorphisms-with-respect-to-truncated-types
open import foundation.equivalences
open import foundation.fibers-of-maps
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.functoriality-dependent-function-types
open import foundation.functoriality-dependent-pair-types
@@ -51,7 +53,6 @@ open import foundation.universe-levels
open import synthetic-homotopy-theory.cocones-under-spans
open import synthetic-homotopy-theory.codiagonals-of-maps
open import synthetic-homotopy-theory.pushouts
-open import synthetic-homotopy-theory.suspensions-of-types
open import synthetic-homotopy-theory.truncated-acyclic-types
open import synthetic-homotopy-theory.universal-property-pushouts
```
diff --git a/src/synthetic-homotopy-theory/truncated-acyclic-types.lagda.md b/src/synthetic-homotopy-theory/truncated-acyclic-types.lagda.md
index 6324c36e58..fcebd3d790 100644
--- a/src/synthetic-homotopy-theory/truncated-acyclic-types.lagda.md
+++ b/src/synthetic-homotopy-theory/truncated-acyclic-types.lagda.md
@@ -9,6 +9,8 @@ module synthetic-homotopy-theory.truncated-acyclic-types where
```agda
open import foundation.connected-types
open import foundation.contractible-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.propositions
open import foundation.retracts-of-types
diff --git a/src/synthetic-homotopy-theory/universal-cover-circle.lagda.md b/src/synthetic-homotopy-theory/universal-cover-circle.lagda.md
index 2d69b1844c..cfed6ad47e 100644
--- a/src/synthetic-homotopy-theory/universal-cover-circle.lagda.md
+++ b/src/synthetic-homotopy-theory/universal-cover-circle.lagda.md
@@ -9,6 +9,7 @@ module synthetic-homotopy-theory.universal-cover-circle where
Imports
```agda
+open import elementary-number-theory.equality-integers
open import elementary-number-theory.integers
open import elementary-number-theory.nonzero-integers
open import elementary-number-theory.universal-property-integers
@@ -18,6 +19,7 @@ open import foundation.action-on-identifications-functions
open import foundation.commuting-squares-of-maps
open import foundation.dependent-identifications
open import foundation.dependent-pair-types
+open import foundation.dependent-products-truncated-types
open import foundation.dependent-universal-property-equivalences
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
@@ -32,7 +34,6 @@ open import foundation.injective-maps
open import foundation.negated-equality
open import foundation.negation
open import foundation.precomposition-dependent-functions
-open import foundation.raising-universe-levels
open import foundation.sets
open import foundation.torsorial-type-families
open import foundation.transport-along-identifications
@@ -40,6 +41,8 @@ open import foundation.truncated-types
open import foundation.truncation-levels
open import foundation.universe-levels
+open import foundation-core.raising-universe-levels
+
open import synthetic-homotopy-theory.descent-circle
open import synthetic-homotopy-theory.free-loops
open import synthetic-homotopy-theory.loop-spaces
diff --git a/src/synthetic-homotopy-theory/universal-property-circle.lagda.md b/src/synthetic-homotopy-theory/universal-property-circle.lagda.md
index 9698cb554f..1b32f484dd 100644
--- a/src/synthetic-homotopy-theory/universal-property-circle.lagda.md
+++ b/src/synthetic-homotopy-theory/universal-property-circle.lagda.md
@@ -13,6 +13,8 @@ open import foundation.constant-type-families
open import foundation.contractible-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.fibers-of-maps
open import foundation.function-extensionality
diff --git a/src/synthetic-homotopy-theory/universal-property-coequalizers.lagda.md b/src/synthetic-homotopy-theory/universal-property-coequalizers.lagda.md
index 14abaccfc2..e880269ee1 100644
--- a/src/synthetic-homotopy-theory/universal-property-coequalizers.lagda.md
+++ b/src/synthetic-homotopy-theory/universal-property-coequalizers.lagda.md
@@ -13,6 +13,7 @@ open import foundation.contractible-maps
open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.double-arrows
open import foundation.equivalences
open import foundation.equivalences-double-arrows
diff --git a/src/synthetic-homotopy-theory/universal-property-pushouts.lagda.md b/src/synthetic-homotopy-theory/universal-property-pushouts.lagda.md
index 06f4082d85..6ad1862827 100644
--- a/src/synthetic-homotopy-theory/universal-property-pushouts.lagda.md
+++ b/src/synthetic-homotopy-theory/universal-property-pushouts.lagda.md
@@ -16,10 +16,12 @@ open import foundation.cones-over-cospan-diagrams
open import foundation.contractible-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
open import foundation.fibers-of-maps
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
open import foundation.homotopies
diff --git a/src/synthetic-homotopy-theory/universal-property-sequential-colimits.lagda.md b/src/synthetic-homotopy-theory/universal-property-sequential-colimits.lagda.md
index e214baf664..369e6dc327 100644
--- a/src/synthetic-homotopy-theory/universal-property-sequential-colimits.lagda.md
+++ b/src/synthetic-homotopy-theory/universal-property-sequential-colimits.lagda.md
@@ -15,9 +15,10 @@ open import foundation.commuting-triangles-of-maps
open import foundation.contractible-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.fibers-of-maps
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
open import foundation.homotopies
diff --git a/src/synthetic-homotopy-theory/universal-property-suspensions-of-pointed-types.lagda.md b/src/synthetic-homotopy-theory/universal-property-suspensions-of-pointed-types.lagda.md
index a8b0a7025c..8851078960 100644
--- a/src/synthetic-homotopy-theory/universal-property-suspensions-of-pointed-types.lagda.md
+++ b/src/synthetic-homotopy-theory/universal-property-suspensions-of-pointed-types.lagda.md
@@ -9,6 +9,7 @@ module synthetic-homotopy-theory.universal-property-suspensions-of-pointed-types
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
diff --git a/src/trees/bases-directed-trees.lagda.md b/src/trees/bases-directed-trees.lagda.md
index 2e96641277..c5c64f75d2 100644
--- a/src/trees/bases-directed-trees.lagda.md
+++ b/src/trees/bases-directed-trees.lagda.md
@@ -13,6 +13,8 @@ open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
diff --git a/src/trees/bases-enriched-directed-trees.lagda.md b/src/trees/bases-enriched-directed-trees.lagda.md
index 6d2feee2cc..6415de0b55 100644
--- a/src/trees/bases-enriched-directed-trees.lagda.md
+++ b/src/trees/bases-enriched-directed-trees.lagda.md
@@ -10,6 +10,7 @@ module trees.bases-enriched-directed-trees where
open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-coproduct-types
diff --git a/src/trees/bounded-multisets.lagda.md b/src/trees/bounded-multisets.lagda.md
index ceda35ae57..da84d060e6 100644
--- a/src/trees/bounded-multisets.lagda.md
+++ b/src/trees/bounded-multisets.lagda.md
@@ -10,6 +10,7 @@ module trees.bounded-multisets where
open import elementary-number-theory.natural-numbers
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.existential-quantification
open import foundation.propositions
diff --git a/src/trees/combinator-directed-trees.lagda.md b/src/trees/combinator-directed-trees.lagda.md
index 4d2862298f..ed2597b24a 100644
--- a/src/trees/combinator-directed-trees.lagda.md
+++ b/src/trees/combinator-directed-trees.lagda.md
@@ -12,6 +12,8 @@ open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
diff --git a/src/trees/directed-trees.lagda.md b/src/trees/directed-trees.lagda.md
index 5c60f5b264..8a27a0c963 100644
--- a/src/trees/directed-trees.lagda.md
+++ b/src/trees/directed-trees.lagda.md
@@ -15,6 +15,8 @@ open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
diff --git a/src/trees/empty-multisets.lagda.md b/src/trees/empty-multisets.lagda.md
index d31b3e8a6b..be9b34f19a 100644
--- a/src/trees/empty-multisets.lagda.md
+++ b/src/trees/empty-multisets.lagda.md
@@ -8,6 +8,7 @@ module trees.empty-multisets where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/trees/enriched-directed-trees.lagda.md b/src/trees/enriched-directed-trees.lagda.md
index f17320ca15..ab7ba82a36 100644
--- a/src/trees/enriched-directed-trees.lagda.md
+++ b/src/trees/enriched-directed-trees.lagda.md
@@ -13,6 +13,8 @@ open import foundation.action-on-identifications-functions
open import foundation.commuting-squares-of-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.functoriality-dependent-pair-types
open import foundation.homotopies
diff --git a/src/trees/equivalences-directed-trees.lagda.md b/src/trees/equivalences-directed-trees.lagda.md
index 5b7a6ffa00..57ddd72e36 100644
--- a/src/trees/equivalences-directed-trees.lagda.md
+++ b/src/trees/equivalences-directed-trees.lagda.md
@@ -12,6 +12,7 @@ open import foundation.binary-transport
open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.empty-types
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/trees/equivalences-enriched-directed-trees.lagda.md b/src/trees/equivalences-enriched-directed-trees.lagda.md
index 410b7c1709..37f39e8369 100644
--- a/src/trees/equivalences-enriched-directed-trees.lagda.md
+++ b/src/trees/equivalences-enriched-directed-trees.lagda.md
@@ -11,6 +11,7 @@ open import foundation.commuting-squares-of-maps
open import foundation.commuting-triangles-of-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equality-dependent-function-types
open import foundation.equivalence-extensionality
open import foundation.equivalences
diff --git a/src/trees/extensional-w-types.lagda.md b/src/trees/extensional-w-types.lagda.md
index 257d84375e..b40dcb2de8 100644
--- a/src/trees/extensional-w-types.lagda.md
+++ b/src/trees/extensional-w-types.lagda.md
@@ -10,6 +10,8 @@ module trees.extensional-w-types where
open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equality-dependent-function-types
open import foundation.equivalence-extensionality
open import foundation.equivalences
diff --git a/src/trees/fibers-enriched-directed-trees.lagda.md b/src/trees/fibers-enriched-directed-trees.lagda.md
index d6c2a7b325..80eace7236 100644
--- a/src/trees/fibers-enriched-directed-trees.lagda.md
+++ b/src/trees/fibers-enriched-directed-trees.lagda.md
@@ -9,6 +9,7 @@ module trees.fibers-enriched-directed-trees where
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.identity-types
open import foundation.torsorial-type-families
diff --git a/src/trees/functoriality-combinator-directed-trees.lagda.md b/src/trees/functoriality-combinator-directed-trees.lagda.md
index 62ecdf2b9c..2874e4cdaa 100644
--- a/src/trees/functoriality-combinator-directed-trees.lagda.md
+++ b/src/trees/functoriality-combinator-directed-trees.lagda.md
@@ -11,6 +11,7 @@ open import foundation.action-on-identifications-functions
open import foundation.binary-transport
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.function-types
open import foundation.homotopies
open import foundation.identity-types
diff --git a/src/trees/functoriality-w-types.lagda.md b/src/trees/functoriality-w-types.lagda.md
index 6a32e1a93e..b664531fd5 100644
--- a/src/trees/functoriality-w-types.lagda.md
+++ b/src/trees/functoriality-w-types.lagda.md
@@ -11,6 +11,7 @@ open import foundation.action-on-identifications-functions
open import foundation.cartesian-product-types
open import foundation.contractible-maps
open import foundation.dependent-pair-types
+open import foundation.dependent-products-truncated-types
open import foundation.embeddings
open import foundation.equivalences
open import foundation.fibers-of-maps
diff --git a/src/trees/morphisms-algebras-polynomial-endofunctors.lagda.md b/src/trees/morphisms-algebras-polynomial-endofunctors.lagda.md
index 12364a1b34..ed653ab8fc 100644
--- a/src/trees/morphisms-algebras-polynomial-endofunctors.lagda.md
+++ b/src/trees/morphisms-algebras-polynomial-endofunctors.lagda.md
@@ -10,6 +10,7 @@ module trees.morphisms-algebras-polynomial-endofunctors where
open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
diff --git a/src/trees/morphisms-coalgebras-polynomial-endofunctors.lagda.md b/src/trees/morphisms-coalgebras-polynomial-endofunctors.lagda.md
index f6771ba67b..187fc56670 100644
--- a/src/trees/morphisms-coalgebras-polynomial-endofunctors.lagda.md
+++ b/src/trees/morphisms-coalgebras-polynomial-endofunctors.lagda.md
@@ -11,6 +11,7 @@ open import foundation.action-on-identifications-functions
open import foundation.commuting-squares-of-maps
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.functoriality-dependent-pair-types
open import foundation.fundamental-theorem-of-identity-types
diff --git a/src/trees/morphisms-directed-trees.lagda.md b/src/trees/morphisms-directed-trees.lagda.md
index 925111eb85..a5dbbe940c 100644
--- a/src/trees/morphisms-directed-trees.lagda.md
+++ b/src/trees/morphisms-directed-trees.lagda.md
@@ -10,6 +10,7 @@ module trees.morphisms-directed-trees where
open import foundation.binary-transport
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/trees/polynomial-endofunctors.lagda.md b/src/trees/polynomial-endofunctors.lagda.md
index 793fbf9b59..eed1d536ca 100644
--- a/src/trees/polynomial-endofunctors.lagda.md
+++ b/src/trees/polynomial-endofunctors.lagda.md
@@ -9,6 +9,7 @@ module trees.polynomial-endofunctors where
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
diff --git a/src/trees/raising-universe-levels-directed-trees.lagda.md b/src/trees/raising-universe-levels-directed-trees.lagda.md
index 8f1e1ac294..00591d1102 100644
--- a/src/trees/raising-universe-levels-directed-trees.lagda.md
+++ b/src/trees/raising-universe-levels-directed-trees.lagda.md
@@ -9,10 +9,12 @@ module trees.raising-universe-levels-directed-trees where
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
-open import foundation.raising-universe-levels
open import foundation.universe-levels
+open import foundation-core.raising-universe-levels
+
open import graph-theory.directed-graphs
open import graph-theory.raising-universe-levels-directed-graphs
open import graph-theory.walks-directed-graphs
diff --git a/src/trees/ranks-of-elements-w-types.lagda.md b/src/trees/ranks-of-elements-w-types.lagda.md
index 26e9e63740..ea0870e339 100644
--- a/src/trees/ranks-of-elements-w-types.lagda.md
+++ b/src/trees/ranks-of-elements-w-types.lagda.md
@@ -9,6 +9,7 @@ module trees.ranks-of-elements-w-types where
```agda
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.existential-quantification
open import foundation.identity-types
diff --git a/src/trees/rooted-morphisms-directed-trees.lagda.md b/src/trees/rooted-morphisms-directed-trees.lagda.md
index 81c9d5fc01..76ef5fba86 100644
--- a/src/trees/rooted-morphisms-directed-trees.lagda.md
+++ b/src/trees/rooted-morphisms-directed-trees.lagda.md
@@ -11,6 +11,8 @@ open import foundation.action-on-identifications-functions
open import foundation.binary-transport
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
diff --git a/src/trees/rooted-morphisms-enriched-directed-trees.lagda.md b/src/trees/rooted-morphisms-enriched-directed-trees.lagda.md
index f876ff518a..5fa28a0151 100644
--- a/src/trees/rooted-morphisms-enriched-directed-trees.lagda.md
+++ b/src/trees/rooted-morphisms-enriched-directed-trees.lagda.md
@@ -8,6 +8,7 @@ module trees.rooted-morphisms-enriched-directed-trees where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.function-types
open import foundation.homotopies
open import foundation.identity-types
diff --git a/src/trees/rooted-quasitrees.lagda.md b/src/trees/rooted-quasitrees.lagda.md
index 596e9e1061..33a6068908 100644
--- a/src/trees/rooted-quasitrees.lagda.md
+++ b/src/trees/rooted-quasitrees.lagda.md
@@ -9,6 +9,7 @@ module trees.rooted-quasitrees where
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.universe-levels
open import graph-theory.trails-undirected-graphs
diff --git a/src/trees/small-multisets.lagda.md b/src/trees/small-multisets.lagda.md
index 6a8bc2b79f..7ce5c004dd 100644
--- a/src/trees/small-multisets.lagda.md
+++ b/src/trees/small-multisets.lagda.md
@@ -9,6 +9,7 @@ module trees.small-multisets where
```agda
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equivalences
open import foundation.function-types
@@ -16,13 +17,14 @@ open import foundation.functoriality-dependent-pair-types
open import foundation.homotopies
open import foundation.identity-types
open import foundation.propositions
-open import foundation.raising-universe-levels
open import foundation.small-types
open import foundation.subtypes
open import foundation.transport-along-identifications
open import foundation.univalence
open import foundation.universe-levels
+open import foundation-core.raising-universe-levels
+
open import trees.multisets
open import trees.w-types
```
diff --git a/src/trees/underlying-trees-elements-coalgebras-polynomial-endofunctors.lagda.md b/src/trees/underlying-trees-elements-coalgebras-polynomial-endofunctors.lagda.md
index 9184f6da42..2af81c2efc 100644
--- a/src/trees/underlying-trees-elements-coalgebras-polynomial-endofunctors.lagda.md
+++ b/src/trees/underlying-trees-elements-coalgebras-polynomial-endofunctors.lagda.md
@@ -12,6 +12,8 @@ open import foundation.binary-transport
open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equivalence-extensionality
open import foundation.equivalences
diff --git a/src/trees/underlying-trees-of-elements-of-w-types.lagda.md b/src/trees/underlying-trees-of-elements-of-w-types.lagda.md
index bd9f754279..edbf940801 100644
--- a/src/trees/underlying-trees-of-elements-of-w-types.lagda.md
+++ b/src/trees/underlying-trees-of-elements-of-w-types.lagda.md
@@ -10,6 +10,8 @@ module trees.underlying-trees-of-elements-of-w-types where
open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equivalence-extensionality
open import foundation.equivalences
diff --git a/src/trees/undirected-trees.lagda.md b/src/trees/undirected-trees.lagda.md
index f60cce11cf..bd5054a204 100644
--- a/src/trees/undirected-trees.lagda.md
+++ b/src/trees/undirected-trees.lagda.md
@@ -14,6 +14,8 @@ open import foundation.contractible-types
open import foundation.decidable-equality
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.identity-types
open import foundation.mere-equality
diff --git a/src/trees/universal-multiset.lagda.md b/src/trees/universal-multiset.lagda.md
index 954321d15a..e347a35a1f 100644
--- a/src/trees/universal-multiset.lagda.md
+++ b/src/trees/universal-multiset.lagda.md
@@ -10,12 +10,13 @@ module trees.universal-multiset where
open import foundation.dependent-pair-types
open import foundation.equivalences
open import foundation.identity-types
-open import foundation.raising-universe-levels
open import foundation.small-types
open import foundation.small-universes
open import foundation.transport-along-identifications
open import foundation.universe-levels
+open import foundation-core.raising-universe-levels
+
open import trees.functoriality-w-types
open import trees.multisets
open import trees.small-multisets
diff --git a/src/trees/w-type-of-natural-numbers.lagda.md b/src/trees/w-type-of-natural-numbers.lagda.md
index 0d61f98e88..a9feae370a 100644
--- a/src/trees/w-type-of-natural-numbers.lagda.md
+++ b/src/trees/w-type-of-natural-numbers.lagda.md
@@ -13,6 +13,7 @@ open import foundation.action-on-identifications-functions
open import foundation.booleans
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.function-extensionality
open import foundation.function-types
diff --git a/src/trees/w-type-of-propositions.lagda.md b/src/trees/w-type-of-propositions.lagda.md
index 0b9f78bdb3..0c8b029ec9 100644
--- a/src/trees/w-type-of-propositions.lagda.md
+++ b/src/trees/w-type-of-propositions.lagda.md
@@ -9,9 +9,11 @@ module trees.w-type-of-propositions where
```agda
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.propositional-extensionality
open import foundation.propositions
+open import foundation.raising-universe-levels-unit-type
open import foundation.sets
open import foundation.unit-type
open import foundation.universe-levels
diff --git a/src/trees/w-types.lagda.md b/src/trees/w-types.lagda.md
index cf2df81dea..21ee3b2a25 100644
--- a/src/trees/w-types.lagda.md
+++ b/src/trees/w-types.lagda.md
@@ -10,6 +10,8 @@ module trees.w-types where
open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-truncated-types
open import foundation.empty-types
open import foundation.equivalences
open import foundation.function-extensionality
diff --git a/src/type-theories/dependent-type-theories.lagda.md b/src/type-theories/dependent-type-theories.lagda.md
index 6f40eba0bc..1c09bb46cf 100644
--- a/src/type-theories/dependent-type-theories.lagda.md
+++ b/src/type-theories/dependent-type-theories.lagda.md
@@ -12,6 +12,7 @@ module type-theories.dependent-type-theories where
open import foundation.action-on-identifications-binary-functions
open import foundation.action-on-identifications-functions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.homotopies
diff --git a/src/type-theories/precategories-with-attributes.lagda.md b/src/type-theories/precategories-with-attributes.lagda.md
index 2531279eac..c092065934 100644
--- a/src/type-theories/precategories-with-attributes.lagda.md
+++ b/src/type-theories/precategories-with-attributes.lagda.md
@@ -10,7 +10,6 @@ module type-theories.precategories-with-attributes where
open import category-theory.commuting-squares-of-morphisms-in-precategories
open import category-theory.functors-precategories
open import category-theory.natural-transformations-functors-precategories
-open import category-theory.opposite-precategories
open import category-theory.precategories
open import category-theory.precategory-of-elements-of-a-presheaf
open import category-theory.presheaf-categories
@@ -18,15 +17,10 @@ open import category-theory.pullbacks-in-precategories
open import foundation.action-on-identifications-functions
open import foundation.cartesian-product-types
-open import foundation.category-of-sets
open import foundation.dependent-pair-types
-open import foundation.equivalences
-open import foundation.function-extensionality
open import foundation.identity-types
-open import foundation.sections
open import foundation.sets
open import foundation.subtypes
-open import foundation.transport-along-identifications
open import foundation.universe-levels
```
diff --git a/src/type-theories/precategories-with-families.lagda.md b/src/type-theories/precategories-with-families.lagda.md
index 386c313d65..5a8bc8f46e 100644
--- a/src/type-theories/precategories-with-families.lagda.md
+++ b/src/type-theories/precategories-with-families.lagda.md
@@ -8,22 +8,13 @@ module type-theories.precategories-with-families where
```agda
open import category-theory.functors-precategories
-open import category-theory.natural-transformations-functors-precategories
-open import category-theory.opposite-precategories
open import category-theory.precategories
open import category-theory.precategory-of-elements-of-a-presheaf
open import category-theory.presheaf-categories
-open import category-theory.pullbacks-in-precategories
-open import foundation.cartesian-product-types
-open import foundation.category-of-sets
open import foundation.dependent-pair-types
open import foundation.equivalences
-open import foundation.function-extensionality
open import foundation.identity-types
-open import foundation.sections
-open import foundation.sets
-open import foundation.subtypes
open import foundation.transport-along-identifications
open import foundation.universe-levels
```
diff --git a/src/univalent-combinatorics/2-element-decidable-subtypes.lagda.md b/src/univalent-combinatorics/2-element-decidable-subtypes.lagda.md
index f223fc9b23..7dee688b48 100644
--- a/src/univalent-combinatorics/2-element-decidable-subtypes.lagda.md
+++ b/src/univalent-combinatorics/2-element-decidable-subtypes.lagda.md
@@ -13,11 +13,11 @@ open import elementary-number-theory.well-ordering-principle-standard-finite-typ
open import foundation.automorphisms
open import foundation.booleans
-open import foundation.coproduct-types
open import foundation.decidable-equality
open import foundation.decidable-propositions
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
@@ -34,7 +34,6 @@ open import foundation.negated-equality
open import foundation.negation
open import foundation.propositional-truncations
open import foundation.propositions
-open import foundation.sets
open import foundation.subtypes
open import foundation.transport-along-identifications
open import foundation.type-arithmetic-coproduct-types
diff --git a/src/univalent-combinatorics/2-element-subtypes.lagda.md b/src/univalent-combinatorics/2-element-subtypes.lagda.md
index 9c1bd2707d..b10fe6cd38 100644
--- a/src/univalent-combinatorics/2-element-subtypes.lagda.md
+++ b/src/univalent-combinatorics/2-element-subtypes.lagda.md
@@ -11,6 +11,8 @@ open import foundation.automorphisms
open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/univalent-combinatorics/2-element-types.lagda.md b/src/univalent-combinatorics/2-element-types.lagda.md
index b44650d1ca..b58564f62c 100644
--- a/src/univalent-combinatorics/2-element-types.lagda.md
+++ b/src/univalent-combinatorics/2-element-types.lagda.md
@@ -18,6 +18,8 @@ open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.double-negation
open import foundation.empty-types
open import foundation.equivalence-extensionality
@@ -36,7 +38,6 @@ open import foundation.negated-equality
open import foundation.negation
open import foundation.propositional-truncations
open import foundation.propositions
-open import foundation.raising-universe-levels
open import foundation.sets
open import foundation.subuniverses
open import foundation.torsorial-type-families
@@ -49,6 +50,8 @@ open import foundation.unit-type
open import foundation.universal-property-identity-systems
open import foundation.universe-levels
+open import foundation-core.raising-universe-levels
+
open import univalent-combinatorics.equality-standard-finite-types
open import univalent-combinatorics.equivalences
open import univalent-combinatorics.finite-types
diff --git a/src/univalent-combinatorics/binomial-types.lagda.md b/src/univalent-combinatorics/binomial-types.lagda.md
index f815dbd237..9595430e57 100644
--- a/src/univalent-combinatorics/binomial-types.lagda.md
+++ b/src/univalent-combinatorics/binomial-types.lagda.md
@@ -19,6 +19,8 @@ open import foundation.decidable-embeddings
open import foundation.decidable-propositions
open import foundation.decidable-subtypes
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.empty-types
open import foundation.equivalences
@@ -27,7 +29,6 @@ open import foundation.fibers-of-maps
open import foundation.function-types
open import foundation.functoriality-coproduct-types
open import foundation.functoriality-dependent-pair-types
-open import foundation.functoriality-function-types
open import foundation.functoriality-propositional-truncation
open import foundation.logical-equivalences
open import foundation.maybe
@@ -37,7 +38,7 @@ open import foundation.postcomposition-functions
open import foundation.propositional-extensionality
open import foundation.propositional-truncations
open import foundation.propositions
-open import foundation.raising-universe-levels
+open import foundation.raising-universe-levels-unit-type
open import foundation.type-arithmetic-cartesian-product-types
open import foundation.type-arithmetic-coproduct-types
open import foundation.type-arithmetic-dependent-pair-types
@@ -49,6 +50,8 @@ open import foundation.universal-property-equivalences
open import foundation.universal-property-maybe
open import foundation.universe-levels
+open import foundation-core.raising-universe-levels
+
open import univalent-combinatorics.coproduct-types
open import univalent-combinatorics.finite-types
open import univalent-combinatorics.standard-finite-types
diff --git a/src/univalent-combinatorics/cartesian-product-types.lagda.md b/src/univalent-combinatorics/cartesian-product-types.lagda.md
index 43dee54458..6dd2ffe8cb 100644
--- a/src/univalent-combinatorics/cartesian-product-types.lagda.md
+++ b/src/univalent-combinatorics/cartesian-product-types.lagda.md
@@ -14,6 +14,7 @@ open import foundation.cartesian-product-types
open import foundation.contractible-types
open import foundation.decidable-equality
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-cartesian-product-types
diff --git a/src/univalent-combinatorics/coproduct-types.lagda.md b/src/univalent-combinatorics/coproduct-types.lagda.md
index 87603eab3b..03c7063c2b 100644
--- a/src/univalent-combinatorics/coproduct-types.lagda.md
+++ b/src/univalent-combinatorics/coproduct-types.lagda.md
@@ -15,13 +15,12 @@ open import foundation.coproduct-types
open import foundation.dependent-pair-types
open import foundation.equivalence-extensionality
open import foundation.equivalences
-open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.functoriality-coproduct-types
open import foundation.functoriality-propositional-truncation
open import foundation.homotopies
open import foundation.identity-types
-open import foundation.injective-maps
open import foundation.mere-equivalences
open import foundation.propositional-truncations
open import foundation.type-arithmetic-coproduct-types
diff --git a/src/univalent-combinatorics/counting-decidable-subtypes.lagda.md b/src/univalent-combinatorics/counting-decidable-subtypes.lagda.md
index 2dc4eea133..33adfc9922 100644
--- a/src/univalent-combinatorics/counting-decidable-subtypes.lagda.md
+++ b/src/univalent-combinatorics/counting-decidable-subtypes.lagda.md
@@ -16,6 +16,8 @@ open import foundation.coproduct-types
open import foundation.decidable-embeddings
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.fibers-of-maps
diff --git a/src/univalent-combinatorics/counting-dependent-pair-types.lagda.md b/src/univalent-combinatorics/counting-dependent-pair-types.lagda.md
index ce45d38d86..893e414561 100644
--- a/src/univalent-combinatorics/counting-dependent-pair-types.lagda.md
+++ b/src/univalent-combinatorics/counting-dependent-pair-types.lagda.md
@@ -18,6 +18,7 @@ open import foundation.coproduct-types
open import foundation.decidable-equality
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
open import foundation.fibers-of-maps
diff --git a/src/univalent-combinatorics/counting-maybe.lagda.md b/src/univalent-combinatorics/counting-maybe.lagda.md
index a77a6a7cfb..a69e71d84a 100644
--- a/src/univalent-combinatorics/counting-maybe.lagda.md
+++ b/src/univalent-combinatorics/counting-maybe.lagda.md
@@ -11,10 +11,11 @@ open import elementary-number-theory.natural-numbers
open import foundation.dependent-pair-types
open import foundation.equivalences-maybe
-open import foundation.identity-types
-open import foundation.maybe
open import foundation.universe-levels
+open import foundation-core.identity-types
+open import foundation-core.maybe
+
open import univalent-combinatorics.coproduct-types
open import univalent-combinatorics.counting
```
diff --git a/src/univalent-combinatorics/counting.lagda.md b/src/univalent-combinatorics/counting.lagda.md
index b9c4fa6d19..1badcda52b 100644
--- a/src/univalent-combinatorics/counting.lagda.md
+++ b/src/univalent-combinatorics/counting.lagda.md
@@ -14,6 +14,8 @@ open import foundation.coproduct-types
open import foundation.decidable-equality
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/univalent-combinatorics/cycle-prime-decomposition-natural-numbers.lagda.md b/src/univalent-combinatorics/cycle-prime-decomposition-natural-numbers.lagda.md
index f1c5ab49c3..e1da80e9f0 100644
--- a/src/univalent-combinatorics/cycle-prime-decomposition-natural-numbers.lagda.md
+++ b/src/univalent-combinatorics/cycle-prime-decomposition-natural-numbers.lagda.md
@@ -19,6 +19,7 @@ open import foundation.action-on-identifications-functions
open import foundation.cartesian-product-types
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.identity-types
open import foundation.iterated-cartesian-product-types
diff --git a/src/univalent-combinatorics/cyclic-finite-types.lagda.md b/src/univalent-combinatorics/cyclic-finite-types.lagda.md
index da2741d64a..0e4a6941f9 100644
--- a/src/univalent-combinatorics/cyclic-finite-types.lagda.md
+++ b/src/univalent-combinatorics/cyclic-finite-types.lagda.md
@@ -20,6 +20,7 @@ open import foundation.commuting-squares-of-maps
open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
diff --git a/src/univalent-combinatorics/decidable-dependent-function-types.lagda.md b/src/univalent-combinatorics/decidable-dependent-function-types.lagda.md
index 5f6cfff00c..900de88d03 100644
--- a/src/univalent-combinatorics/decidable-dependent-function-types.lagda.md
+++ b/src/univalent-combinatorics/decidable-dependent-function-types.lagda.md
@@ -14,6 +14,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.coproduct-types
open import foundation.decidable-propositions
open import foundation.decidable-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/univalent-combinatorics/decidable-equivalence-relations.lagda.md b/src/univalent-combinatorics/decidable-equivalence-relations.lagda.md
index 46f0521430..e4ef437ef5 100644
--- a/src/univalent-combinatorics/decidable-equivalence-relations.lagda.md
+++ b/src/univalent-combinatorics/decidable-equivalence-relations.lagda.md
@@ -15,6 +15,7 @@ open import foundation.decidable-equality
open import foundation.decidable-equivalence-relations
open import foundation.decidable-relations
open import foundation.decidable-types
+open import foundation.dependent-products-propositions
open import foundation.equivalence-relations
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/univalent-combinatorics/decidable-propositions.lagda.md b/src/univalent-combinatorics/decidable-propositions.lagda.md
index c825d693f8..1243533287 100644
--- a/src/univalent-combinatorics/decidable-propositions.lagda.md
+++ b/src/univalent-combinatorics/decidable-propositions.lagda.md
@@ -15,6 +15,7 @@ open import foundation.coproduct-types
open import foundation.decidable-equality
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/univalent-combinatorics/decidable-subtypes.lagda.md b/src/univalent-combinatorics/decidable-subtypes.lagda.md
index d7b83a688c..2e4cbaaf04 100644
--- a/src/univalent-combinatorics/decidable-subtypes.lagda.md
+++ b/src/univalent-combinatorics/decidable-subtypes.lagda.md
@@ -16,6 +16,7 @@ open import foundation.action-on-identifications-functions
open import foundation.coproduct-types
open import foundation.decidable-equality
open import foundation.decidable-propositions
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.function-types
open import foundation.identity-types
diff --git a/src/univalent-combinatorics/dedekind-finite-sets.lagda.md b/src/univalent-combinatorics/dedekind-finite-sets.lagda.md
index f3d73ff2db..6245f95fb6 100644
--- a/src/univalent-combinatorics/dedekind-finite-sets.lagda.md
+++ b/src/univalent-combinatorics/dedekind-finite-sets.lagda.md
@@ -8,6 +8,7 @@ module univalent-combinatorics.dedekind-finite-sets where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.equivalences
open import foundation.propositions
diff --git a/src/univalent-combinatorics/dependent-pair-types.lagda.md b/src/univalent-combinatorics/dependent-pair-types.lagda.md
index 491d05e318..a00f521bf4 100644
--- a/src/univalent-combinatorics/dependent-pair-types.lagda.md
+++ b/src/univalent-combinatorics/dependent-pair-types.lagda.md
@@ -10,8 +10,8 @@ open import foundation.dependent-pair-types public
```agda
open import foundation.complements
-open import foundation.contractible-types
open import foundation.decidable-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
diff --git a/src/univalent-combinatorics/discrete-sigma-decompositions.lagda.md b/src/univalent-combinatorics/discrete-sigma-decompositions.lagda.md
index cb68b48e7d..df43f30e8f 100644
--- a/src/univalent-combinatorics/discrete-sigma-decompositions.lagda.md
+++ b/src/univalent-combinatorics/discrete-sigma-decompositions.lagda.md
@@ -11,8 +11,11 @@ open import foundation.discrete-sigma-decompositions public
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
+open import foundation.raising-universe-levels-unit-type
open import foundation.subtypes
open import foundation.universe-levels
diff --git a/src/univalent-combinatorics/distributivity-of-set-truncation-over-finite-products.lagda.md b/src/univalent-combinatorics/distributivity-of-set-truncation-over-finite-products.lagda.md
index 64609a61a2..57498ee28b 100644
--- a/src/univalent-combinatorics/distributivity-of-set-truncation-over-finite-products.lagda.md
+++ b/src/univalent-combinatorics/distributivity-of-set-truncation-over-finite-products.lagda.md
@@ -13,6 +13,7 @@ open import foundation.action-on-identifications-functions
open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.dependent-universal-property-equivalences
open import foundation.empty-types
open import foundation.equivalences
diff --git a/src/univalent-combinatorics/embeddings.lagda.md b/src/univalent-combinatorics/embeddings.lagda.md
index e9776b2416..963c7454dd 100644
--- a/src/univalent-combinatorics/embeddings.lagda.md
+++ b/src/univalent-combinatorics/embeddings.lagda.md
@@ -15,6 +15,7 @@ open import foundation.coproduct-types
open import foundation.decidable-embeddings
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equivalences
open import foundation.propositional-truncations
diff --git a/src/univalent-combinatorics/equality-standard-finite-types.lagda.md b/src/univalent-combinatorics/equality-standard-finite-types.lagda.md
index 637b3cf66a..c5d723201d 100644
--- a/src/univalent-combinatorics/equality-standard-finite-types.lagda.md
+++ b/src/univalent-combinatorics/equality-standard-finite-types.lagda.md
@@ -16,6 +16,8 @@ open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.discrete-types
open import foundation.empty-types
open import foundation.equivalences
diff --git a/src/univalent-combinatorics/equivalences-standard-finite-types.lagda.md b/src/univalent-combinatorics/equivalences-standard-finite-types.lagda.md
index b7044ed428..bb0dc4d012 100644
--- a/src/univalent-combinatorics/equivalences-standard-finite-types.lagda.md
+++ b/src/univalent-combinatorics/equivalences-standard-finite-types.lagda.md
@@ -11,6 +11,7 @@ open import elementary-number-theory.exponentiation-natural-numbers
open import elementary-number-theory.natural-numbers
open import foundation.contractible-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.functoriality-cartesian-product-types
open import foundation.type-arithmetic-empty-type
diff --git a/src/univalent-combinatorics/ferrers-diagrams.lagda.md b/src/univalent-combinatorics/ferrers-diagrams.lagda.md
index 034b26e3ad..5c1f722491 100644
--- a/src/univalent-combinatorics/ferrers-diagrams.lagda.md
+++ b/src/univalent-combinatorics/ferrers-diagrams.lagda.md
@@ -9,6 +9,7 @@ module univalent-combinatorics.ferrers-diagrams where
```agda
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equality-dependent-function-types
open import foundation.equivalences
open import foundation.fundamental-theorem-of-identity-types
diff --git a/src/univalent-combinatorics/fibers-of-maps.lagda.md b/src/univalent-combinatorics/fibers-of-maps.lagda.md
index 2d9e458ea5..15e292b04c 100644
--- a/src/univalent-combinatorics/fibers-of-maps.lagda.md
+++ b/src/univalent-combinatorics/fibers-of-maps.lagda.md
@@ -12,8 +12,8 @@ open import foundation.fibers-of-maps public
open import elementary-number-theory.natural-numbers
open import elementary-number-theory.sums-of-natural-numbers
-open import foundation.contractible-types
open import foundation.decidable-types
+open import foundation.dependent-products-propositions
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
open import foundation.functoriality-dependent-pair-types
diff --git a/src/univalent-combinatorics/finite-types.lagda.md b/src/univalent-combinatorics/finite-types.lagda.md
index 0ddff4cb5a..705affe740 100644
--- a/src/univalent-combinatorics/finite-types.lagda.md
+++ b/src/univalent-combinatorics/finite-types.lagda.md
@@ -17,6 +17,8 @@ open import foundation.connected-components-universes
open import foundation.contractible-types
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equivalences
open import foundation.function-types
@@ -29,7 +31,7 @@ open import foundation.logical-equivalences
open import foundation.mere-equivalences
open import foundation.propositional-truncations
open import foundation.propositions
-open import foundation.raising-universe-levels
+open import foundation.raising-universe-levels-unit-type
open import foundation.sets
open import foundation.subtypes
open import foundation.subuniverses
@@ -40,10 +42,10 @@ open import foundation.unit-type
open import foundation.univalence
open import foundation.universe-levels
+open import foundation-core.raising-universe-levels
open import foundation-core.torsorial-type-families
open import univalent-combinatorics.counting
-open import univalent-combinatorics.double-counting
open import univalent-combinatorics.standard-finite-types
```
diff --git a/src/univalent-combinatorics/finitely-many-connected-components.lagda.md b/src/univalent-combinatorics/finitely-many-connected-components.lagda.md
index b2d49dc3a5..14a097a233 100644
--- a/src/univalent-combinatorics/finitely-many-connected-components.lagda.md
+++ b/src/univalent-combinatorics/finitely-many-connected-components.lagda.md
@@ -13,6 +13,8 @@ open import foundation.0-connected-types
open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equivalences
open import foundation.function-types
diff --git a/src/univalent-combinatorics/finitely-presented-types.lagda.md b/src/univalent-combinatorics/finitely-presented-types.lagda.md
index 6cc22a250a..ebcece7eb3 100644
--- a/src/univalent-combinatorics/finitely-presented-types.lagda.md
+++ b/src/univalent-combinatorics/finitely-presented-types.lagda.md
@@ -10,6 +10,7 @@ module univalent-combinatorics.finitely-presented-types where
open import elementary-number-theory.natural-numbers
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.fibers-of-maps
open import foundation.function-types
diff --git a/src/univalent-combinatorics/function-types.lagda.md b/src/univalent-combinatorics/function-types.lagda.md
index 9929152a41..f461d7df2d 100644
--- a/src/univalent-combinatorics/function-types.lagda.md
+++ b/src/univalent-combinatorics/function-types.lagda.md
@@ -9,7 +9,6 @@ module univalent-combinatorics.function-types where
```agda
open import elementary-number-theory.equality-natural-numbers
open import elementary-number-theory.exponentiation-natural-numbers
-open import elementary-number-theory.natural-numbers
open import foundation.action-on-identifications-binary-functions
open import foundation.equivalences
diff --git a/src/univalent-combinatorics/inhabited-finite-types.lagda.md b/src/univalent-combinatorics/inhabited-finite-types.lagda.md
index f6ad56cab3..3eb8693c2e 100644
--- a/src/univalent-combinatorics/inhabited-finite-types.lagda.md
+++ b/src/univalent-combinatorics/inhabited-finite-types.lagda.md
@@ -9,6 +9,7 @@ module univalent-combinatorics.inhabited-finite-types where
```agda
open import elementary-number-theory.natural-numbers
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.function-types
open import foundation.functoriality-dependent-function-types
diff --git a/src/univalent-combinatorics/kuratowski-finite-sets.lagda.md b/src/univalent-combinatorics/kuratowski-finite-sets.lagda.md
index 7de999ba15..e88e3a3eef 100644
--- a/src/univalent-combinatorics/kuratowski-finite-sets.lagda.md
+++ b/src/univalent-combinatorics/kuratowski-finite-sets.lagda.md
@@ -11,6 +11,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.decidable-equality
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.existential-quantification
open import foundation.propositional-truncations
open import foundation.propositions
diff --git a/src/univalent-combinatorics/locally-finite-types.lagda.md b/src/univalent-combinatorics/locally-finite-types.lagda.md
index 04f398816f..6e8a9b8216 100644
--- a/src/univalent-combinatorics/locally-finite-types.lagda.md
+++ b/src/univalent-combinatorics/locally-finite-types.lagda.md
@@ -9,67 +9,34 @@ module univalent-combinatorics.locally-finite-types where
```agda
open import elementary-number-theory.natural-numbers
-open import foundation.0-connected-types
open import foundation.1-types
-open import foundation.action-on-identifications-functions
open import foundation.cartesian-product-types
-open import foundation.constant-maps
open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.decidable-equality
-open import foundation.decidable-propositions
-open import foundation.decidable-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.dependent-universal-property-equivalences
-open import foundation.embeddings
open import foundation.empty-types
open import foundation.equality-cartesian-product-types
-open import foundation.equality-coproduct-types
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
-open import foundation.fiber-inclusions
-open import foundation.fibers-of-maps
-open import foundation.function-extensionality
open import foundation.function-types
-open import foundation.functoriality-coproduct-types
-open import foundation.functoriality-dependent-pair-types
-open import foundation.functoriality-set-truncation
-open import foundation.homotopies
open import foundation.identity-types
-open import foundation.injective-maps
-open import foundation.logical-equivalences
-open import foundation.maybe
-open import foundation.mere-equality
-open import foundation.mere-equivalences
-open import foundation.propositional-extensionality
open import foundation.propositional-truncations
open import foundation.propositions
-open import foundation.set-truncations
-open import foundation.sets
-open import foundation.subtypes
-open import foundation.surjective-maps
open import foundation.transport-along-identifications
-open import foundation.truncated-types
-open import foundation.truncation-levels
-open import foundation.type-arithmetic-coproduct-types
open import foundation.unit-type
-open import foundation.univalence
open import foundation.universal-property-coproduct-types
open import foundation.universal-property-empty-type
open import foundation.universal-property-unit-type
open import foundation.universe-levels
-open import foundation.whiskering-homotopies-composition
open import univalent-combinatorics.cartesian-product-types
-open import univalent-combinatorics.coproduct-types
open import univalent-combinatorics.counting
-open import univalent-combinatorics.dependent-function-types
open import univalent-combinatorics.dependent-pair-types
-open import univalent-combinatorics.distributivity-of-set-truncation-over-finite-products
open import univalent-combinatorics.equality-finite-types
open import univalent-combinatorics.finite-types
-open import univalent-combinatorics.finitely-presented-types
-open import univalent-combinatorics.function-types
-open import univalent-combinatorics.image-of-maps
open import univalent-combinatorics.standard-finite-types
```
diff --git a/src/univalent-combinatorics/main-classes-of-latin-hypercubes.lagda.md b/src/univalent-combinatorics/main-classes-of-latin-hypercubes.lagda.md
index f88ff5969a..c2cf1af773 100644
--- a/src/univalent-combinatorics/main-classes-of-latin-hypercubes.lagda.md
+++ b/src/univalent-combinatorics/main-classes-of-latin-hypercubes.lagda.md
@@ -13,6 +13,7 @@ open import foundation.1-types
open import foundation.contractible-types
open import foundation.decidable-propositions
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.inhabited-types
open import foundation.mere-equivalences
open import foundation.products-unordered-tuples-of-types
diff --git a/src/univalent-combinatorics/maybe.lagda.md b/src/univalent-combinatorics/maybe.lagda.md
index 9a9c68812f..7ba870c33e 100644
--- a/src/univalent-combinatorics/maybe.lagda.md
+++ b/src/univalent-combinatorics/maybe.lagda.md
@@ -3,7 +3,7 @@
```agda
module univalent-combinatorics.maybe where
-open import foundation.maybe public
+open import foundation-core.maybe public
```
Imports
diff --git a/src/univalent-combinatorics/orientations-complete-undirected-graph.lagda.md b/src/univalent-combinatorics/orientations-complete-undirected-graph.lagda.md
index 6dd93e951d..e15d22f6c8 100644
--- a/src/univalent-combinatorics/orientations-complete-undirected-graph.lagda.md
+++ b/src/univalent-combinatorics/orientations-complete-undirected-graph.lagda.md
@@ -27,6 +27,7 @@ open import foundation.decidable-equivalence-relations
open import foundation.decidable-propositions
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.empty-types
open import foundation.equality-dependent-pair-types
open import foundation.equivalence-classes
@@ -34,6 +35,7 @@ open import foundation.equivalence-extensionality
open import foundation.equivalence-relations
open import foundation.equivalences
open import foundation.function-extensionality
+open import foundation.function-extensionality-axiom
open import foundation.function-types
open import foundation.functoriality-dependent-pair-types
open import foundation.functoriality-propositional-truncation
diff --git a/src/univalent-combinatorics/partitions.lagda.md b/src/univalent-combinatorics/partitions.lagda.md
index 1d697a9f42..a8a74937f5 100644
--- a/src/univalent-combinatorics/partitions.lagda.md
+++ b/src/univalent-combinatorics/partitions.lagda.md
@@ -11,6 +11,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.binary-relations
open import foundation.cartesian-product-types
+open import foundation.dependent-products-propositions
open import foundation.equality-cartesian-product-types
open import foundation.equivalence-extensionality
open import foundation.equivalence-relations
diff --git a/src/univalent-combinatorics/pi-finite-types.lagda.md b/src/univalent-combinatorics/pi-finite-types.lagda.md
index 5632fede24..b6b281f8b2 100644
--- a/src/univalent-combinatorics/pi-finite-types.lagda.md
+++ b/src/univalent-combinatorics/pi-finite-types.lagda.md
@@ -10,6 +10,8 @@ module univalent-combinatorics.pi-finite-types where
open import elementary-number-theory.natural-numbers
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
+open import foundation.dependent-products-truncated-types
open import foundation.identity-types
open import foundation.propositions
open import foundation.set-truncations
diff --git a/src/univalent-combinatorics/pigeonhole-principle.lagda.md b/src/univalent-combinatorics/pigeonhole-principle.lagda.md
index 8c52386070..3e7b021e87 100644
--- a/src/univalent-combinatorics/pigeonhole-principle.lagda.md
+++ b/src/univalent-combinatorics/pigeonhole-principle.lagda.md
@@ -13,6 +13,7 @@ open import elementary-number-theory.strict-inequality-natural-numbers
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.empty-types
open import foundation.equivalences
diff --git a/src/univalent-combinatorics/ramsey-theory.lagda.md b/src/univalent-combinatorics/ramsey-theory.lagda.md
index c5e0cc22ff..c2f61c1012 100644
--- a/src/univalent-combinatorics/ramsey-theory.lagda.md
+++ b/src/univalent-combinatorics/ramsey-theory.lagda.md
@@ -10,6 +10,7 @@ module univalent-combinatorics.ramsey-theory where
open import elementary-number-theory.natural-numbers
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.function-types
open import foundation.identity-types
open import foundation.propositions
diff --git a/src/univalent-combinatorics/repetitions-of-values.lagda.md b/src/univalent-combinatorics/repetitions-of-values.lagda.md
index f051b846bd..49862e4292 100644
--- a/src/univalent-combinatorics/repetitions-of-values.lagda.md
+++ b/src/univalent-combinatorics/repetitions-of-values.lagda.md
@@ -18,7 +18,6 @@ open import foundation.identity-types
open import foundation.injective-maps
open import foundation.negated-equality
open import foundation.negation
-open import foundation.sets
open import univalent-combinatorics.decidable-dependent-function-types
open import univalent-combinatorics.decidable-propositions
diff --git a/src/univalent-combinatorics/set-quotients-of-index-two.lagda.md b/src/univalent-combinatorics/set-quotients-of-index-two.lagda.md
index afd05cac1d..8d7f320c33 100644
--- a/src/univalent-combinatorics/set-quotients-of-index-two.lagda.md
+++ b/src/univalent-combinatorics/set-quotients-of-index-two.lagda.md
@@ -14,6 +14,7 @@ open import foundation.commuting-squares-of-maps
open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.embeddings
open import foundation.empty-types
open import foundation.equivalence-relations
diff --git a/src/univalent-combinatorics/sigma-decompositions.lagda.md b/src/univalent-combinatorics/sigma-decompositions.lagda.md
index 1a8c3c1436..4fe1f23fe4 100644
--- a/src/univalent-combinatorics/sigma-decompositions.lagda.md
+++ b/src/univalent-combinatorics/sigma-decompositions.lagda.md
@@ -10,6 +10,7 @@ open import foundation.sigma-decompositions public
```agda
open import foundation.cartesian-product-types
+open import foundation.dependent-products-propositions
open import foundation.dependent-universal-property-equivalences
open import foundation.embeddings
open import foundation.equivalences
@@ -19,7 +20,6 @@ open import foundation.homotopies
open import foundation.identity-types
open import foundation.inhabited-types
open import foundation.logical-equivalences
-open import foundation.precomposition-functions
open import foundation.propositions
open import foundation.relaxed-sigma-decompositions
open import foundation.subtypes
diff --git a/src/univalent-combinatorics/standard-finite-types.lagda.md b/src/univalent-combinatorics/standard-finite-types.lagda.md
index 31d90d106c..57830d99dc 100644
--- a/src/univalent-combinatorics/standard-finite-types.lagda.md
+++ b/src/univalent-combinatorics/standard-finite-types.lagda.md
@@ -18,6 +18,7 @@ open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.embeddings
open import foundation.empty-types
open import foundation.equality-coproduct-types
@@ -32,13 +33,14 @@ open import foundation.negated-equality
open import foundation.negation
open import foundation.noncontractible-types
open import foundation.preunivalent-type-families
-open import foundation.raising-universe-levels
open import foundation.retractions
open import foundation.sets
open import foundation.transport-along-identifications
open import foundation.unit-type
open import foundation.universe-levels
+open import foundation-core.raising-universe-levels
+
open import structured-types.types-equipped-with-endomorphisms
```
diff --git a/src/univalent-combinatorics/steiner-systems.lagda.md b/src/univalent-combinatorics/steiner-systems.lagda.md
index 5c3a9d87d2..8333097e23 100644
--- a/src/univalent-combinatorics/steiner-systems.lagda.md
+++ b/src/univalent-combinatorics/steiner-systems.lagda.md
@@ -12,6 +12,7 @@ open import elementary-number-theory.natural-numbers
open import foundation.contractible-types
open import foundation.decidable-subtypes
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.universe-levels
open import univalent-combinatorics.finite-types
diff --git a/src/univalent-combinatorics/surjective-maps.lagda.md b/src/univalent-combinatorics/surjective-maps.lagda.md
index 2ebd5851c5..282058ec81 100644
--- a/src/univalent-combinatorics/surjective-maps.lagda.md
+++ b/src/univalent-combinatorics/surjective-maps.lagda.md
@@ -16,6 +16,7 @@ open import foundation.decidable-embeddings
open import foundation.decidable-equality
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.logical-equivalences
open import foundation.propositional-truncations
diff --git a/src/univalent-combinatorics/trivial-sigma-decompositions.lagda.md b/src/univalent-combinatorics/trivial-sigma-decompositions.lagda.md
index 4bace31233..c18717d04f 100644
--- a/src/univalent-combinatorics/trivial-sigma-decompositions.lagda.md
+++ b/src/univalent-combinatorics/trivial-sigma-decompositions.lagda.md
@@ -11,9 +11,12 @@ open import foundation.trivial-sigma-decompositions public
```agda
open import foundation.contractible-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.inhabited-types
open import foundation.propositions
+open import foundation.raising-universe-levels-unit-type
open import foundation.subtypes
open import foundation.universe-levels
diff --git a/src/univalent-combinatorics/type-duality.lagda.md b/src/univalent-combinatorics/type-duality.lagda.md
index bdfc816854..0184e34620 100644
--- a/src/univalent-combinatorics/type-duality.lagda.md
+++ b/src/univalent-combinatorics/type-duality.lagda.md
@@ -11,11 +11,11 @@ open import foundation.type-duality public
```agda
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalences
open import foundation.full-subtypes
open import foundation.functoriality-dependent-function-types
open import foundation.functoriality-dependent-pair-types
-open import foundation.functoriality-function-types
open import foundation.inhabited-types
open import foundation.postcomposition-functions
open import foundation.propositions
diff --git a/src/univalent-combinatorics/unbounded-pi-finite-types.lagda.md b/src/univalent-combinatorics/unbounded-pi-finite-types.lagda.md
index f4335a963a..176ec92e4f 100644
--- a/src/univalent-combinatorics/unbounded-pi-finite-types.lagda.md
+++ b/src/univalent-combinatorics/unbounded-pi-finite-types.lagda.md
@@ -15,6 +15,7 @@ open import foundation.cartesian-product-types
open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.empty-types
open import foundation.equality-coproduct-types
open import foundation.equivalences
diff --git a/src/univalent-combinatorics/universal-property-standard-finite-types.lagda.md b/src/univalent-combinatorics/universal-property-standard-finite-types.lagda.md
index 087aa5e436..e1f0301667 100644
--- a/src/univalent-combinatorics/universal-property-standard-finite-types.lagda.md
+++ b/src/univalent-combinatorics/universal-property-standard-finite-types.lagda.md
@@ -13,12 +13,14 @@ open import foundation.cartesian-product-types
open import foundation.contractible-types
open import foundation.coproduct-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-contractible-types
open import foundation.equivalences
open import foundation.function-extensionality
open import foundation.function-types
open import foundation.functoriality-cartesian-product-types
open import foundation.homotopies
open import foundation.identity-types
+open import foundation.raising-universe-levels-unit-type
open import foundation.unit-type
open import foundation.universal-property-contractible-types
open import foundation.universal-property-empty-type
diff --git a/src/univalent-combinatorics/untruncated-pi-finite-types.lagda.md b/src/univalent-combinatorics/untruncated-pi-finite-types.lagda.md
index 63f9ba773a..07c8821913 100644
--- a/src/univalent-combinatorics/untruncated-pi-finite-types.lagda.md
+++ b/src/univalent-combinatorics/untruncated-pi-finite-types.lagda.md
@@ -16,6 +16,8 @@ open import foundation.coproduct-types
open import foundation.decidable-propositions
open import foundation.decidable-types
open import foundation.dependent-identifications
+open import foundation.dependent-products-contractible-types
+open import foundation.dependent-products-propositions
open import foundation.embeddings
open import foundation.empty-types
open import foundation.equality-coproduct-types
diff --git a/src/universal-algebra/algebraic-theory-of-groups.lagda.md b/src/universal-algebra/algebraic-theory-of-groups.lagda.md
index 719d008255..ead34c0c31 100644
--- a/src/universal-algebra/algebraic-theory-of-groups.lagda.md
+++ b/src/universal-algebra/algebraic-theory-of-groups.lagda.md
@@ -10,6 +10,7 @@ module universal-algebra.algebraic-theory-of-groups where
open import elementary-number-theory.natural-numbers
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equality-dependent-pair-types
open import foundation.equivalences
open import foundation.function-extensionality
diff --git a/src/universal-algebra/algebras-of-theories.lagda.md b/src/universal-algebra/algebras-of-theories.lagda.md
index 3ae5fa65d3..ed9b36b787 100644
--- a/src/universal-algebra/algebras-of-theories.lagda.md
+++ b/src/universal-algebra/algebras-of-theories.lagda.md
@@ -8,6 +8,7 @@ module universal-algebra.algebras-of-theories where
```agda
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.identity-types
open import foundation.propositions
open import foundation.sets
diff --git a/src/universal-algebra/congruences.lagda.md b/src/universal-algebra/congruences.lagda.md
index 811e9e865c..241907f00e 100644
--- a/src/universal-algebra/congruences.lagda.md
+++ b/src/universal-algebra/congruences.lagda.md
@@ -11,8 +11,10 @@ open import elementary-number-theory.natural-numbers
open import foundation.cartesian-product-types
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalence-relations
open import foundation.propositions
+open import foundation.raising-universe-levels-unit-type
open import foundation.unit-type
open import foundation.universe-levels
diff --git a/src/universal-algebra/quotient-algebras.lagda.md b/src/universal-algebra/quotient-algebras.lagda.md
index 6a031ee6f2..dfb32f00fa 100644
--- a/src/universal-algebra/quotient-algebras.lagda.md
+++ b/src/universal-algebra/quotient-algebras.lagda.md
@@ -10,6 +10,7 @@ module universal-algebra.quotient-algebras where
open import elementary-number-theory.natural-numbers
open import foundation.dependent-pair-types
+open import foundation.dependent-products-propositions
open import foundation.equivalence-classes
open import foundation.equivalence-relations
open import foundation.equivalences
@@ -18,6 +19,7 @@ open import foundation.multivariable-functoriality-set-quotients
open import foundation.multivariable-operations
open import foundation.propositional-truncations
open import foundation.propositions
+open import foundation.raising-universe-levels-unit-type
open import foundation.set-quotients
open import foundation.sets
open import foundation.unit-type
diff --git a/src/universal-algebra/terms-over-signatures.lagda.md b/src/universal-algebra/terms-over-signatures.lagda.md
index 8a5cf6febf..6ecf7d9351 100644
--- a/src/universal-algebra/terms-over-signatures.lagda.md
+++ b/src/universal-algebra/terms-over-signatures.lagda.md
@@ -14,6 +14,7 @@ open import foundation.action-on-identifications-functions
open import foundation.coproduct-types
open import foundation.dependent-pair-types
open import foundation.identity-types
+open import foundation.raising-universe-levels-unit-type
open import foundation.transport-along-identifications
open import foundation.unit-type
open import foundation.universe-levels