diff --git a/src/category-theory.lagda.md b/src/category-theory.lagda.md
index f2e8762494..d53f0377e8 100644
--- a/src/category-theory.lagda.md
+++ b/src/category-theory.lagda.md
@@ -16,6 +16,7 @@ module category-theory where
open import category-theory.adjunctions-large-precategories public
open import category-theory.anafunctors-categories public
open import category-theory.anafunctors-precategories public
+open import category-theory.augmented-simplex-category public
open import category-theory.categories public
open import category-theory.category-of-functors public
open import category-theory.category-of-functors-from-small-to-large-categories public
@@ -29,6 +30,8 @@ open import category-theory.dependent-products-of-large-categories public
open import category-theory.dependent-products-of-large-precategories public
open import category-theory.dependent-products-of-precategories public
open import category-theory.discrete-categories public
+open import category-theory.embedding-maps-precategories public
+open import category-theory.embeddings-precategories public
open import category-theory.endomorphisms-in-categories public
open import category-theory.endomorphisms-in-precategories public
open import category-theory.epimorphisms-in-large-precategories public
@@ -37,6 +40,7 @@ open import category-theory.equivalences-of-large-precategories public
open import category-theory.equivalences-of-precategories public
open import category-theory.exponential-objects-precategories public
open import category-theory.faithful-functors-precategories public
+open import category-theory.faithful-maps-precategories public
open import category-theory.full-large-subcategories public
open import category-theory.full-large-subprecategories public
open import category-theory.function-categories public
@@ -96,6 +100,7 @@ open import category-theory.representable-functors-large-precategories public
open import category-theory.representable-functors-precategories public
open import category-theory.representing-arrow-category public
open import category-theory.sieves-in-categories public
+open import category-theory.simplex-category public
open import category-theory.slice-precategories public
open import category-theory.subprecategories public
open import category-theory.terminal-objects-precategories public
diff --git a/src/category-theory/augmented-simplex-category.lagda.md b/src/category-theory/augmented-simplex-category.lagda.md
new file mode 100644
index 0000000000..03eaf5a276
--- /dev/null
+++ b/src/category-theory/augmented-simplex-category.lagda.md
@@ -0,0 +1,143 @@
+# The augmented simplex category
+
+```agda
+module category-theory.augmented-simplex-category where
+```
+
+Imports
+
+```agda
+open import category-theory.precategories
+
+open import elementary-number-theory.inequality-standard-finite-types
+open import elementary-number-theory.natural-numbers
+
+open import foundation.dependent-pair-types
+open import foundation.identity-types
+open import foundation.sets
+open import foundation.universe-levels
+
+open import order-theory.order-preserving-maps-posets
+```
+
+
+
+## Idea
+
+**The augmented simplex category** is the category consisting of
+[finite total orders](order-theory.finite-total-orders.md) and
+[order-preserving maps](order-theory.order-preserving-maps-posets.md). However,
+we define it as the category whose objects are
+[natural numbers](elementary-number-theory.natural-numbers.md) and whose
+hom-[sets](foundation-core.sets.md) `hom n m` are order-preserving maps between
+the [standard finite types](univalent-combinatorics.standard-finite-types.md)
+`Fin n` to `Fin m` [equipped](foundation.structure.md) with the
+[standard ordering](elementary-number-theory.inequality-standard-finite-types.md),
+and then show that it is
+[equivalent](category-theory.equivalences-of-precategories.md) to the former.
+
+## Definition
+
+### The augmented simplex precategory
+
+```agda
+obj-augmented-simplex-Category : UU lzero
+obj-augmented-simplex-Category = ℕ
+
+hom-set-augmented-simplex-Category :
+ obj-augmented-simplex-Category → obj-augmented-simplex-Category → Set lzero
+hom-set-augmented-simplex-Category n m =
+ hom-set-Poset (Fin-Poset n) (Fin-Poset m)
+
+hom-augmented-simplex-Category :
+ obj-augmented-simplex-Category → obj-augmented-simplex-Category → UU lzero
+hom-augmented-simplex-Category n m =
+ type-Set (hom-set-augmented-simplex-Category n m)
+
+comp-hom-augmented-simplex-Category :
+ {n m r : obj-augmented-simplex-Category} →
+ hom-augmented-simplex-Category m r →
+ hom-augmented-simplex-Category n m →
+ hom-augmented-simplex-Category n r
+comp-hom-augmented-simplex-Category {n} {m} {r} =
+ comp-hom-Poset (Fin-Poset n) (Fin-Poset m) (Fin-Poset r)
+
+associative-comp-hom-augmented-simplex-Category :
+ {n m r s : obj-augmented-simplex-Category}
+ (h : hom-augmented-simplex-Category r s)
+ (g : hom-augmented-simplex-Category m r)
+ (f : hom-augmented-simplex-Category n m) →
+ ( comp-hom-augmented-simplex-Category {n} {m} {s}
+ ( comp-hom-augmented-simplex-Category {m} {r} {s} h g)
+ ( f)) =
+ ( comp-hom-augmented-simplex-Category {n} {r} {s}
+ ( h)
+ ( comp-hom-augmented-simplex-Category {n} {m} {r} g f))
+associative-comp-hom-augmented-simplex-Category {n} {m} {r} {s} =
+ associative-comp-hom-Poset
+ ( Fin-Poset n)
+ ( Fin-Poset m)
+ ( Fin-Poset r)
+ ( Fin-Poset s)
+
+associative-composition-structure-augmented-simplex-Category :
+ associative-composition-structure-Set hom-set-augmented-simplex-Category
+pr1 associative-composition-structure-augmented-simplex-Category {n} {m} {r} =
+ comp-hom-augmented-simplex-Category {n} {m} {r}
+pr2
+ associative-composition-structure-augmented-simplex-Category {n} {m} {r} {s} =
+ associative-comp-hom-augmented-simplex-Category {n} {m} {r} {s}
+
+id-hom-augmented-simplex-Category :
+ (n : obj-augmented-simplex-Category) → hom-augmented-simplex-Category n n
+id-hom-augmented-simplex-Category n = id-hom-Poset (Fin-Poset n)
+
+left-unit-law-comp-hom-augmented-simplex-Category :
+ {n m : obj-augmented-simplex-Category}
+ (f : hom-augmented-simplex-Category n m) →
+ comp-hom-augmented-simplex-Category {n} {m} {m}
+ ( id-hom-augmented-simplex-Category m)
+ ( f) =
+ f
+left-unit-law-comp-hom-augmented-simplex-Category {n} {m} =
+ left-unit-law-comp-hom-Poset (Fin-Poset n) (Fin-Poset m)
+
+right-unit-law-comp-hom-augmented-simplex-Category :
+ {n m : obj-augmented-simplex-Category}
+ (f : hom-augmented-simplex-Category n m) →
+ comp-hom-augmented-simplex-Category {n} {n} {m}
+ ( f)
+ ( id-hom-augmented-simplex-Category n) =
+ f
+right-unit-law-comp-hom-augmented-simplex-Category {n} {m} =
+ right-unit-law-comp-hom-Poset (Fin-Poset n) (Fin-Poset m)
+
+is-unital-composition-structure-augmented-simplex-Category :
+ is-unital-composition-structure-Set
+ ( hom-set-augmented-simplex-Category)
+ ( associative-composition-structure-augmented-simplex-Category)
+pr1 is-unital-composition-structure-augmented-simplex-Category =
+ id-hom-augmented-simplex-Category
+pr1 (pr2 is-unital-composition-structure-augmented-simplex-Category) {n} {m} =
+ left-unit-law-comp-hom-augmented-simplex-Category {n} {m}
+pr2 (pr2 is-unital-composition-structure-augmented-simplex-Category) {n} {m} =
+ right-unit-law-comp-hom-augmented-simplex-Category {n} {m}
+
+augmented-simplex-Precategory : Precategory lzero lzero
+pr1 augmented-simplex-Precategory = obj-augmented-simplex-Category
+pr1 (pr2 augmented-simplex-Precategory) = hom-set-augmented-simplex-Category
+pr1 (pr2 (pr2 augmented-simplex-Precategory)) =
+ associative-composition-structure-augmented-simplex-Category
+pr2 (pr2 (pr2 augmented-simplex-Precategory)) =
+ is-unital-composition-structure-augmented-simplex-Category
+```
+
+### The augmented simplex category
+
+It remains to be formalized that the augmented simplex category is univalent.
+
+## Properties
+
+### The augmented simplex category is equivalent to the category of finite total orders
+
+This remains to be formalized.
diff --git a/src/category-theory/embedding-maps-precategories.lagda.md b/src/category-theory/embedding-maps-precategories.lagda.md
new file mode 100644
index 0000000000..3b3ea5e582
--- /dev/null
+++ b/src/category-theory/embedding-maps-precategories.lagda.md
@@ -0,0 +1,88 @@
+# Embedding maps between precategories
+
+```agda
+module category-theory.embedding-maps-precategories where
+```
+
+Imports
+
+```agda
+open import category-theory.faithful-maps-precategories
+open import category-theory.functors-precategories
+open import category-theory.maps-precategories
+open import category-theory.precategories
+
+open import foundation.cartesian-product-types
+open import foundation.dependent-pair-types
+open import foundation.embeddings
+open import foundation.equivalences
+open import foundation.injective-maps
+open import foundation.propositions
+open import foundation.universe-levels
+```
+
+
+
+## Idea
+
+A [map](category-theory.maps-precategories.md) between
+[precategories](category-theory.precategories.md) `C` and `D` is an **embedding
+map** if it's an embedding on objects and
+[faithful](category-theory.faithful-maps-precategories.md). Hence embedding maps
+are maps that are embeddings on objects and hom-sets.
+
+Note that for a map of precategories to be called _an embedding_, it must also
+be a [functor](category-theory.functors-precategories.md). This notion is
+considered in
+[`category-theory.embeddings-precategories`](category-theory.embeddings-precategories.md).
+
+## Definition
+
+### The predicate of being an embedding map on maps between precategories
+
+```agda
+module _
+ {l1 l2 l3 l4 : Level}
+ (C : Precategory l1 l2)
+ (D : Precategory l3 l4)
+ (F : map-Precategory C D)
+ where
+
+ is-embedding-map-prop-map-Precategory : Prop (l1 ⊔ l2 ⊔ l3 ⊔ l4)
+ is-embedding-map-prop-map-Precategory =
+ prod-Prop
+ ( is-emb-Prop (obj-map-Precategory C D F))
+ ( is-faithful-prop-map-Precategory C D F)
+
+ is-embedding-map-map-Precategory : UU (l1 ⊔ l2 ⊔ l3 ⊔ l4)
+ is-embedding-map-map-Precategory =
+ type-Prop is-embedding-map-prop-map-Precategory
+
+ is-prop-is-embedding-map-map-Precategory :
+ is-prop is-embedding-map-map-Precategory
+ is-prop-is-embedding-map-map-Precategory =
+ is-prop-type-Prop is-embedding-map-prop-map-Precategory
+```
+
+### The type of embedding maps between precategories
+
+```agda
+module _
+ {l1 l2 l3 l4 : Level}
+ (C : Precategory l1 l2)
+ (D : Precategory l3 l4)
+ where
+
+ embedding-map-Precategory : UU (l1 ⊔ l2 ⊔ l3 ⊔ l4)
+ embedding-map-Precategory =
+ Σ (map-Precategory C D) (is-embedding-map-map-Precategory C D)
+
+ map-embedding-map-Precategory :
+ embedding-map-Precategory → map-Precategory C D
+ map-embedding-map-Precategory = pr1
+
+ is-embedding-map-embedding-map-Precategory :
+ (e : embedding-map-Precategory) →
+ is-embedding-map-map-Precategory C D (map-embedding-map-Precategory e)
+ is-embedding-map-embedding-map-Precategory = pr2
+```
diff --git a/src/category-theory/embeddings-precategories.lagda.md b/src/category-theory/embeddings-precategories.lagda.md
new file mode 100644
index 0000000000..1614c05880
--- /dev/null
+++ b/src/category-theory/embeddings-precategories.lagda.md
@@ -0,0 +1,105 @@
+# Embeddings between precategories
+
+```agda
+module category-theory.embeddings-precategories where
+```
+
+Imports
+
+```agda
+open import category-theory.embedding-maps-precategories
+open import category-theory.functors-precategories
+open import category-theory.maps-precategories
+open import category-theory.precategories
+
+open import foundation.cartesian-product-types
+open import foundation.dependent-pair-types
+open import foundation.embeddings
+open import foundation.equivalences
+open import foundation.propositions
+open import foundation.universe-levels
+```
+
+
+
+## Idea
+
+A [functor](category-theory.functors-precategories.md) between
+[precategories](category-theory.precategories.md) `C` and `D` is an
+**embedding** if it's an embedding on objects and
+[faithful](category-theory.faithful-functors-precategories.md). Hence embeddings
+are functors that are embeddings on objects and hom-sets.
+
+## Definition
+
+### The predicate of being an embedding on maps between precategories
+
+```agda
+module _
+ {l1 l2 l3 l4 : Level}
+ (C : Precategory l1 l2)
+ (D : Precategory l3 l4)
+ (F : map-Precategory C D)
+ where
+
+ is-embedding-prop-map-Precategory : Prop (l1 ⊔ l2 ⊔ l3 ⊔ l4)
+ is-embedding-prop-map-Precategory =
+ prod-Prop
+ ( is-functor-prop-map-Precategory C D F)
+ ( is-embedding-map-prop-map-Precategory C D F)
+
+ is-embedding-map-Precategory : UU (l1 ⊔ l2 ⊔ l3 ⊔ l4)
+ is-embedding-map-Precategory =
+ type-Prop is-embedding-prop-map-Precategory
+
+ is-prop-is-embedding-map-Precategory : is-prop is-embedding-map-Precategory
+ is-prop-is-embedding-map-Precategory =
+ is-prop-type-Prop is-embedding-prop-map-Precategory
+```
+
+### The predicate of being an embedding on functors between precategories
+
+```agda
+module _
+ {l1 l2 l3 l4 : Level}
+ (C : Precategory l1 l2)
+ (D : Precategory l3 l4)
+ (F : functor-Precategory C D)
+ where
+
+ is-embedding-prop-functor-Precategory : Prop (l1 ⊔ l2 ⊔ l3 ⊔ l4)
+ is-embedding-prop-functor-Precategory =
+ is-embedding-map-prop-map-Precategory C D (map-functor-Precategory C D F)
+
+ is-embedding-functor-Precategory : UU (l1 ⊔ l2 ⊔ l3 ⊔ l4)
+ is-embedding-functor-Precategory =
+ type-Prop is-embedding-prop-functor-Precategory
+
+ is-prop-is-embedding-functor-Precategory :
+ is-prop is-embedding-functor-Precategory
+ is-prop-is-embedding-functor-Precategory =
+ is-prop-type-Prop is-embedding-prop-functor-Precategory
+```
+
+### The type of embeddings between precategories
+
+```agda
+module _
+ {l1 l2 l3 l4 : Level}
+ (C : Precategory l1 l2)
+ (D : Precategory l3 l4)
+ where
+
+ embedding-Precategory : UU (l1 ⊔ l2 ⊔ l3 ⊔ l4)
+ embedding-Precategory =
+ Σ (functor-Precategory C D) (is-embedding-functor-Precategory C D)
+
+ functor-embedding-Precategory :
+ embedding-Precategory → functor-Precategory C D
+ functor-embedding-Precategory = pr1
+
+ is-embedding-embedding-Precategory :
+ (e : embedding-Precategory) →
+ is-embedding-functor-Precategory C D (functor-embedding-Precategory e)
+ is-embedding-embedding-Precategory = pr2
+```
diff --git a/src/category-theory/faithful-functors-precategories.lagda.md b/src/category-theory/faithful-functors-precategories.lagda.md
index 0816a06279..06d56f459d 100644
--- a/src/category-theory/faithful-functors-precategories.lagda.md
+++ b/src/category-theory/faithful-functors-precategories.lagda.md
@@ -7,6 +7,7 @@ module category-theory.faithful-functors-precategories where
Imports
```agda
+open import category-theory.faithful-maps-precategories
open import category-theory.functors-precategories
open import category-theory.maps-precategories
open import category-theory.precategories
@@ -33,29 +34,6 @@ in terms of embeddings because this is the notion that generalizes.
## Definition
-### The predicate of being faithful on maps between precategories
-
-```agda
-module _
- {l1 l2 l3 l4 : Level}
- (C : Precategory l1 l2)
- (D : Precategory l3 l4)
- (F : map-Precategory C D)
- where
-
- is-faithful-map-Precategory : UU (l1 ⊔ l2 ⊔ l4)
- is-faithful-map-Precategory =
- (x y : obj-Precategory C) → is-emb (hom-map-Precategory C D F {x} {y})
-
- is-prop-is-faithful-map-Precategory : is-prop is-faithful-map-Precategory
- is-prop-is-faithful-map-Precategory =
- is-prop-Π² (λ x y → is-prop-is-emb (hom-map-Precategory C D F {x} {y}))
-
- is-faithful-prop-map-Precategory : Prop (l1 ⊔ l2 ⊔ l4)
- pr1 is-faithful-prop-map-Precategory = is-faithful-map-Precategory
- pr2 is-faithful-prop-map-Precategory = is-prop-is-faithful-map-Precategory
-```
-
### The predicate of being faithful on functors between precategories
```agda
@@ -80,36 +58,7 @@ module _
is-faithful-prop-map-Precategory C D (map-functor-Precategory C D F)
```
-### The predicate of being injective on hom-sets on maps between precategories
-
-```agda
-module _
- {l1 l2 l3 l4 : Level}
- (C : Precategory l1 l2)
- (D : Precategory l3 l4)
- (F : map-Precategory C D)
- where
-
- is-injective-hom-map-Precategory : UU (l1 ⊔ l2 ⊔ l4)
- is-injective-hom-map-Precategory =
- (x y : obj-Precategory C) → is-injective (hom-map-Precategory C D F {x} {y})
-
- is-prop-is-injective-hom-map-Precategory :
- is-prop is-injective-hom-map-Precategory
- is-prop-is-injective-hom-map-Precategory =
- is-prop-Π²
- ( λ x y →
- is-prop-is-injective
- ( is-set-hom-Precategory C x y)
- ( hom-map-Precategory C D F {x} {y}))
-
- is-injective-hom-prop-map-Precategory : Prop (l1 ⊔ l2 ⊔ l4)
- pr1 is-injective-hom-prop-map-Precategory = is-injective-hom-map-Precategory
- pr2 is-injective-hom-prop-map-Precategory =
- is-prop-is-injective-hom-map-Precategory
-```
-
-### The predicate of being injective on hom-sets on functors between precategories
+### The predicate of being faithful on functors between precategories
```agda
module _
@@ -137,65 +86,6 @@ module _
## Properties
-### A map of precategories is faithful if and only if it is injective on hom-sets
-
-```agda
-module _
- {l1 l2 l3 l4 : Level}
- (C : Precategory l1 l2)
- (D : Precategory l3 l4)
- (F : map-Precategory C D)
- where
-
- is-injective-hom-is-faithful-map-Precategory :
- is-faithful-map-Precategory C D F →
- is-injective-hom-map-Precategory C D F
- is-injective-hom-is-faithful-map-Precategory is-faithful-F x y =
- is-injective-is-emb (is-faithful-F x y)
-
- is-faithful-is-injective-hom-map-Precategory :
- is-injective-hom-map-Precategory C D F →
- is-faithful-map-Precategory C D F
- is-faithful-is-injective-hom-map-Precategory is-injective-hom-F x y =
- is-emb-is-injective
- ( is-set-hom-Precategory D
- ( obj-map-Precategory C D F x)
- ( obj-map-Precategory C D F y))
- ( is-injective-hom-F x y)
-
- is-equiv-is-injective-hom-is-faithful-map-Precategory :
- is-equiv is-injective-hom-is-faithful-map-Precategory
- is-equiv-is-injective-hom-is-faithful-map-Precategory =
- is-equiv-is-prop
- ( is-prop-is-faithful-map-Precategory C D F)
- ( is-prop-is-injective-hom-map-Precategory C D F)
- ( is-faithful-is-injective-hom-map-Precategory)
-
- is-equiv-is-faithful-is-injective-hom-map-Precategory :
- is-equiv is-faithful-is-injective-hom-map-Precategory
- is-equiv-is-faithful-is-injective-hom-map-Precategory =
- is-equiv-is-prop
- ( is-prop-is-injective-hom-map-Precategory C D F)
- ( is-prop-is-faithful-map-Precategory C D F)
- ( is-injective-hom-is-faithful-map-Precategory)
-
- equiv-is-injective-hom-is-faithful-map-Precategory :
- is-faithful-map-Precategory C D F ≃
- is-injective-hom-map-Precategory C D F
- pr1 equiv-is-injective-hom-is-faithful-map-Precategory =
- is-injective-hom-is-faithful-map-Precategory
- pr2 equiv-is-injective-hom-is-faithful-map-Precategory =
- is-equiv-is-injective-hom-is-faithful-map-Precategory
-
- equiv-is-faithful-is-injective-hom-map-Precategory :
- is-injective-hom-map-Precategory C D F ≃
- is-faithful-map-Precategory C D F
- pr1 equiv-is-faithful-is-injective-hom-map-Precategory =
- is-faithful-is-injective-hom-map-Precategory
- pr2 equiv-is-faithful-is-injective-hom-map-Precategory =
- is-equiv-is-faithful-is-injective-hom-map-Precategory
-```
-
### A functor of precategories is faithful if and only if it is injective on hom-sets
```agda
diff --git a/src/category-theory/faithful-maps-precategories.lagda.md b/src/category-theory/faithful-maps-precategories.lagda.md
new file mode 100644
index 0000000000..644445effd
--- /dev/null
+++ b/src/category-theory/faithful-maps-precategories.lagda.md
@@ -0,0 +1,151 @@
+# Faithful maps between precategories
+
+```agda
+module category-theory.faithful-maps-precategories where
+```
+
+Imports
+
+```agda
+open import category-theory.functors-precategories
+open import category-theory.maps-precategories
+open import category-theory.precategories
+
+open import foundation.dependent-pair-types
+open import foundation.embeddings
+open import foundation.equivalences
+open import foundation.injective-maps
+open import foundation.propositions
+open import foundation.universe-levels
+```
+
+
+
+## Idea
+
+A [map](category-theory.maps-precategories.md) between
+[precategories](category-theory.precategories.md) `C` and `D` is **faithful** if
+its an [embedding](foundation-core.embeddings.md) on hom-sets.
+
+Note that embeddings on [sets](foundation-core.sets.md) happen to coincide with
+[injections](foundation.injective-maps.md), but we define it in terms of the
+stronger notion, as this is the notion that generalizes.
+
+## Definition
+
+### The predicate of being faithful on maps between precategories
+
+```agda
+module _
+ {l1 l2 l3 l4 : Level}
+ (C : Precategory l1 l2)
+ (D : Precategory l3 l4)
+ (F : map-Precategory C D)
+ where
+
+ is-faithful-map-Precategory : UU (l1 ⊔ l2 ⊔ l4)
+ is-faithful-map-Precategory =
+ (x y : obj-Precategory C) → is-emb (hom-map-Precategory C D F {x} {y})
+
+ is-prop-is-faithful-map-Precategory : is-prop is-faithful-map-Precategory
+ is-prop-is-faithful-map-Precategory =
+ is-prop-Π² (λ x y → is-prop-is-emb (hom-map-Precategory C D F {x} {y}))
+
+ is-faithful-prop-map-Precategory : Prop (l1 ⊔ l2 ⊔ l4)
+ pr1 is-faithful-prop-map-Precategory = is-faithful-map-Precategory
+ pr2 is-faithful-prop-map-Precategory = is-prop-is-faithful-map-Precategory
+```
+
+### The predicate of being injective on hom-sets on maps between precategories
+
+```agda
+module _
+ {l1 l2 l3 l4 : Level}
+ (C : Precategory l1 l2)
+ (D : Precategory l3 l4)
+ (F : map-Precategory C D)
+ where
+
+ is-injective-hom-map-Precategory : UU (l1 ⊔ l2 ⊔ l4)
+ is-injective-hom-map-Precategory =
+ (x y : obj-Precategory C) → is-injective (hom-map-Precategory C D F {x} {y})
+
+ is-prop-is-injective-hom-map-Precategory :
+ is-prop is-injective-hom-map-Precategory
+ is-prop-is-injective-hom-map-Precategory =
+ is-prop-Π²
+ ( λ x y →
+ is-prop-is-injective
+ ( is-set-hom-Precategory C x y)
+ ( hom-map-Precategory C D F {x} {y}))
+
+ is-injective-hom-prop-map-Precategory : Prop (l1 ⊔ l2 ⊔ l4)
+ pr1 is-injective-hom-prop-map-Precategory = is-injective-hom-map-Precategory
+ pr2 is-injective-hom-prop-map-Precategory =
+ is-prop-is-injective-hom-map-Precategory
+```
+
+## Properties
+
+### A map of precategories is faithful if and only if it is injective on hom-sets
+
+```agda
+module _
+ {l1 l2 l3 l4 : Level}
+ (C : Precategory l1 l2)
+ (D : Precategory l3 l4)
+ (F : map-Precategory C D)
+ where
+
+ is-injective-hom-is-faithful-map-Precategory :
+ is-faithful-map-Precategory C D F →
+ is-injective-hom-map-Precategory C D F
+ is-injective-hom-is-faithful-map-Precategory is-faithful-F x y =
+ is-injective-is-emb (is-faithful-F x y)
+
+ is-faithful-is-injective-hom-map-Precategory :
+ is-injective-hom-map-Precategory C D F →
+ is-faithful-map-Precategory C D F
+ is-faithful-is-injective-hom-map-Precategory is-injective-hom-F x y =
+ is-emb-is-injective
+ ( is-set-hom-Precategory D
+ ( obj-map-Precategory C D F x)
+ ( obj-map-Precategory C D F y))
+ ( is-injective-hom-F x y)
+
+ is-equiv-is-injective-hom-is-faithful-map-Precategory :
+ is-equiv is-injective-hom-is-faithful-map-Precategory
+ is-equiv-is-injective-hom-is-faithful-map-Precategory =
+ is-equiv-is-prop
+ ( is-prop-is-faithful-map-Precategory C D F)
+ ( is-prop-is-injective-hom-map-Precategory C D F)
+ ( is-faithful-is-injective-hom-map-Precategory)
+
+ is-equiv-is-faithful-is-injective-hom-map-Precategory :
+ is-equiv is-faithful-is-injective-hom-map-Precategory
+ is-equiv-is-faithful-is-injective-hom-map-Precategory =
+ is-equiv-is-prop
+ ( is-prop-is-injective-hom-map-Precategory C D F)
+ ( is-prop-is-faithful-map-Precategory C D F)
+ ( is-injective-hom-is-faithful-map-Precategory)
+
+ equiv-is-injective-hom-is-faithful-map-Precategory :
+ is-faithful-map-Precategory C D F ≃
+ is-injective-hom-map-Precategory C D F
+ pr1 equiv-is-injective-hom-is-faithful-map-Precategory =
+ is-injective-hom-is-faithful-map-Precategory
+ pr2 equiv-is-injective-hom-is-faithful-map-Precategory =
+ is-equiv-is-injective-hom-is-faithful-map-Precategory
+
+ equiv-is-faithful-is-injective-hom-map-Precategory :
+ is-injective-hom-map-Precategory C D F ≃
+ is-faithful-map-Precategory C D F
+ pr1 equiv-is-faithful-is-injective-hom-map-Precategory =
+ is-faithful-is-injective-hom-map-Precategory
+ pr2 equiv-is-faithful-is-injective-hom-map-Precategory =
+ is-equiv-is-faithful-is-injective-hom-map-Precategory
+```
+
+## See also
+
+- [Faithful functors between precategories](category-theory.faithful-functors-precategories.md)
diff --git a/src/category-theory/precategories.lagda.md b/src/category-theory/precategories.lagda.md
index 68dae96c7f..e6804555a4 100644
--- a/src/category-theory/precategories.lagda.md
+++ b/src/category-theory/precategories.lagda.md
@@ -22,12 +22,12 @@ open import foundation.universe-levels
## Idea
-A precategory in Homotopy Type Theory consists of:
+A **precategory** in Homotopy Type Theory consists of:
- a type `A` of objects,
-- for each pair of objects `x y : A`, a set of morphisms `hom x y : Set`,
- together with a composition operation `_∘_ : hom y z → hom x y → hom x z` such
- that:
+- for each pair of objects `x y : A`, a [set](foundation-core.sets.md) of
+ morphisms `hom x y : Set`, together with a composition operation
+ `_∘_ : hom y z → hom x y → hom x z` such that:
- `(h ∘ g) ∘ f = h ∘ (g ∘ f)` for any morphisms `h : hom z w`, `g : hom y z` and
`f : hom x y`,
- for each object `x : A` there is a morphism `id_x : hom x x` such that
diff --git a/src/category-theory/simplex-category.lagda.md b/src/category-theory/simplex-category.lagda.md
new file mode 100644
index 0000000000..d711836f67
--- /dev/null
+++ b/src/category-theory/simplex-category.lagda.md
@@ -0,0 +1,145 @@
+# The simplex category
+
+```agda
+module category-theory.simplex-category where
+```
+
+Imports
+
+```agda
+open import category-theory.precategories
+
+open import elementary-number-theory.inequality-standard-finite-types
+open import elementary-number-theory.natural-numbers
+
+open import foundation.dependent-pair-types
+open import foundation.identity-types
+open import foundation.sets
+open import foundation.universe-levels
+
+open import order-theory.order-preserving-maps-posets
+```
+
+
+
+## Idea
+
+**The simplex category** is the category consisting of inhabited finite total
+orders and
+[order-preserving maps](order-theory.order-preserving-maps-posets.md). However,
+we define it as the category whose objects are
+[natural numbers](elementary-number-theory.natural-numbers.md) and whose
+hom-[sets](foundation-core.sets.md) `hom n m` are order-preserving maps between
+the [standard finite types](univalent-combinatorics.standard-finite-types.md)
+`Fin (succ-ℕ n)` to `Fin (succ-ℕ m)` [equipped](foundation.structure.md) with
+the
+[standard ordering](elementary-number-theory.inequality-standard-finite-types.md),
+and then show that it is
+[equivalent](category-theory.equivalences-of-precategories.md) to the former.
+
+## Definition
+
+### The simplex precategory
+
+```agda
+obj-simplex-Category : UU lzero
+obj-simplex-Category = ℕ
+
+hom-set-simplex-Category :
+ obj-simplex-Category → obj-simplex-Category → Set lzero
+hom-set-simplex-Category n m =
+ hom-set-Poset (Fin-Poset (succ-ℕ n)) (Fin-Poset (succ-ℕ m))
+
+hom-simplex-Category :
+ obj-simplex-Category → obj-simplex-Category → UU lzero
+hom-simplex-Category n m = type-Set (hom-set-simplex-Category n m)
+
+comp-hom-simplex-Category :
+ {n m r : obj-simplex-Category} →
+ hom-simplex-Category m r → hom-simplex-Category n m → hom-simplex-Category n r
+comp-hom-simplex-Category {n} {m} {r} =
+ comp-hom-Poset
+ ( Fin-Poset (succ-ℕ n))
+ ( Fin-Poset (succ-ℕ m))
+ ( Fin-Poset (succ-ℕ r))
+
+associative-comp-hom-simplex-Category :
+ {n m r s : obj-simplex-Category}
+ (h : hom-simplex-Category r s)
+ (g : hom-simplex-Category m r)
+ (f : hom-simplex-Category n m) →
+ ( comp-hom-simplex-Category {n} {m} {s}
+ ( comp-hom-simplex-Category {m} {r} {s} h g)
+ ( f)) =
+ ( comp-hom-simplex-Category {n} {r} {s}
+ ( h)
+ ( comp-hom-simplex-Category {n} {m} {r} g f))
+associative-comp-hom-simplex-Category {n} {m} {r} {s} =
+ associative-comp-hom-Poset
+ ( Fin-Poset (succ-ℕ n))
+ ( Fin-Poset (succ-ℕ m))
+ ( Fin-Poset (succ-ℕ r))
+ ( Fin-Poset (succ-ℕ s))
+
+associative-composition-structure-simplex-Category :
+ associative-composition-structure-Set hom-set-simplex-Category
+pr1 associative-composition-structure-simplex-Category {n} {m} {r} =
+ comp-hom-simplex-Category {n} {m} {r}
+pr2 associative-composition-structure-simplex-Category {n} {m} {r} {s} =
+ associative-comp-hom-simplex-Category {n} {m} {r} {s}
+
+id-hom-simplex-Category : (n : obj-simplex-Category) → hom-simplex-Category n n
+id-hom-simplex-Category n = id-hom-Poset (Fin-Poset (succ-ℕ n))
+
+left-unit-law-comp-hom-simplex-Category :
+ {n m : obj-simplex-Category} (f : hom-simplex-Category n m) →
+ comp-hom-simplex-Category {n} {m} {m} (id-hom-simplex-Category m) f = f
+left-unit-law-comp-hom-simplex-Category {n} {m} =
+ left-unit-law-comp-hom-Poset (Fin-Poset (succ-ℕ n)) (Fin-Poset (succ-ℕ m))
+
+right-unit-law-comp-hom-simplex-Category :
+ {n m : obj-simplex-Category} (f : hom-simplex-Category n m) →
+ comp-hom-simplex-Category {n} {n} {m} f (id-hom-simplex-Category n) = f
+right-unit-law-comp-hom-simplex-Category {n} {m} =
+ right-unit-law-comp-hom-Poset (Fin-Poset (succ-ℕ n)) (Fin-Poset (succ-ℕ m))
+
+is-unital-composition-structure-simplex-Category :
+ is-unital-composition-structure-Set
+ ( hom-set-simplex-Category)
+ ( associative-composition-structure-simplex-Category)
+pr1 is-unital-composition-structure-simplex-Category = id-hom-simplex-Category
+pr1 (pr2 is-unital-composition-structure-simplex-Category) {n} {m} =
+ left-unit-law-comp-hom-simplex-Category {n} {m}
+pr2 (pr2 is-unital-composition-structure-simplex-Category) {n} {m} =
+ right-unit-law-comp-hom-simplex-Category {n} {m}
+
+simplex-Precategory : Precategory lzero lzero
+pr1 simplex-Precategory = obj-simplex-Category
+pr1 (pr2 simplex-Precategory) = hom-set-simplex-Category
+pr1 (pr2 (pr2 simplex-Precategory)) =
+ associative-composition-structure-simplex-Category
+pr2 (pr2 (pr2 simplex-Precategory)) =
+ is-unital-composition-structure-simplex-Category
+```
+
+### The simplex category
+
+It remains to be formalized that the simplex category is univalent.
+
+## Properties
+
+### The simplex category is equivalent to the category of inhabited finite total orders
+
+This remains to be formalized.
+
+### The simplex category has a face map and degeneracy unique factorization system
+
+This remains to be formalized.
+
+### The simplex category has a degeneracy and face map unique factorization system
+
+This remains to be formalized.
+
+### There is a unique non-trivial involution on the simplex category
+
+This remains to be formalized.
diff --git a/src/category-theory/subprecategories.lagda.md b/src/category-theory/subprecategories.lagda.md
index 7882df6624..4026e9bfd0 100644
--- a/src/category-theory/subprecategories.lagda.md
+++ b/src/category-theory/subprecategories.lagda.md
@@ -7,7 +7,9 @@ module category-theory.subprecategories where
Imports
```agda
+open import category-theory.embeddings-precategories
open import category-theory.faithful-functors-precategories
+open import category-theory.faithful-maps-precategories
open import category-theory.functors-precategories
open import category-theory.maps-precategories
open import category-theory.precategories
@@ -381,7 +383,7 @@ module _
## Properties
-### The inclusion functor is faithful and an embedding on objects
+### The inclusion functor is an embedding
```agda
module _
@@ -390,31 +392,46 @@ module _
(P : Subprecategory l3 l4 C)
where
- is-faithful-inclusion-map-Precategory :
+ is-faithful-inclusion-map-Subprecategory :
is-faithful-map-Precategory
( precategory-Subprecategory C P)
( C)
( inclusion-map-Subprecategory C P)
- is-faithful-inclusion-map-Precategory x y =
+ is-faithful-inclusion-map-Subprecategory x y =
is-emb-inclusion-subtype
( subtype-hom-Subprecategory C P
( inclusion-obj-Subprecategory C P x)
( inclusion-obj-Subprecategory C P y))
- is-faithful-inclusion-functor-Precategory :
+ is-faithful-inclusion-functor-Subprecategory :
is-faithful-functor-Precategory
( precategory-Subprecategory C P)
( C)
( inclusion-functor-Subprecategory C P)
- is-faithful-inclusion-functor-Precategory =
- is-faithful-inclusion-map-Precategory
+ is-faithful-inclusion-functor-Subprecategory =
+ is-faithful-inclusion-map-Subprecategory
- is-emb-obj-inclusion-functor-Precategory :
+ is-emb-obj-inclusion-functor-Subprecategory :
is-emb
( obj-functor-Precategory
( precategory-Subprecategory C P)
( C)
( inclusion-functor-Subprecategory C P))
- is-emb-obj-inclusion-functor-Precategory =
+ is-emb-obj-inclusion-functor-Subprecategory =
is-emb-inclusion-subtype (subtype-obj-Subprecategory C P)
+
+ is-embedding-inclusion-functor-Subprecategory :
+ is-embedding-functor-Precategory
+ ( precategory-Subprecategory C P)
+ ( C)
+ ( inclusion-functor-Subprecategory C P)
+ pr1 is-embedding-inclusion-functor-Subprecategory =
+ is-emb-obj-inclusion-functor-Subprecategory
+ pr2 is-embedding-inclusion-functor-Subprecategory =
+ is-faithful-inclusion-functor-Subprecategory
+
+ embedding-Subprecategory :
+ embedding-Precategory (precategory-Subprecategory C P) C
+ pr1 embedding-Subprecategory = inclusion-functor-Subprecategory C P
+ pr2 embedding-Subprecategory = is-embedding-inclusion-functor-Subprecategory
```
diff --git a/src/finite-group-theory/finite-semigroups.lagda.md b/src/finite-group-theory/finite-semigroups.lagda.md
index 41e1c80077..95c63559fb 100644
--- a/src/finite-group-theory/finite-semigroups.lagda.md
+++ b/src/finite-group-theory/finite-semigroups.lagda.md
@@ -150,8 +150,7 @@ is-π-finite-Semigroup-of-Order {l} k n =
( λ X →
is-proof-irrelevant-is-prop
( is-prop-is-set _)
- ( is-set-is-finite
- ( is-finite-has-cardinality n (pr2 X))))) ∘e
+ ( is-set-is-finite (is-finite-has-cardinality n (pr2 X))))) ∘e
( equiv-right-swap-Σ))
( λ X → id-equiv)) ∘e
( equiv-right-swap-Σ
diff --git a/src/order-theory.lagda.md b/src/order-theory.lagda.md
index e8dd83ea59..63bb2e593b 100644
--- a/src/order-theory.lagda.md
+++ b/src/order-theory.lagda.md
@@ -30,6 +30,7 @@ open import order-theory.distributive-lattices public
open import order-theory.finite-coverings-locales public
open import order-theory.finite-posets public
open import order-theory.finite-preorders public
+open import order-theory.finite-total-orders public
open import order-theory.finitely-graded-posets public
open import order-theory.frames public
open import order-theory.galois-connections public
@@ -45,6 +46,7 @@ open import order-theory.homomorphisms-meet-semilattices public
open import order-theory.homomorphisms-meet-sup-lattices public
open import order-theory.homomorphisms-sup-lattices public
open import order-theory.ideals-preorders public
+open import order-theory.inhabited-finite-total-orders public
open import order-theory.interval-subposets public
open import order-theory.join-semilattices public
open import order-theory.large-frames public
@@ -78,6 +80,12 @@ open import order-theory.order-preserving-maps-posets public
open import order-theory.order-preserving-maps-preorders public
open import order-theory.posets public
open import order-theory.powers-of-large-locales public
+open import order-theory.precategory-of-decidable-total-orders public
+open import order-theory.precategory-of-finite-posets public
+open import order-theory.precategory-of-finite-total-orders public
+open import order-theory.precategory-of-inhabited-finite-total-orders public
+open import order-theory.precategory-of-posets public
+open import order-theory.precategory-of-total-orders public
open import order-theory.preorders public
open import order-theory.reflective-galois-connections-large-posets public
open import order-theory.similarity-of-elements-large-posets public
diff --git a/src/order-theory/decidable-total-orders.lagda.md b/src/order-theory/decidable-total-orders.lagda.md
index b39c7659d1..fcbb19892f 100644
--- a/src/order-theory/decidable-total-orders.lagda.md
+++ b/src/order-theory/decidable-total-orders.lagda.md
@@ -8,7 +8,6 @@ module order-theory.decidable-total-orders where
```agda
open import foundation.binary-relations
-open import foundation.cartesian-product-types
open import foundation.coproduct-types
open import foundation.decidable-propositions
open import foundation.dependent-pair-types
@@ -34,10 +33,27 @@ which the inequality [relation](foundation.binary-relations.md) is
## Definitions
+### The predicate on posets of being decidable total orders
+
+```agda
+is-decidable-total-prop-Poset : {l1 l2 : Level} → Poset l1 l2 → Prop (l1 ⊔ l2)
+is-decidable-total-prop-Poset P =
+ prod-Prop (is-total-Poset-Prop P) (is-decidable-leq-Poset-Prop P)
+
+is-decidable-total-Poset : {l1 l2 : Level} → Poset l1 l2 → UU (l1 ⊔ l2)
+is-decidable-total-Poset P = type-Prop (is-decidable-total-prop-Poset P)
+
+is-prop-is-decidable-total-Poset :
+ {l1 l2 : Level} (P : Poset l1 l2) → is-prop (is-decidable-total-Poset P)
+is-prop-is-decidable-total-Poset P =
+ is-prop-type-Prop (is-decidable-total-prop-Poset P)
+```
+
+### The type of decidable total orders
+
```agda
Decidable-Total-Order : (l1 l2 : Level) → UU (lsuc l1 ⊔ lsuc l2)
-Decidable-Total-Order l1 l2 =
- Σ (Poset l1 l2) (λ P → is-total-Poset P × is-decidable-leq-Poset P)
+Decidable-Total-Order l1 l2 = Σ (Poset l1 l2) (is-decidable-total-Poset)
module _
{l1 l2 : Level} (P : Decidable-Total-Order l1 l2)
diff --git a/src/order-theory/finite-posets.lagda.md b/src/order-theory/finite-posets.lagda.md
index 5ac41e6e17..299060d532 100644
--- a/src/order-theory/finite-posets.lagda.md
+++ b/src/order-theory/finite-posets.lagda.md
@@ -9,11 +9,13 @@ module order-theory.finite-posets where
```agda
open import foundation.decidable-types
open import foundation.dependent-pair-types
+open import foundation.function-types
open import foundation.propositions
open import foundation.universe-levels
open import order-theory.finite-preorders
open import order-theory.posets
+open import order-theory.preorders
open import univalent-combinatorics.finite-types
```
@@ -22,8 +24,9 @@ open import univalent-combinatorics.finite-types
## Definitions
-A **finite poset** is a poset of which the underlying type is finite, and of
-which the ordering relation is decidable.
+A **finite poset** is a [poset](order-theory.posets.md) of which the underlying
+type is [finite](univalent-combinatorics.finite-types.md), and of which the
+ordering relation is [decidable](foundation.decidable-relations.md).
```agda
module _
@@ -45,8 +48,7 @@ module _
is-finite-type-is-finite-Preorder (preorder-Poset P)
is-decidable-leq-is-finite-Poset :
- is-finite-Poset →
- (x y : type-Poset P) → is-decidable (leq-Poset P x y)
+ is-finite-Poset → (x y : type-Poset P) → is-decidable (leq-Poset P x y)
is-decidable-leq-is-finite-Poset =
is-decidable-leq-is-finite-Preorder (preorder-Poset P)
@@ -54,4 +56,19 @@ Poset-𝔽 : (l1 l2 : Level) → UU (lsuc l1 ⊔ lsuc l2)
Poset-𝔽 l1 l2 =
Σ ( Preorder-𝔽 l1 l2)
( λ P → is-antisymmetric-leq-Preorder (preorder-Preorder-𝔽 P))
+
+preorder-𝔽-Poset-𝔽 : {l1 l2 : Level} → Poset-𝔽 l1 l2 → Preorder-𝔽 l1 l2
+preorder-𝔽-Poset-𝔽 = pr1
+
+preorder-Poset-𝔽 : {l1 l2 : Level} → Poset-𝔽 l1 l2 → Preorder l1 l2
+preorder-Poset-𝔽 = preorder-Preorder-𝔽 ∘ pr1
+
+is-antisymmetric-leq-Poset-𝔽 :
+ {l1 l2 : Level} (P : Poset-𝔽 l1 l2) →
+ is-antisymmetric-leq-Preorder (preorder-Poset-𝔽 P)
+is-antisymmetric-leq-Poset-𝔽 = pr2
+
+poset-Poset-𝔽 : {l1 l2 : Level} → Poset-𝔽 l1 l2 → Poset l1 l2
+pr1 (poset-Poset-𝔽 P) = preorder-Poset-𝔽 P
+pr2 (poset-Poset-𝔽 P) = is-antisymmetric-leq-Poset-𝔽 P
```
diff --git a/src/order-theory/finite-preorders.lagda.md b/src/order-theory/finite-preorders.lagda.md
index 91c3f601ef..5043ea8a9d 100644
--- a/src/order-theory/finite-preorders.lagda.md
+++ b/src/order-theory/finite-preorders.lagda.md
@@ -35,8 +35,9 @@ open import univalent-combinatorics.standard-finite-types
## Idea
-We say that a preorder `P` is **finite** if `P` has finitely many elements and
-the ordering relation on `P` is decidable.
+We say that a [preorder](order-theory.preorders.md) `P` is **finite** if `P` has
+[finitely many elements](univalent-combinatorics.finite-types.md) and the
+ordering relation on `P` is [decidable](foundation.decidable-relations.md).
```agda
module _
diff --git a/src/order-theory/finite-total-orders.lagda.md b/src/order-theory/finite-total-orders.lagda.md
new file mode 100644
index 0000000000..5d960e0ae0
--- /dev/null
+++ b/src/order-theory/finite-total-orders.lagda.md
@@ -0,0 +1,90 @@
+# Finite total orders
+
+```agda
+module order-theory.finite-total-orders where
+```
+
+Imports
+
+```agda
+open import foundation.decidable-types
+open import foundation.dependent-pair-types
+open import foundation.function-types
+open import foundation.propositions
+open import foundation.universe-levels
+
+open import order-theory.finite-posets
+open import order-theory.finite-preorders
+open import order-theory.posets
+open import order-theory.total-orders
+
+open import univalent-combinatorics.finite-types
+```
+
+
+
+## Definitions
+
+A **finite total order** is a [total order](order-theory.total-orders.md) of
+which the underlying type is [finite](univalent-combinatorics.finite-types.md),
+and of which the ordering relation is
+[decidable](foundation.decidable-relations.md).
+
+```agda
+module _
+ {l1 l2 : Level} (P : Total-Order l1 l2)
+ where
+
+ is-finite-Total-Order-Prop : Prop (l1 ⊔ l2)
+ is-finite-Total-Order-Prop = is-finite-Poset-Prop (poset-Total-Order P)
+
+ is-finite-Total-Order : UU (l1 ⊔ l2)
+ is-finite-Total-Order = is-finite-Poset (poset-Total-Order P)
+
+ is-prop-is-finite-Total-Order : is-prop is-finite-Total-Order
+ is-prop-is-finite-Total-Order =
+ is-prop-is-finite-Poset (poset-Total-Order P)
+
+ is-finite-type-is-finite-Total-Order :
+ is-finite-Total-Order → is-finite (type-Total-Order P)
+ is-finite-type-is-finite-Total-Order =
+ is-finite-type-is-finite-Poset (poset-Total-Order P)
+
+ is-decidable-leq-is-finite-Total-Order :
+ is-finite-Total-Order →
+ (x y : type-Total-Order P) → is-decidable (leq-Total-Order P x y)
+ is-decidable-leq-is-finite-Total-Order =
+ is-decidable-leq-is-finite-Poset (poset-Total-Order P)
+
+is-finite-total-order-Poset-Prop :
+ {l1 l2 : Level} (P : Poset l1 l2) → Prop (l1 ⊔ l2)
+is-finite-total-order-Poset-Prop P =
+ prod-Prop
+ ( is-total-Poset-Prop P)
+ ( is-finite-Poset-Prop P)
+
+Total-Order-𝔽 : (l1 l2 : Level) → UU (lsuc l1 ⊔ lsuc l2)
+Total-Order-𝔽 l1 l2 =
+ Σ ( Poset-𝔽 l1 l2)
+ ( λ P → is-total-Poset (poset-Poset-𝔽 P))
+
+poset-𝔽-Total-Order-𝔽 : {l1 l2 : Level} → Total-Order-𝔽 l1 l2 → Poset-𝔽 l1 l2
+poset-𝔽-Total-Order-𝔽 = pr1
+
+poset-Total-Order-𝔽 : {l1 l2 : Level} → Total-Order-𝔽 l1 l2 → Poset l1 l2
+poset-Total-Order-𝔽 = poset-Poset-𝔽 ∘ poset-𝔽-Total-Order-𝔽
+
+is-total-Total-Order-𝔽 :
+ {l1 l2 : Level} (P : Total-Order-𝔽 l1 l2) →
+ is-total-Poset (poset-Total-Order-𝔽 P)
+is-total-Total-Order-𝔽 = pr2
+
+total-order-Total-Order-𝔽 :
+ {l1 l2 : Level} → Total-Order-𝔽 l1 l2 → Total-Order l1 l2
+pr1 (total-order-Total-Order-𝔽 P) = poset-Total-Order-𝔽 P
+pr2 (total-order-Total-Order-𝔽 P) = is-total-Total-Order-𝔽 P
+
+type-Total-Order-𝔽 :
+ {l1 l2 : Level} → Total-Order-𝔽 l1 l2 → UU l1
+type-Total-Order-𝔽 = type-Poset ∘ poset-Total-Order-𝔽
+```
diff --git a/src/order-theory/inhabited-finite-total-orders.lagda.md b/src/order-theory/inhabited-finite-total-orders.lagda.md
new file mode 100644
index 0000000000..0da80cd350
--- /dev/null
+++ b/src/order-theory/inhabited-finite-total-orders.lagda.md
@@ -0,0 +1,62 @@
+# Inhabited finite total orders
+
+```agda
+module order-theory.inhabited-finite-total-orders where
+```
+
+Imports
+
+```agda
+open import foundation.decidable-types
+open import foundation.dependent-pair-types
+open import foundation.function-types
+open import foundation.inhabited-types
+open import foundation.propositions
+open import foundation.universe-levels
+
+open import order-theory.finite-posets
+open import order-theory.finite-preorders
+open import order-theory.finite-total-orders
+open import order-theory.posets
+open import order-theory.total-orders
+
+open import univalent-combinatorics.finite-types
+```
+
+
+
+## Definitions
+
+An **inhabited finite total order** is a
+[finite total order](order-theory.finite-total-orders.md) of which the
+underlying type is [inhabited](foundation.inhabited-types.md).
+
+```agda
+module _
+ {l1 l2 : Level} (P : Total-Order-𝔽 l1 l2)
+ where
+
+ is-inhabited-Total-Order-𝔽-Prop : Prop l1
+ is-inhabited-Total-Order-𝔽-Prop = is-inhabited-Prop (type-Total-Order-𝔽 P)
+
+ is-inhabited-Total-Order-𝔽 : UU (l1 ⊔ l2)
+ is-inhabited-Total-Order-𝔽 = is-finite-Poset (poset-Total-Order-𝔽 P)
+
+ is-prop-is-inhabited-Total-Order-𝔽 : is-prop is-inhabited-Total-Order-𝔽
+ is-prop-is-inhabited-Total-Order-𝔽 =
+ is-prop-is-finite-Poset (poset-Total-Order-𝔽 P)
+
+ is-finite-type-is-inhabited-Total-Order-𝔽 :
+ is-inhabited-Total-Order-𝔽 → is-finite (type-Total-Order-𝔽 P)
+ is-finite-type-is-inhabited-Total-Order-𝔽 =
+ is-finite-type-is-finite-Poset (poset-Total-Order-𝔽 P)
+
+is-inhabited-finite-total-order-Poset-Prop :
+ {l1 l2 : Level} (P : Poset l1 l2) → Prop (l1 ⊔ l2)
+is-inhabited-finite-total-order-Poset-Prop P =
+ prod-Prop
+ ( is-total-Poset-Prop P)
+ ( prod-Prop
+ ( is-finite-Poset-Prop P)
+ ( is-inhabited-Prop (type-Poset P)))
+```
diff --git a/src/order-theory/posets.lagda.md b/src/order-theory/posets.lagda.md
index 0c945aee5c..1a3c6eb992 100644
--- a/src/order-theory/posets.lagda.md
+++ b/src/order-theory/posets.lagda.md
@@ -27,8 +27,10 @@ open import order-theory.preorders
## Idea
-A **poset** is a set equipped with a reflexive, antisymmetric, transitive
-relation that takes values in propositions.
+A **poset** is a [set](foundation-core.sets.md)
+[equipped](foundation.structure.md) with a reflexive, antisymmetric, transitive
+[relation](foundation.binary-relations.md) that takes values in
+[propositions](foundation-core.propositions.md).
## Definition
diff --git a/src/order-theory/precategory-of-decidable-total-orders.lagda.md b/src/order-theory/precategory-of-decidable-total-orders.lagda.md
new file mode 100644
index 0000000000..7632fb7f60
--- /dev/null
+++ b/src/order-theory/precategory-of-decidable-total-orders.lagda.md
@@ -0,0 +1,60 @@
+# The precategory of decidable total orders
+
+```agda
+module order-theory.precategory-of-decidable-total-orders where
+```
+
+Imports
+
+```agda
+open import category-theory.full-large-subprecategories
+open import category-theory.large-precategories
+open import category-theory.precategories
+
+open import foundation.universe-levels
+
+open import order-theory.decidable-total-orders
+open import order-theory.precategory-of-posets
+```
+
+
+
+## Idea
+
+The **(large) precategory of decidable total orders** consists of
+[decidable total orders](order-theory.decidable-total-orders.md) and
+[order preserving maps](order-theory.order-preserving-maps-posets.md) and is
+exhibited as a
+[full subprecategory](category-theory.full-large-subprecategories.md) of the
+[precategory of posets](order-theory.precategory-of-posets.md).
+
+## Definitions
+
+### The large precategory of decidable total orders
+
+```agda
+parametric-Decidable-Total-Order-Full-Large-Subprecategory :
+ (α β : Level → Level) →
+ Full-Large-Subprecategory
+ ( λ l → α l ⊔ β l)
+ ( parametric-Poset-Large-Precategory α β)
+parametric-Decidable-Total-Order-Full-Large-Subprecategory α β =
+ is-decidable-total-prop-Poset
+
+Decidable-Total-Order-Large-Precategory :
+ Large-Precategory lsuc (_⊔_)
+Decidable-Total-Order-Large-Precategory =
+ large-precategory-Full-Large-Subprecategory
+ ( Poset-Large-Precategory)
+ ( parametric-Decidable-Total-Order-Full-Large-Subprecategory
+ ( λ l → l)
+ ( λ l → l))
+```
+
+### The precategory or total orders of universe level `l`
+
+```agda
+Decidable-Total-Order-Precategory : (l : Level) → Precategory (lsuc l) l
+Decidable-Total-Order-Precategory =
+ precategory-Large-Precategory Decidable-Total-Order-Large-Precategory
+```
diff --git a/src/order-theory/precategory-of-finite-posets.lagda.md b/src/order-theory/precategory-of-finite-posets.lagda.md
new file mode 100644
index 0000000000..d992226f6e
--- /dev/null
+++ b/src/order-theory/precategory-of-finite-posets.lagda.md
@@ -0,0 +1,58 @@
+# The precategory of finite posets
+
+```agda
+module order-theory.precategory-of-finite-posets where
+```
+
+Imports
+
+```agda
+open import category-theory.full-large-subprecategories
+open import category-theory.large-precategories
+open import category-theory.precategories
+
+open import foundation.cartesian-product-types
+open import foundation.propositions
+open import foundation.universe-levels
+
+open import order-theory.finite-posets
+open import order-theory.precategory-of-posets
+```
+
+
+
+## Idea
+
+The **(large) precategory of finite posets** consists of
+[finite posets](order-theory.finite-posets.md) and
+[order preserving maps](order-theory.order-preserving-maps-posets.md) and is
+exhibited as a
+[full subprecategory](category-theory.full-large-subprecategories.md) of the
+[precategory of posets](order-theory.precategory-of-posets.md).
+
+## Definitions
+
+### The large precategory of finite posets
+
+```agda
+parametric-Poset-𝔽-Full-Large-Subprecategory :
+ (α β : Level → Level) →
+ Full-Large-Subprecategory
+ ( λ l → α l ⊔ β l)
+ ( parametric-Poset-Large-Precategory α β)
+parametric-Poset-𝔽-Full-Large-Subprecategory α β = is-finite-Poset-Prop
+
+Poset-𝔽-Large-Precategory :
+ Large-Precategory lsuc (_⊔_)
+Poset-𝔽-Large-Precategory =
+ large-precategory-Full-Large-Subprecategory
+ ( Poset-Large-Precategory)
+ ( parametric-Poset-𝔽-Full-Large-Subprecategory (λ l → l) (λ l → l))
+```
+
+### The precategory of finite posets of universe level `l`
+
+```agda
+Poset-𝔽-Precategory : (l : Level) → Precategory (lsuc l) l
+Poset-𝔽-Precategory = precategory-Large-Precategory Poset-𝔽-Large-Precategory
+```
diff --git a/src/order-theory/precategory-of-finite-total-orders.lagda.md b/src/order-theory/precategory-of-finite-total-orders.lagda.md
new file mode 100644
index 0000000000..9e98270f0f
--- /dev/null
+++ b/src/order-theory/precategory-of-finite-total-orders.lagda.md
@@ -0,0 +1,60 @@
+# The precategory of finite total orders
+
+```agda
+module order-theory.precategory-of-finite-total-orders where
+```
+
+Imports
+
+```agda
+open import category-theory.full-large-subprecategories
+open import category-theory.large-precategories
+open import category-theory.precategories
+
+open import foundation.cartesian-product-types
+open import foundation.propositions
+open import foundation.universe-levels
+
+open import order-theory.finite-total-orders
+open import order-theory.precategory-of-posets
+open import order-theory.precategory-of-total-orders
+```
+
+
+
+## Idea
+
+The **(large) precategory of finite total orders** consists of
+[finite total orders](order-theory.finite-total-orders.md) and
+[order preserving maps](order-theory.order-preserving-maps-posets.md) and is
+exhibited as a
+[full subprecategory](category-theory.full-large-subprecategories.md) of the
+[precategory of posets](order-theory.precategory-of-posets.md).
+
+## Definitions
+
+### The large precategory of finite total orders
+
+```agda
+parametric-Total-Order-𝔽-Full-Large-Subprecategory :
+ (α β : Level → Level) →
+ Full-Large-Subprecategory
+ ( λ l → α l ⊔ β l)
+ ( parametric-Poset-Large-Precategory α β)
+parametric-Total-Order-𝔽-Full-Large-Subprecategory α β =
+ is-finite-total-order-Poset-Prop
+
+Total-Order-𝔽-Large-Precategory : Large-Precategory lsuc (_⊔_)
+Total-Order-𝔽-Large-Precategory =
+ large-precategory-Full-Large-Subprecategory
+ ( Poset-Large-Precategory)
+ ( parametric-Total-Order-𝔽-Full-Large-Subprecategory (λ l → l) (λ l → l))
+```
+
+### The precategory of finite total orders of universe level `l`
+
+```agda
+Total-Order-𝔽-Precategory : (l : Level) → Precategory (lsuc l) l
+Total-Order-𝔽-Precategory =
+ precategory-Large-Precategory Total-Order-𝔽-Large-Precategory
+```
diff --git a/src/order-theory/precategory-of-inhabited-finite-total-orders.lagda.md b/src/order-theory/precategory-of-inhabited-finite-total-orders.lagda.md
new file mode 100644
index 0000000000..d71b8d8b7e
--- /dev/null
+++ b/src/order-theory/precategory-of-inhabited-finite-total-orders.lagda.md
@@ -0,0 +1,63 @@
+# The precategory of inhabited finite total orders
+
+```agda
+module order-theory.precategory-of-inhabited-finite-total-orders where
+```
+
+Imports
+
+```agda
+open import category-theory.full-large-subprecategories
+open import category-theory.large-precategories
+open import category-theory.precategories
+
+open import foundation.cartesian-product-types
+open import foundation.propositions
+open import foundation.universe-levels
+
+open import order-theory.finite-total-orders
+open import order-theory.inhabited-finite-total-orders
+open import order-theory.precategory-of-posets
+open import order-theory.precategory-of-total-orders
+```
+
+
+
+## Idea
+
+The **(large) precategory of inhabited finite total orders** consists of
+[inhabited finite total orders](order-theory.inhabited-finite-total-orders.md)
+and [order preserving maps](order-theory.order-preserving-maps-posets.md) and is
+exhibited as a
+[full subprecategory](category-theory.full-large-subprecategories.md) of the
+[precategory of posets](order-theory.precategory-of-posets.md).
+
+## Definitions
+
+### The large precategory of inhabited finite total orders
+
+```agda
+parametric-Inhabited-Total-Order-𝔽-Full-Large-Subprecategory :
+ (α β : Level → Level) →
+ Full-Large-Subprecategory
+ ( λ l → α l ⊔ β l)
+ ( parametric-Poset-Large-Precategory α β)
+parametric-Inhabited-Total-Order-𝔽-Full-Large-Subprecategory α β =
+ is-inhabited-finite-total-order-Poset-Prop
+
+Inhabited-Total-Order-𝔽-Large-Precategory : Large-Precategory lsuc (_⊔_)
+Inhabited-Total-Order-𝔽-Large-Precategory =
+ large-precategory-Full-Large-Subprecategory
+ ( Poset-Large-Precategory)
+ ( parametric-Inhabited-Total-Order-𝔽-Full-Large-Subprecategory
+ ( λ l → l)
+ ( λ l → l))
+```
+
+### The precategory of finite total orders of universe level `l`
+
+```agda
+Inhabited-Total-Order-𝔽-Precategory : (l : Level) → Precategory (lsuc l) l
+Inhabited-Total-Order-𝔽-Precategory =
+ precategory-Large-Precategory Inhabited-Total-Order-𝔽-Large-Precategory
+```
diff --git a/src/order-theory/precategory-of-posets.lagda.md b/src/order-theory/precategory-of-posets.lagda.md
new file mode 100644
index 0000000000..2c9fc94979
--- /dev/null
+++ b/src/order-theory/precategory-of-posets.lagda.md
@@ -0,0 +1,59 @@
+# The precategory of posets
+
+```agda
+module order-theory.precategory-of-posets where
+```
+
+Imports
+
+```agda
+open import category-theory.large-precategories
+open import category-theory.precategories
+
+open import foundation.universe-levels
+
+open import order-theory.order-preserving-maps-posets
+open import order-theory.posets
+```
+
+
+
+## Idea
+
+The **(large) precategory of posets** consists of
+[posets](order-theory.posets.md) and
+[order preserving maps](order-theory.order-preserving-maps-posets.md).
+
+## Definitions
+
+### The large precategory of posets
+
+```agda
+parametric-Poset-Large-Precategory :
+ (α β : Level → Level) →
+ Large-Precategory
+ ( λ l → lsuc (α l) ⊔ lsuc (β l))
+ ( λ l1 l2 → α l1 ⊔ β l1 ⊔ α l2 ⊔ β l2)
+parametric-Poset-Large-Precategory α β =
+ λ where
+ .obj-Large-Precategory l → Poset (α l) (β l)
+ .hom-set-Large-Precategory → hom-set-Poset
+ .comp-hom-Large-Precategory {X = X} {Y} {Z} → comp-hom-Poset X Y Z
+ .id-hom-Large-Precategory {X = X} → id-hom-Poset X
+ .associative-comp-hom-Large-Precategory {X = X} {Y} {Z} {W} →
+ associative-comp-hom-Poset X Y Z W
+ .left-unit-law-comp-hom-Large-Precategory {X = X} {Y} →
+ left-unit-law-comp-hom-Poset X Y
+ .right-unit-law-comp-hom-Large-Precategory {X = X} {Y} →
+ right-unit-law-comp-hom-Poset X Y
+
+Poset-Large-Precategory : Large-Precategory lsuc (_⊔_)
+Poset-Large-Precategory = parametric-Poset-Large-Precategory (λ l → l) (λ l → l)
+```
+
+### The precategory or posets of universe level `l`
+
+```agda
+Poset-Precategory : (l : Level) → Precategory (lsuc l) l
+Poset-Precategory = precategory-Large-Precategory Poset-Large-Precategory
+```
diff --git a/src/order-theory/precategory-of-total-orders.lagda.md b/src/order-theory/precategory-of-total-orders.lagda.md
new file mode 100644
index 0000000000..8a9fc8c68a
--- /dev/null
+++ b/src/order-theory/precategory-of-total-orders.lagda.md
@@ -0,0 +1,57 @@
+# The precategory of total orders
+
+```agda
+module order-theory.precategory-of-total-orders where
+```
+
+Imports
+
+```agda
+open import category-theory.full-large-subprecategories
+open import category-theory.large-precategories
+open import category-theory.precategories
+
+open import foundation.universe-levels
+
+open import order-theory.precategory-of-posets
+open import order-theory.total-orders
+```
+
+
+
+## Idea
+
+The **(large) precategory of total orders** consists of
+[total orders](order-theory.total-orders.md) and
+[order preserving maps](order-theory.order-preserving-maps-posets.md) and is
+exhibited as a
+[full subprecategory](category-theory.full-large-subprecategories.md) of the
+[precategory of posets](order-theory.precategory-of-posets.md).
+
+## Definitions
+
+### The large precategory of total orders
+
+```agda
+parametric-Total-Order-Full-Large-Subprecategory :
+ (α β : Level → Level) →
+ Full-Large-Subprecategory
+ ( λ l → α l ⊔ β l)
+ ( parametric-Poset-Large-Precategory α β)
+parametric-Total-Order-Full-Large-Subprecategory α β = is-total-Poset-Prop
+
+Total-Order-Large-Precategory :
+ Large-Precategory lsuc (_⊔_)
+Total-Order-Large-Precategory =
+ large-precategory-Full-Large-Subprecategory
+ ( Poset-Large-Precategory)
+ ( parametric-Total-Order-Full-Large-Subprecategory (λ l → l) (λ l → l))
+```
+
+### The precategory or total orders of universe level `l`
+
+```agda
+Total-Order-Precategory : (l : Level) → Precategory (lsuc l) l
+Total-Order-Precategory =
+ precategory-Large-Precategory Total-Order-Large-Precategory
+```
diff --git a/src/order-theory/preorders.lagda.md b/src/order-theory/preorders.lagda.md
index 311f0b4a3a..b1bd20bc0c 100644
--- a/src/order-theory/preorders.lagda.md
+++ b/src/order-theory/preorders.lagda.md
@@ -151,8 +151,7 @@ module _
module _
{l1 l2 : Level} (C : Precategory l1 l2)
- ( is-prop-hom-C :
- (x y : obj-Precategory C) → is-prop (hom-Precategory C x y))
+ ( is-prop-hom-C : (x y : obj-Precategory C) → is-prop (hom-Precategory C x y))
where
preorder-is-prop-hom-Precategory : Preorder l1 l2
diff --git a/src/univalent-combinatorics/equivalences-standard-finite-types.lagda.md b/src/univalent-combinatorics/equivalences-standard-finite-types.lagda.md
index 4b83b2b2bd..9190619d09 100644
--- a/src/univalent-combinatorics/equivalences-standard-finite-types.lagda.md
+++ b/src/univalent-combinatorics/equivalences-standard-finite-types.lagda.md
@@ -27,7 +27,8 @@ open import univalent-combinatorics.standard-finite-types
## Idea
-We construct equivalences between (types built out of) standard finite types.
+We construct **equivalences** between (types built out of)
+[standard finite types](univalent-combinatorics.standard-finite-types.md).
### The standard finite types are closed under function types
@@ -38,8 +39,8 @@ function-Fin zero-ℕ l =
( inv-left-unit-law-coprod unit) ∘e
( equiv-is-contr (universal-property-empty' (Fin l)) is-contr-unit)
function-Fin (succ-ℕ k) l =
- ( ( prod-Fin (exp-ℕ l k) l) ∘e
- ( equiv-prod (function-Fin k l) (equiv-universal-property-unit (Fin l)))) ∘e
+ ( prod-Fin (exp-ℕ l k) l) ∘e
+ ( equiv-prod (function-Fin k l) (equiv-universal-property-unit (Fin l))) ∘e
( equiv-universal-property-coprod (Fin l))
Fin-exp-ℕ : (k l : ℕ) → Fin (exp-ℕ l k) ≃ (Fin k → Fin l)
diff --git a/src/univalent-combinatorics/finite-types.lagda.md b/src/univalent-combinatorics/finite-types.lagda.md
index 4fa2bac999..c8f0de3f89 100644
--- a/src/univalent-combinatorics/finite-types.lagda.md
+++ b/src/univalent-combinatorics/finite-types.lagda.md
@@ -47,7 +47,9 @@ open import univalent-combinatorics.standard-finite-types
## Idea
-A type is finite if it is merely equivalent to a standard finite type.
+A type is **finite** if it is
+[merely equivalent](foundation.mere-equivalences.md) to a
+[standard finite type](univalent-combinatorics.standard-finite-types.md).
## Definition
@@ -99,7 +101,7 @@ has-cardinality :
has-cardinality k X = mere-equiv (Fin k) X
```
-### The type of all types of cardinality k of a given universe leve l
+### The type of all types of cardinality `k` of a given universe level
```agda
UU-Fin : (l : Level) → ℕ → UU (lsuc l)
diff --git a/src/univalent-combinatorics/inhabited-finite-types.lagda.md b/src/univalent-combinatorics/inhabited-finite-types.lagda.md
index 265f072024..e6d995b007 100644
--- a/src/univalent-combinatorics/inhabited-finite-types.lagda.md
+++ b/src/univalent-combinatorics/inhabited-finite-types.lagda.md
@@ -31,9 +31,11 @@ open import univalent-combinatorics.finite-types
An **inhabited finite type** is a
[finite type](univalent-combinatorics.finite-types.md) that is
-[inhabited](foundation.inhabited-types.md), meaning it is a type that is merely
-equivalent to a standard finite type, and that comes equipped with a term of its
-propositional truncation.
+[inhabited](foundation.inhabited-types.md), meaning it is a type that is
+[merely equivalent](foundation.mere-equivalences.md) to a
+[standard finite type](univalent-combinatorics.standard-finite-types.md), and
+that comes equipped with a term of its
+[propositional truncation](foundation.propositional-truncations.md).
## Definitions
@@ -123,7 +125,7 @@ compute-Fam-Inhabited-𝔽 :
{l1 l2 : Level} → (X : 𝔽 l1) →
Fam-Inhabited-Types-𝔽 l2 X ≃
Σ ( Fam-Inhabited-Types l2 (type-𝔽 X))
- ( λ Y → ((x : (type-𝔽 X)) → is-finite (type-Inhabited-Type (Y x))))
+ ( λ Y → (x : type-𝔽 X) → is-finite (type-Inhabited-Type (Y x)))
compute-Fam-Inhabited-𝔽 X =
( distributive-Π-Σ) ∘e
( equiv-Π
@@ -149,7 +151,7 @@ eq-equiv-Inhabited-𝔽 X Y e =
( e))
```
-### Every type in `UU-Fin (succ-ℕ n)` is a inhabited finite type
+### Every type in `UU-Fin (succ-ℕ n)` is an inhabited finite type
```agda
is-finite-and-inhabited-type-UU-Fin-succ-ℕ :
diff --git a/src/univalent-combinatorics/sequences-finite-types.lagda.md b/src/univalent-combinatorics/sequences-finite-types.lagda.md
index 699d6af9f5..b9d113365b 100644
--- a/src/univalent-combinatorics/sequences-finite-types.lagda.md
+++ b/src/univalent-combinatorics/sequences-finite-types.lagda.md
@@ -20,7 +20,6 @@ open import foundation.function-types
open import foundation.identity-types
open import foundation.injective-maps
open import foundation.negated-equality
-open import foundation.negation
open import foundation.pairs-of-distinct-elements
open import foundation.repetitions-of-values
open import foundation.repetitions-sequences
diff --git a/tables/precategories.md b/tables/precategories.md
index 06b715ed2e..de35225da8 100644
--- a/tables/precategories.md
+++ b/tables/precategories.md
@@ -1,15 +1,18 @@
-| Precategory | File |
-| --------------------- | ------------------------------------------------------------------------------------------------------------------------- |
-| Abelian groups | [`group-theory.precategory-of-abelian-groups`](group-theory.precategory-of-abelian-groups.md) |
-| Commutative monoids | [`group-theory.precategory-of-commutative-monoids`](group-theory.precategory-of-commutative-monoids.md) |
-| Commutative rings | [`commutative-algebra.precategory-of-commutative-rings`](commutative-algebra.precategory-of-commutative-rings.md) |
-| Commutative semirings | [`commutative-algebra.precategory-of-commutative-semirings`](commutative-algebra.precategory-of-commutative-semirings.md) |
-| Concrete groups | [`group-theory.precategory-of-concrete-groups`](group-theory.precategory-of-concrete-groups.md) |
-| Finite species | [`species.precategory-of-finite-species`](species.precategory-of-finite-species.md) |
-| `G`-sets | [`group-theory.precategory-of-group-actions`](group-theory.precategory-of-group-actions.md) |
-| Groups | [`group-theory.precategory-of-groups`](group-theory.precategory-of-groups.md) |
-| Monoids | [`group-theory.precategory-of-monoids`](group-theory.precategory-of-monoids.md) |
-| Rings | [`ring-theory.precategory-of-rings`](ring-theory.precategory-of-rings.md) |
-| Semigroups | [`group-theory.precategory-of-semigroups`](group-theory.precategory-of-semigroups.md) |
-| Semirings | [`ring-theory.precategory-of-semirings`](ring-theory.precategory-of-semirings.md) |
-| Sets | [`foundation.category-of-sets`](foundation.category-of-sets.md) |
+| Precategory | File |
+| ---------------------- | ------------------------------------------------------------------------------------------------------------------------- |
+| Abelian groups | [`group-theory.precategory-of-abelian-groups`](group-theory.precategory-of-abelian-groups.md) |
+| Commutative monoids | [`group-theory.precategory-of-commutative-monoids`](group-theory.precategory-of-commutative-monoids.md) |
+| Commutative rings | [`commutative-algebra.precategory-of-commutative-rings`](commutative-algebra.precategory-of-commutative-rings.md) |
+| Commutative semirings | [`commutative-algebra.precategory-of-commutative-semirings`](commutative-algebra.precategory-of-commutative-semirings.md) |
+| Concrete groups | [`group-theory.precategory-of-concrete-groups`](group-theory.precategory-of-concrete-groups.md) |
+| Decidable total orders | [`order-theory.precategory-of-decidable-total-orders`](order-theory.precategory-of-decidable-total-orders.md) |
+| Finite species | [`species.precategory-of-finite-species`](species.precategory-of-finite-species.md) |
+| `G`-sets | [`group-theory.precategory-of-group-actions`](group-theory.precategory-of-group-actions.md) |
+| Groups | [`group-theory.precategory-of-groups`](group-theory.precategory-of-groups.md) |
+| Monoids | [`group-theory.precategory-of-monoids`](group-theory.precategory-of-monoids.md) |
+| Posets | [`order-theory.precategory-of-posets`](order-theory.precategory-of-posets.md) |
+| Rings | [`ring-theory.precategory-of-rings`](ring-theory.precategory-of-rings.md) |
+| Semigroups | [`group-theory.precategory-of-semigroups`](group-theory.precategory-of-semigroups.md) |
+| Semirings | [`ring-theory.precategory-of-semirings`](ring-theory.precategory-of-semirings.md) |
+| Sets | [`foundation.category-of-sets`](foundation.category-of-sets.md) |
+| Total orders | [`order-theory.precategory-of-total-orders`](order-theory.precategory-of-total-orders.md) |