diff --git a/src/domain-theory/directed-families-posets.lagda.md b/src/domain-theory/directed-families-posets.lagda.md
index 2684d639aa..0b192c1b84 100644
--- a/src/domain-theory/directed-families-posets.lagda.md
+++ b/src/domain-theory/directed-families-posets.lagda.md
@@ -138,11 +138,11 @@ module _
( exists-structure-Prop type-directed-family-hom-Poset _)
( λ z y →
intro-exists z
- ( preserves-order-map-hom-Poset P Q f
+ ( preserves-order-hom-Poset P Q f
( family-directed-family-Poset P x u)
( family-directed-family-Poset P x z)
( pr1 y) ,
- preserves-order-map-hom-Poset P Q f
+ preserves-order-hom-Poset P Q f
( family-directed-family-Poset P x v)
( family-directed-family-Poset P x z)
( pr2 y)))
diff --git a/src/foundation/binary-relations.lagda.md b/src/foundation/binary-relations.lagda.md
index e4fe8d4600..b9ad577958 100644
--- a/src/foundation/binary-relations.lagda.md
+++ b/src/foundation/binary-relations.lagda.md
@@ -21,6 +21,7 @@ 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.sets
open import foundation-core.torsorial-type-families
```
@@ -191,7 +192,14 @@ module _
where
is-irreflexive : UU (l1 ⊔ l2)
- is-irreflexive = (x : A) → ¬ (R x x)
+ is-irreflexive = (x : A) → ¬ R x x
+
+module _
+ {l1 l2 : Level} {A : UU l1} (R : Relation-Prop l2 A)
+ where
+
+ is-irreflexive-Relation-Prop : UU (l1 ⊔ l2)
+ is-irreflexive-Relation-Prop = is-irreflexive (type-Relation-Prop R)
```
### The predicate of being an asymmetric relation
diff --git a/src/order-theory.lagda.md b/src/order-theory.lagda.md
index a5f5985c0f..f285009bbb 100644
--- a/src/order-theory.lagda.md
+++ b/src/order-theory.lagda.md
@@ -22,6 +22,8 @@ open import order-theory.decidable-subposets public
open import order-theory.decidable-subpreorders public
open import order-theory.decidable-total-orders public
open import order-theory.decidable-total-preorders public
+open import order-theory.deflationary-maps-posets public
+open import order-theory.deflationary-maps-preorders public
open import order-theory.dependent-products-large-frames public
open import order-theory.dependent-products-large-locales public
open import order-theory.dependent-products-large-meet-semilattices public
@@ -49,6 +51,8 @@ open import order-theory.homomorphisms-meet-suplattices public
open import order-theory.homomorphisms-suplattices public
open import order-theory.ideals-preorders public
open import order-theory.incidence-algebras public
+open import order-theory.inflationary-maps-posets public
+open import order-theory.inflationary-maps-preorders public
open import order-theory.inflattices public
open import order-theory.inhabited-chains-posets public
open import order-theory.inhabited-chains-preorders public
@@ -111,6 +115,10 @@ open import order-theory.similarity-of-elements-large-posets public
open import order-theory.similarity-of-elements-large-preorders public
open import order-theory.similarity-of-order-preserving-maps-large-posets public
open import order-theory.similarity-of-order-preserving-maps-large-preorders public
+open import order-theory.strict-order-preserving-maps public
+open import order-theory.strict-preorders public
+open import order-theory.strictly-inflationary-maps-strict-preorders public
+open import order-theory.strictly-preordered-sets public
open import order-theory.subposets public
open import order-theory.subpreorders public
open import order-theory.suplattices public
diff --git a/src/order-theory/chains-posets.lagda.md b/src/order-theory/chains-posets.lagda.md
index 0136242af1..404b506ee9 100644
--- a/src/order-theory/chains-posets.lagda.md
+++ b/src/order-theory/chains-posets.lagda.md
@@ -130,7 +130,7 @@ module _
inl-disjunction
( concatenate-eq-leq-eq-Poset' X
( pr2 p)
- ( preserves-order-map-hom-Poset (poset-Total-Order T) X f
+ ( preserves-order-hom-Poset (poset-Total-Order T) X f
( pr1 p)
( pr1 q)
( H))
@@ -139,7 +139,7 @@ module _
inr-disjunction
( concatenate-eq-leq-eq-Poset' X
( pr2 q)
- ( preserves-order-map-hom-Poset (poset-Total-Order T) X f
+ ( preserves-order-hom-Poset (poset-Total-Order T) X f
( pr1 q)
( pr1 p)
( H))
diff --git a/src/order-theory/deflationary-maps-posets.lagda.md b/src/order-theory/deflationary-maps-posets.lagda.md
new file mode 100644
index 0000000000..ffeb8f4da5
--- /dev/null
+++ b/src/order-theory/deflationary-maps-posets.lagda.md
@@ -0,0 +1,151 @@
+# Deflationary maps on a poset
+
+```agda
+module order-theory.deflationary-maps-posets where
+```
+
+Imports
+
+```agda
+open import foundation.dependent-pair-types
+open import foundation.propositions
+open import foundation.subtypes
+open import foundation.universe-levels
+
+open import order-theory.deflationary-maps-preorders
+open import order-theory.order-preserving-maps-posets
+open import order-theory.posets
+```
+
+
+
+## Idea
+
+A map $f : P → P$ on a [poset](order-theory.posets.md) $P$ is said to be a
+{{#concept "deflationary map" Disambiguation="poset" Agda=deflationary-map-Poset}}
+if the inequality
+
+$$
+ f(x) ≤ x
+$$
+
+holds for any element $x : P$. In other words, a map on a poset is deflationary
+precisely when the map on its underlying [preorder](order-theory.preorders.md)
+is [deflationary](order-theory.deflationary-maps-preorders.md). If $f$ is also
+[order preserving](order-theory.order-preserving-maps-posets.md) we say that $f$
+is a
+{{#concept "deflationary morphism" Disambiguation="poset" Agda=deflationary-hom-Poset}}.
+
+## Definitions
+
+### The predicate of being a deflationary map
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) (f : type-Poset P → type-Poset P)
+ where
+
+ is-deflationary-prop-map-Poset :
+ Prop (l1 ⊔ l2)
+ is-deflationary-prop-map-Poset =
+ is-deflationary-prop-map-Preorder (preorder-Poset P) f
+
+ is-deflationary-map-Poset :
+ UU (l1 ⊔ l2)
+ is-deflationary-map-Poset =
+ is-deflationary-map-Preorder (preorder-Poset P) f
+
+ is-prop-is-deflationary-map-Poset :
+ is-prop is-deflationary-map-Poset
+ is-prop-is-deflationary-map-Poset =
+ is-prop-is-deflationary-map-Preorder (preorder-Poset P) f
+```
+
+### The type of deflationary maps on a poset
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2)
+ where
+
+ deflationary-map-Poset :
+ UU (l1 ⊔ l2)
+ deflationary-map-Poset =
+ deflationary-map-Preorder (preorder-Poset P)
+
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) (f : deflationary-map-Poset P)
+ where
+
+ map-deflationary-map-Poset :
+ type-Poset P → type-Poset P
+ map-deflationary-map-Poset =
+ map-deflationary-map-Preorder (preorder-Poset P) f
+
+ is-deflationary-deflationary-map-Poset :
+ is-deflationary-map-Poset P map-deflationary-map-Poset
+ is-deflationary-deflationary-map-Poset =
+ is-deflationary-deflationary-map-Preorder (preorder-Poset P) f
+```
+
+### The predicate on order preserving maps of being deflationary
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) (f : hom-Poset P P)
+ where
+
+ is-deflationary-prop-hom-Poset : Prop (l1 ⊔ l2)
+ is-deflationary-prop-hom-Poset =
+ is-deflationary-prop-hom-Preorder (preorder-Poset P) f
+
+ is-deflationary-hom-Poset : UU (l1 ⊔ l2)
+ is-deflationary-hom-Poset =
+ is-deflationary-hom-Preorder (preorder-Poset P) f
+
+ is-prop-is-deflationary-hom-Poset :
+ is-prop is-deflationary-hom-Poset
+ is-prop-is-deflationary-hom-Poset =
+ is-prop-is-deflationary-hom-Preorder (preorder-Poset P) f
+```
+
+### The type of deflationary morphisms on a poset
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2)
+ where
+
+ deflationary-hom-Poset : UU (l1 ⊔ l2)
+ deflationary-hom-Poset =
+ deflationary-hom-Preorder (preorder-Poset P)
+
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) (f : deflationary-hom-Poset P)
+ where
+
+ hom-deflationary-hom-Poset :
+ hom-Poset P P
+ hom-deflationary-hom-Poset =
+ hom-deflationary-hom-Preorder (preorder-Poset P) f
+
+ map-deflationary-hom-Poset :
+ type-Poset P → type-Poset P
+ map-deflationary-hom-Poset =
+ map-deflationary-hom-Preorder (preorder-Poset P) f
+
+ preserves-order-deflationary-hom-Poset :
+ preserves-order-Poset P P map-deflationary-hom-Poset
+ preserves-order-deflationary-hom-Poset =
+ preserves-order-deflationary-hom-Preorder (preorder-Poset P) f
+
+ is-deflationary-deflationary-hom-Poset :
+ is-deflationary-map-Poset P map-deflationary-hom-Poset
+ is-deflationary-deflationary-hom-Poset =
+ is-deflationary-deflationary-hom-Preorder (preorder-Poset P) f
+
+ deflationary-map-deflationary-hom-Poset :
+ deflationary-map-Poset P
+ deflationary-map-deflationary-hom-Poset =
+ deflationary-map-deflationary-hom-Preorder (preorder-Poset P) f
+```
diff --git a/src/order-theory/deflationary-maps-preorders.lagda.md b/src/order-theory/deflationary-maps-preorders.lagda.md
new file mode 100644
index 0000000000..508b702878
--- /dev/null
+++ b/src/order-theory/deflationary-maps-preorders.lagda.md
@@ -0,0 +1,150 @@
+# Deflationary maps on a preorder
+
+```agda
+module order-theory.deflationary-maps-preorders where
+```
+
+Imports
+
+```agda
+open import foundation.dependent-pair-types
+open import foundation.propositions
+open import foundation.subtypes
+open import foundation.universe-levels
+
+open import order-theory.order-preserving-maps-preorders
+open import order-theory.preorders
+```
+
+
+
+## Idea
+
+A map $f : P → P$ on a [preorder](order-theory.preorders.md) $P$ is said to be a
+{{#concept "deflationary map" Disambiguation="preorder" Agda=deflationary-map-Preorder}}
+if the inequality
+
+$$
+ f(x) ≤ x
+$$
+
+holds for any element $x : P$. If $f$ is also
+[order preserving](order-theory.order-preserving-maps-preorders.md) we say that
+$f$ is a
+{{#concept "deflationary morphism" Disambiguation="preorder" Agda=deflationary-hom-Preorder}}.
+
+## Definitions
+
+### The predicate of being a deflationary map
+
+```agda
+module _
+ {l1 l2 : Level} (P : Preorder l1 l2) (f : type-Preorder P → type-Preorder P)
+ where
+
+ is-deflationary-prop-map-Preorder :
+ Prop (l1 ⊔ l2)
+ is-deflationary-prop-map-Preorder =
+ Π-Prop (type-Preorder P) (λ x → leq-prop-Preorder P (f x) x)
+
+ is-deflationary-map-Preorder :
+ UU (l1 ⊔ l2)
+ is-deflationary-map-Preorder =
+ type-Prop is-deflationary-prop-map-Preorder
+
+ is-prop-is-deflationary-map-Preorder :
+ is-prop is-deflationary-map-Preorder
+ is-prop-is-deflationary-map-Preorder =
+ is-prop-type-Prop is-deflationary-prop-map-Preorder
+```
+
+### The type of deflationary maps on a preorder
+
+```agda
+module _
+ {l1 l2 : Level} (P : Preorder l1 l2)
+ where
+
+ deflationary-map-Preorder :
+ UU (l1 ⊔ l2)
+ deflationary-map-Preorder =
+ type-subtype (is-deflationary-prop-map-Preorder P)
+
+module _
+ {l1 l2 : Level} (P : Preorder l1 l2) (f : deflationary-map-Preorder P)
+ where
+
+ map-deflationary-map-Preorder :
+ type-Preorder P → type-Preorder P
+ map-deflationary-map-Preorder =
+ pr1 f
+
+ is-deflationary-deflationary-map-Preorder :
+ is-deflationary-map-Preorder P map-deflationary-map-Preorder
+ is-deflationary-deflationary-map-Preorder =
+ pr2 f
+```
+
+### The predicate on order preserving maps of being deflationary
+
+```agda
+module _
+ {l1 l2 : Level} (P : Preorder l1 l2) (f : hom-Preorder P P)
+ where
+
+ is-deflationary-prop-hom-Preorder : Prop (l1 ⊔ l2)
+ is-deflationary-prop-hom-Preorder =
+ is-deflationary-prop-map-Preorder P (map-hom-Preorder P P f)
+
+ is-deflationary-hom-Preorder : UU (l1 ⊔ l2)
+ is-deflationary-hom-Preorder =
+ is-deflationary-map-Preorder P (map-hom-Preorder P P f)
+
+ is-prop-is-deflationary-hom-Preorder :
+ is-prop is-deflationary-hom-Preorder
+ is-prop-is-deflationary-hom-Preorder =
+ is-prop-is-deflationary-map-Preorder P (map-hom-Preorder P P f)
+```
+
+### The type of deflationary morphisms on a preorder
+
+```agda
+module _
+ {l1 l2 : Level} (P : Preorder l1 l2)
+ where
+
+ deflationary-hom-Preorder : UU (l1 ⊔ l2)
+ deflationary-hom-Preorder =
+ type-subtype (is-deflationary-prop-hom-Preorder P)
+
+module _
+ {l1 l2 : Level} (P : Preorder l1 l2) (f : deflationary-hom-Preorder P)
+ where
+
+ hom-deflationary-hom-Preorder :
+ hom-Preorder P P
+ hom-deflationary-hom-Preorder =
+ pr1 f
+
+ map-deflationary-hom-Preorder :
+ type-Preorder P → type-Preorder P
+ map-deflationary-hom-Preorder =
+ map-hom-Preorder P P hom-deflationary-hom-Preorder
+
+ preserves-order-deflationary-hom-Preorder :
+ preserves-order-Preorder P P map-deflationary-hom-Preorder
+ preserves-order-deflationary-hom-Preorder =
+ preserves-order-hom-Preorder P P hom-deflationary-hom-Preorder
+
+ is-deflationary-deflationary-hom-Preorder :
+ is-deflationary-map-Preorder P map-deflationary-hom-Preorder
+ is-deflationary-deflationary-hom-Preorder =
+ pr2 f
+
+ deflationary-map-deflationary-hom-Preorder :
+ deflationary-map-Preorder P
+ pr1 deflationary-map-deflationary-hom-Preorder =
+ map-deflationary-hom-Preorder
+ pr2 deflationary-map-deflationary-hom-Preorder =
+ is-deflationary-deflationary-hom-Preorder
+```
diff --git a/src/order-theory/galois-connections.lagda.md b/src/order-theory/galois-connections.lagda.md
index 5ae6e96259..e0ac6170c7 100644
--- a/src/order-theory/galois-connections.lagda.md
+++ b/src/order-theory/galois-connections.lagda.md
@@ -84,7 +84,7 @@ module _
preserves-order-upper-adjoint-Galois-Connection :
preserves-order-Poset Q P map-upper-adjoint-Galois-Connection
preserves-order-upper-adjoint-Galois-Connection =
- preserves-order-map-hom-Poset Q P upper-adjoint-Galois-Connection
+ preserves-order-hom-Poset Q P upper-adjoint-Galois-Connection
is-upper-adjoint-upper-adjoint-Galois-Connection :
is-upper-adjoint-Galois-Connection upper-adjoint-Galois-Connection
@@ -102,7 +102,7 @@ module _
preserves-order-lower-adjoint-Galois-Connection :
preserves-order-Poset P Q map-lower-adjoint-Galois-Connection
preserves-order-lower-adjoint-Galois-Connection =
- preserves-order-map-hom-Poset P Q lower-adjoint-Galois-Connection
+ preserves-order-hom-Poset P Q lower-adjoint-Galois-Connection
adjoint-relation-Galois-Connection :
(x : type-Poset P) (y : type-Poset Q) →
diff --git a/src/order-theory/homomorphisms-large-suplattices.lagda.md b/src/order-theory/homomorphisms-large-suplattices.lagda.md
index ac054229b8..181c422651 100644
--- a/src/order-theory/homomorphisms-large-suplattices.lagda.md
+++ b/src/order-theory/homomorphisms-large-suplattices.lagda.md
@@ -81,14 +81,14 @@ module _
( large-poset-Large-Suplattice L)
( hom-large-poset-hom-Large-Suplattice f)
- preserves-order-map-hom-Large-Suplattice :
+ preserves-order-hom-Large-Suplattice :
{l1 l2 : Level}
(x : type-Large-Suplattice K l1) (y : type-Large-Suplattice K l2) →
leq-Large-Suplattice K x y →
leq-Large-Suplattice L
( map-hom-Large-Suplattice x)
( map-hom-Large-Suplattice y)
- preserves-order-map-hom-Large-Suplattice =
+ preserves-order-hom-Large-Suplattice =
preserves-order-hom-Large-Poset
( large-poset-Large-Suplattice K)
( large-poset-Large-Suplattice L)
diff --git a/src/order-theory/inflationary-maps-posets.lagda.md b/src/order-theory/inflationary-maps-posets.lagda.md
new file mode 100644
index 0000000000..00c3374a3b
--- /dev/null
+++ b/src/order-theory/inflationary-maps-posets.lagda.md
@@ -0,0 +1,151 @@
+# Inflationary maps on a poset
+
+```agda
+module order-theory.inflationary-maps-posets where
+```
+
+Imports
+
+```agda
+open import foundation.dependent-pair-types
+open import foundation.propositions
+open import foundation.subtypes
+open import foundation.universe-levels
+
+open import order-theory.inflationary-maps-preorders
+open import order-theory.order-preserving-maps-posets
+open import order-theory.posets
+```
+
+
+
+## Idea
+
+A map $f : P → P$ on a [poset](order-theory.posets.md) $P$ is said to be an
+{{#concept "inflationary map" Disambiguation="poset" Agda=inflationary-map-Poset}}
+if the inequality
+
+$$
+ x ≤ f(x)
+$$
+
+holds for any element $x : P$. In other words, a map on a poset is inflationary
+precisely when the map on its underlying [preorder](order-theory.preorders.md)
+is [inflationary](order-theory.inflationary-maps-preorders.md). If $f$ is also
+[order preserving](order-theory.order-preserving-maps-posets.md) we say that $f$
+is an
+{{#concept "inflationary morphism" Disambiguation="poset" Agda=inflationary-hom-Poset}}.
+
+## Definitions
+
+### The predicate of being an inflationary map
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) (f : type-Poset P → type-Poset P)
+ where
+
+ is-inflationary-prop-map-Poset :
+ Prop (l1 ⊔ l2)
+ is-inflationary-prop-map-Poset =
+ is-inflationary-prop-map-Preorder (preorder-Poset P) f
+
+ is-inflationary-map-Poset :
+ UU (l1 ⊔ l2)
+ is-inflationary-map-Poset =
+ is-inflationary-map-Preorder (preorder-Poset P) f
+
+ is-prop-is-inflationary-map-Poset :
+ is-prop is-inflationary-map-Poset
+ is-prop-is-inflationary-map-Poset =
+ is-prop-is-inflationary-map-Preorder (preorder-Poset P) f
+```
+
+### The type of inflationary maps on a poset
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2)
+ where
+
+ inflationary-map-Poset :
+ UU (l1 ⊔ l2)
+ inflationary-map-Poset =
+ inflationary-map-Preorder (preorder-Poset P)
+
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) (f : inflationary-map-Poset P)
+ where
+
+ map-inflationary-map-Poset :
+ type-Poset P → type-Poset P
+ map-inflationary-map-Poset =
+ map-inflationary-map-Preorder (preorder-Poset P) f
+
+ is-inflationary-inflationary-map-Poset :
+ is-inflationary-map-Poset P map-inflationary-map-Poset
+ is-inflationary-inflationary-map-Poset =
+ is-inflationary-inflationary-map-Preorder (preorder-Poset P) f
+```
+
+### The predicate on order preserving maps of being inflationary
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) (f : hom-Poset P P)
+ where
+
+ is-inflationary-prop-hom-Poset : Prop (l1 ⊔ l2)
+ is-inflationary-prop-hom-Poset =
+ is-inflationary-prop-hom-Preorder (preorder-Poset P) f
+
+ is-inflationary-hom-Poset : UU (l1 ⊔ l2)
+ is-inflationary-hom-Poset =
+ is-inflationary-hom-Preorder (preorder-Poset P) f
+
+ is-prop-is-inflationary-hom-Poset :
+ is-prop is-inflationary-hom-Poset
+ is-prop-is-inflationary-hom-Poset =
+ is-prop-is-inflationary-hom-Preorder (preorder-Poset P) f
+```
+
+### The type of inflationary morphisms on a poset
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2)
+ where
+
+ inflationary-hom-Poset : UU (l1 ⊔ l2)
+ inflationary-hom-Poset =
+ inflationary-hom-Preorder (preorder-Poset P)
+
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) (f : inflationary-hom-Poset P)
+ where
+
+ hom-inflationary-hom-Poset :
+ hom-Poset P P
+ hom-inflationary-hom-Poset =
+ hom-inflationary-hom-Preorder (preorder-Poset P) f
+
+ map-inflationary-hom-Poset :
+ type-Poset P → type-Poset P
+ map-inflationary-hom-Poset =
+ map-inflationary-hom-Preorder (preorder-Poset P) f
+
+ preserves-order-inflationary-hom-Poset :
+ preserves-order-Poset P P map-inflationary-hom-Poset
+ preserves-order-inflationary-hom-Poset =
+ preserves-order-inflationary-hom-Preorder (preorder-Poset P) f
+
+ is-inflationary-inflationary-hom-Poset :
+ is-inflationary-map-Poset P map-inflationary-hom-Poset
+ is-inflationary-inflationary-hom-Poset =
+ is-inflationary-inflationary-hom-Preorder (preorder-Poset P) f
+
+ inflationary-map-inflationary-hom-Poset :
+ inflationary-map-Poset P
+ inflationary-map-inflationary-hom-Poset =
+ inflationary-map-inflationary-hom-Preorder (preorder-Poset P) f
+```
diff --git a/src/order-theory/inflationary-maps-preorders.lagda.md b/src/order-theory/inflationary-maps-preorders.lagda.md
new file mode 100644
index 0000000000..aa2d482b97
--- /dev/null
+++ b/src/order-theory/inflationary-maps-preorders.lagda.md
@@ -0,0 +1,151 @@
+# Inflationary maps on a preorder
+
+```agda
+module order-theory.inflationary-maps-preorders where
+```
+
+Imports
+
+```agda
+open import foundation.dependent-pair-types
+open import foundation.propositions
+open import foundation.subtypes
+open import foundation.universe-levels
+
+open import order-theory.order-preserving-maps-preorders
+open import order-theory.preorders
+```
+
+
+
+## Idea
+
+A map $f : P → P$ on a [preorder](order-theory.preorders.md) $P$ is said to be
+an
+{{#concept "inflationary map" Disambiguation="preorder" Agda=inflationary-map-Preorder}}
+if the inequality
+
+$$
+ x ≤ f(x)
+$$
+
+holds for any element $x : P$. If $f$ is also
+[order preserving](order-theory.order-preserving-maps-preorders.md) we say that
+$f$ is an
+{{#concept "inflationary morphism" Disambiguation="preorder" Agda=inflationary-hom-Preorder}}.
+
+## Definitions
+
+### The predicate of being an inflationary map
+
+```agda
+module _
+ {l1 l2 : Level} (P : Preorder l1 l2) (f : type-Preorder P → type-Preorder P)
+ where
+
+ is-inflationary-prop-map-Preorder :
+ Prop (l1 ⊔ l2)
+ is-inflationary-prop-map-Preorder =
+ Π-Prop (type-Preorder P) (λ x → leq-prop-Preorder P x (f x))
+
+ is-inflationary-map-Preorder :
+ UU (l1 ⊔ l2)
+ is-inflationary-map-Preorder =
+ type-Prop is-inflationary-prop-map-Preorder
+
+ is-prop-is-inflationary-map-Preorder :
+ is-prop is-inflationary-map-Preorder
+ is-prop-is-inflationary-map-Preorder =
+ is-prop-type-Prop is-inflationary-prop-map-Preorder
+```
+
+### The type of inflationary maps on a preorder
+
+```agda
+module _
+ {l1 l2 : Level} (P : Preorder l1 l2)
+ where
+
+ inflationary-map-Preorder :
+ UU (l1 ⊔ l2)
+ inflationary-map-Preorder =
+ type-subtype (is-inflationary-prop-map-Preorder P)
+
+module _
+ {l1 l2 : Level} (P : Preorder l1 l2) (f : inflationary-map-Preorder P)
+ where
+
+ map-inflationary-map-Preorder :
+ type-Preorder P → type-Preorder P
+ map-inflationary-map-Preorder =
+ pr1 f
+
+ is-inflationary-inflationary-map-Preorder :
+ is-inflationary-map-Preorder P map-inflationary-map-Preorder
+ is-inflationary-inflationary-map-Preorder =
+ pr2 f
+```
+
+### The predicate on order preserving maps of being inflationary
+
+```agda
+module _
+ {l1 l2 : Level} (P : Preorder l1 l2) (f : hom-Preorder P P)
+ where
+
+ is-inflationary-prop-hom-Preorder : Prop (l1 ⊔ l2)
+ is-inflationary-prop-hom-Preorder =
+ is-inflationary-prop-map-Preorder P (map-hom-Preorder P P f)
+
+ is-inflationary-hom-Preorder : UU (l1 ⊔ l2)
+ is-inflationary-hom-Preorder =
+ is-inflationary-map-Preorder P (map-hom-Preorder P P f)
+
+ is-prop-is-inflationary-hom-Preorder :
+ is-prop is-inflationary-hom-Preorder
+ is-prop-is-inflationary-hom-Preorder =
+ is-prop-is-inflationary-map-Preorder P (map-hom-Preorder P P f)
+```
+
+### The type of inflationary morphisms on a preorder
+
+```agda
+module _
+ {l1 l2 : Level} (P : Preorder l1 l2)
+ where
+
+ inflationary-hom-Preorder : UU (l1 ⊔ l2)
+ inflationary-hom-Preorder =
+ type-subtype (is-inflationary-prop-hom-Preorder P)
+
+module _
+ {l1 l2 : Level} (P : Preorder l1 l2) (f : inflationary-hom-Preorder P)
+ where
+
+ hom-inflationary-hom-Preorder :
+ hom-Preorder P P
+ hom-inflationary-hom-Preorder =
+ pr1 f
+
+ map-inflationary-hom-Preorder :
+ type-Preorder P → type-Preorder P
+ map-inflationary-hom-Preorder =
+ map-hom-Preorder P P hom-inflationary-hom-Preorder
+
+ preserves-order-inflationary-hom-Preorder :
+ preserves-order-Preorder P P map-inflationary-hom-Preorder
+ preserves-order-inflationary-hom-Preorder =
+ preserves-order-hom-Preorder P P hom-inflationary-hom-Preorder
+
+ is-inflationary-inflationary-hom-Preorder :
+ is-inflationary-map-Preorder P map-inflationary-hom-Preorder
+ is-inflationary-inflationary-hom-Preorder =
+ pr2 f
+
+ inflationary-map-inflationary-hom-Preorder :
+ inflationary-map-Preorder P
+ pr1 inflationary-map-inflationary-hom-Preorder =
+ map-inflationary-hom-Preorder
+ pr2 inflationary-map-inflationary-hom-Preorder =
+ is-inflationary-inflationary-hom-Preorder
+```
diff --git a/src/order-theory/opposite-preorders.lagda.md b/src/order-theory/opposite-preorders.lagda.md
index 39c2c42ec0..2e6db98be2 100644
--- a/src/order-theory/opposite-preorders.lagda.md
+++ b/src/order-theory/opposite-preorders.lagda.md
@@ -80,7 +80,7 @@ module _
hom-Preorder (opposite-Preorder P) (opposite-Preorder Q)
opposite-hom-Preorder f =
( map-hom-Preorder P Q f) ,
- ( λ x y p → preserves-order-map-hom-Preorder P Q f y x p)
+ ( λ x y p → preserves-order-hom-Preorder P Q f y x p)
```
## Properties
diff --git a/src/order-theory/order-preserving-maps-posets.lagda.md b/src/order-theory/order-preserving-maps-posets.lagda.md
index 077313f75b..163aee3f3f 100644
--- a/src/order-theory/order-preserving-maps-posets.lagda.md
+++ b/src/order-theory/order-preserving-maps-posets.lagda.md
@@ -64,10 +64,10 @@ module _
map-hom-Poset : hom-Poset → type-Poset P → type-Poset Q
map-hom-Poset = map-hom-Preorder (preorder-Poset P) (preorder-Poset Q)
- preserves-order-map-hom-Poset :
+ preserves-order-hom-Poset :
(f : hom-Poset) → preserves-order-Poset (map-hom-Poset f)
- preserves-order-map-hom-Poset =
- preserves-order-map-hom-Preorder (preorder-Poset P) (preorder-Poset Q)
+ preserves-order-hom-Poset =
+ preserves-order-hom-Preorder (preorder-Poset P) (preorder-Poset Q)
```
### Homotopies of order preserving maps
diff --git a/src/order-theory/order-preserving-maps-preorders.lagda.md b/src/order-theory/order-preserving-maps-preorders.lagda.md
index d3bf16d8ee..a45df09656 100644
--- a/src/order-theory/order-preserving-maps-preorders.lagda.md
+++ b/src/order-theory/order-preserving-maps-preorders.lagda.md
@@ -28,21 +28,24 @@ open import order-theory.preorders
## Idea
-A map `f : P → Q` between the underlying types of two preorders is said to be
-**order preserving** if `x ≤ y` in `P` implies `f x ≤ f y` in `Q`.
+A map `f : P → Q` between the underlying types of two
+[preorders](order-theory.preorders.md) is said to be an
+{{#concept "order preserving map" Disambiguation="preorder" Agda=hom-Preorder}}
+if for any two elements `x ≤ y` in `P` we have `f x ≤ f y` in `Q`.
## Definition
-### Order preserving maps
+### The predicate of being an order preserving map
```agda
module _
{l1 l2 l3 l4 : Level} (P : Preorder l1 l2) (Q : Preorder l3 l4)
+ (f : type-Preorder P → type-Preorder Q)
where
preserves-order-prop-Preorder :
- (type-Preorder P → type-Preorder Q) → Prop (l1 ⊔ l2 ⊔ l4)
- preserves-order-prop-Preorder f =
+ Prop (l1 ⊔ l2 ⊔ l4)
+ preserves-order-prop-Preorder =
Π-Prop
( type-Preorder P)
( λ x →
@@ -54,26 +57,37 @@ module _
( leq-prop-Preorder Q (f x) (f y))))
preserves-order-Preorder :
- (type-Preorder P → type-Preorder Q) → UU (l1 ⊔ l2 ⊔ l4)
- preserves-order-Preorder f =
- type-Prop (preserves-order-prop-Preorder f)
+ UU (l1 ⊔ l2 ⊔ l4)
+ preserves-order-Preorder =
+ type-Prop preserves-order-prop-Preorder
is-prop-preserves-order-Preorder :
- (f : type-Preorder P → type-Preorder Q) →
- is-prop (preserves-order-Preorder f)
- is-prop-preserves-order-Preorder f =
- is-prop-type-Prop (preserves-order-prop-Preorder f)
+ is-prop preserves-order-Preorder
+ is-prop-preserves-order-Preorder =
+ is-prop-type-Prop preserves-order-prop-Preorder
+```
+
+### The type of order preserving maps
+
+```agda
+module _
+ {l1 l2 l3 l4 : Level} (P : Preorder l1 l2) (Q : Preorder l3 l4)
+ where
- hom-Preorder : UU (l1 ⊔ l2 ⊔ l3 ⊔ l4)
+ hom-Preorder :
+ UU (l1 ⊔ l2 ⊔ l3 ⊔ l4)
hom-Preorder =
- Σ (type-Preorder P → type-Preorder Q) preserves-order-Preorder
+ Σ (type-Preorder P → type-Preorder Q) (preserves-order-Preorder P Q)
- map-hom-Preorder : hom-Preorder → type-Preorder P → type-Preorder Q
- map-hom-Preorder = pr1
+ map-hom-Preorder :
+ hom-Preorder → type-Preorder P → type-Preorder Q
+ map-hom-Preorder =
+ pr1
- preserves-order-map-hom-Preorder :
- (f : hom-Preorder) → preserves-order-Preorder (map-hom-Preorder f)
- preserves-order-map-hom-Preorder = pr2
+ preserves-order-hom-Preorder :
+ (f : hom-Preorder) → preserves-order-Preorder P Q (map-hom-Preorder f)
+ preserves-order-hom-Preorder =
+ pr2
```
### Homotopies of order preserving maps
@@ -101,7 +115,7 @@ module _
( is-prop-preserves-order-Preorder P Q)
( map-hom-Preorder P Q f)
( refl-htpy)
- ( preserves-order-map-hom-Preorder P Q f)
+ ( preserves-order-hom-Preorder P Q f)
is-equiv-htpy-eq-hom-Preorder :
(f g : hom-Preorder P Q) → is-equiv (htpy-eq-hom-Preorder f g)
@@ -150,10 +164,10 @@ module _
preserves-order-Preorder P R
( map-hom-Preorder Q R g ∘ map-hom-Preorder P Q f)
preserves-order-comp-Preorder g f x y H =
- preserves-order-map-hom-Preorder Q R g
+ preserves-order-hom-Preorder Q R g
( map-hom-Preorder P Q f x)
( map-hom-Preorder P Q f y)
- ( preserves-order-map-hom-Preorder P Q f x y H)
+ ( preserves-order-hom-Preorder P Q f x y H)
comp-hom-Preorder :
(g : hom-Preorder Q R) (f : hom-Preorder P Q) →
diff --git a/src/order-theory/strict-order-preserving-maps.lagda.md b/src/order-theory/strict-order-preserving-maps.lagda.md
new file mode 100644
index 0000000000..44b8225347
--- /dev/null
+++ b/src/order-theory/strict-order-preserving-maps.lagda.md
@@ -0,0 +1,157 @@
+# Strict order preserving maps
+
+```agda
+module order-theory.strict-order-preserving-maps where
+```
+
+Imports
+
+```agda
+open import foundation.binary-relations
+open import foundation.dependent-pair-types
+open import foundation.propositions
+open import foundation.subtypes
+open import foundation.universe-levels
+
+open import order-theory.strict-preorders
+open import order-theory.strictly-preordered-sets
+```
+
+
+
+## Idea
+
+Consider two [strict preorders](order-theory.strict-preorders.md) $P$ and $Q$,
+with orderings $<_P$ and $<_Q$ respectively. A
+{{#concept "strict order preserving map" Agda=hom-Strict-Preorder}} consists of
+map $f : P → Q$ between their underlying types such that for any two elements
+$x<_P y$ in $P$ we have $f(x)<_Q f(y)$ in $Q$.
+
+## Definitions
+
+### The predicate on maps between strict preorders of preserving the strict ordering
+
+```agda
+module _
+ {l1 l2 l3 l4 : Level}
+ (P : Strict-Preorder l1 l2) (Q : Strict-Preorder l3 l4)
+ (f : type-Strict-Preorder P → type-Strict-Preorder Q)
+ where
+
+ preserves-strict-order-prop-map-Strict-Preorder :
+ Prop (l1 ⊔ l2 ⊔ l4)
+ preserves-strict-order-prop-map-Strict-Preorder =
+ Π-Prop
+ ( type-Strict-Preorder P)
+ ( λ x →
+ Π-Prop
+ ( type-Strict-Preorder P)
+ ( λ y →
+ hom-Prop
+ ( le-prop-Strict-Preorder P x y)
+ ( le-prop-Strict-Preorder Q (f x) (f y))))
+
+ preserves-strict-order-map-Strict-Preorder :
+ UU (l1 ⊔ l2 ⊔ l4)
+ preserves-strict-order-map-Strict-Preorder =
+ type-Prop preserves-strict-order-prop-map-Strict-Preorder
+
+ is-prop-preserves-strict-order-map-Strict-Preorder :
+ is-prop preserves-strict-order-map-Strict-Preorder
+ is-prop-preserves-strict-order-map-Strict-Preorder =
+ is-prop-type-Prop preserves-strict-order-prop-map-Strict-Preorder
+```
+
+### The type of strict order preserving maps between strict preorders
+
+```agda
+module _
+ {l1 l2 l3 l4 : Level}
+ (P : Strict-Preorder l1 l2) (Q : Strict-Preorder l3 l4)
+ where
+
+ hom-Strict-Preorder : UU (l1 ⊔ l2 ⊔ l3 ⊔ l4)
+ hom-Strict-Preorder =
+ type-subtype (preserves-strict-order-prop-map-Strict-Preorder P Q)
+
+module _
+ {l1 l2 l3 l4 : Level}
+ (P : Strict-Preorder l1 l2) (Q : Strict-Preorder l3 l4)
+ (f : hom-Strict-Preorder P Q)
+ where
+
+ map-hom-Strict-Preorder :
+ type-Strict-Preorder P → type-Strict-Preorder Q
+ map-hom-Strict-Preorder =
+ pr1 f
+
+ preserves-strict-order-hom-Strict-Preorder :
+ preserves-strict-order-map-Strict-Preorder P Q
+ ( map-hom-Strict-Preorder)
+ preserves-strict-order-hom-Strict-Preorder =
+ pr2 f
+```
+
+### The predicate on maps between strictly preordered sets of preserving the strict ordering
+
+```agda
+module _
+ {l1 l2 l3 l4 : Level}
+ (P : Strictly-Preordered-Set l1 l2) (Q : Strictly-Preordered-Set l3 l4)
+ (f : type-Strictly-Preordered-Set P → type-Strictly-Preordered-Set Q)
+ where
+
+ preserves-strict-order-prop-map-Strictly-Preordered-Set :
+ Prop (l1 ⊔ l2 ⊔ l4)
+ preserves-strict-order-prop-map-Strictly-Preordered-Set =
+ preserves-strict-order-prop-map-Strict-Preorder
+ ( strict-preorder-Strictly-Preordered-Set P)
+ ( strict-preorder-Strictly-Preordered-Set Q)
+ ( f)
+
+ preserves-strict-order-map-Strictly-Preordered-Set :
+ UU (l1 ⊔ l2 ⊔ l4)
+ preserves-strict-order-map-Strictly-Preordered-Set =
+ preserves-strict-order-map-Strict-Preorder
+ ( strict-preorder-Strictly-Preordered-Set P)
+ ( strict-preorder-Strictly-Preordered-Set Q)
+ ( f)
+
+ is-prop-preserves-strict-order-map-Strictly-Preordered-Set :
+ is-prop preserves-strict-order-map-Strictly-Preordered-Set
+ is-prop-preserves-strict-order-map-Strictly-Preordered-Set =
+ is-prop-preserves-strict-order-map-Strict-Preorder
+ ( strict-preorder-Strictly-Preordered-Set P)
+ ( strict-preorder-Strictly-Preordered-Set Q)
+ ( f)
+```
+
+### The type of strict order preserving maps between strictly preordered sets
+
+```agda
+module _
+ {l1 l2 l3 l4 : Level}
+ (P : Strictly-Preordered-Set l1 l2) (Q : Strictly-Preordered-Set l3 l4)
+ where
+
+ hom-Strictly-Preordered-Set : UU (l1 ⊔ l2 ⊔ l3 ⊔ l4)
+ hom-Strictly-Preordered-Set =
+ type-subtype (preserves-strict-order-prop-map-Strictly-Preordered-Set P Q)
+
+module _
+ {l1 l2 l3 l4 : Level}
+ (P : Strictly-Preordered-Set l1 l2) (Q : Strictly-Preordered-Set l3 l4)
+ (f : hom-Strictly-Preordered-Set P Q)
+ where
+
+ map-hom-Strictly-Preordered-Set :
+ type-Strictly-Preordered-Set P → type-Strictly-Preordered-Set Q
+ map-hom-Strictly-Preordered-Set =
+ pr1 f
+
+ preserves-strict-order-hom-Strictly-Preordered-Set :
+ preserves-strict-order-map-Strictly-Preordered-Set P Q
+ ( map-hom-Strictly-Preordered-Set)
+ preserves-strict-order-hom-Strictly-Preordered-Set =
+ pr2 f
+```
diff --git a/src/order-theory/strict-preorders.lagda.md b/src/order-theory/strict-preorders.lagda.md
new file mode 100644
index 0000000000..071d017b3d
--- /dev/null
+++ b/src/order-theory/strict-preorders.lagda.md
@@ -0,0 +1,96 @@
+# Strict preorders
+
+```agda
+module order-theory.strict-preorders where
+```
+
+Imports
+
+```agda
+open import foundation.binary-relations
+open import foundation.cartesian-product-types
+open import foundation.dependent-pair-types
+open import foundation.empty-types
+open import foundation.negation
+open import foundation.propositions
+open import foundation.universe-levels
+```
+
+
+
+## Idea
+
+A {{#concept "strict preorder" Agda=Strict-Preorder}} consists of a type $A$, a
+[binary relation](foundation.binary-relations.md) $<$ on $A$ valued in the
+[propositions](foundation-core.propositions.md), such that the relation $<$ is
+irreflexive and transitive:
+
+- For any $x:A$ we have $x \nle x$.
+- For any $x,y,z:A$ we have $yImports
+
+```agda
+open import foundation.dependent-pair-types
+open import foundation.propositions
+open import foundation.subtypes
+open import foundation.universe-levels
+
+open import order-theory.strict-order-preserving-maps
+open import order-theory.strict-preorders
+```
+
+
+
+## Idea
+
+A map $f : P → P$ on a [strict preorder](order-theory.strict-preorders.md) $P$
+is said to be a
+{{#concept "strictly inflationary map" Disambiguation="strict preorder" Agda=strictly-inflationary-map-Strict-Preorder}}
+if the inequality
+
+$$
+ x < f(x)
+$$
+
+holds for any element $x : P$. If $f$ is also
+[order preserving](order-theory.strict-order-preserving-maps.md) we say that $f$
+is a
+{{#concept "strictly inflationary morphism" Disambiguation="strict preorder" Agda=inflationary-hom-Strict-Preorder}}.
+
+## Definitions
+
+### The predicate of being a strictly inflationary map
+
+```agda
+module _
+ {l1 l2 : Level} (P : Strict-Preorder l1 l2)
+ (f : type-Strict-Preorder P → type-Strict-Preorder P)
+ where
+
+ is-strictly-inflationary-map-prop-Strict-Preorder :
+ Prop (l1 ⊔ l2)
+ is-strictly-inflationary-map-prop-Strict-Preorder =
+ Π-Prop
+ ( type-Strict-Preorder P)
+ ( λ x → le-prop-Strict-Preorder P x (f x))
+
+ is-strictly-inflationary-map-Strict-Preorder :
+ UU (l1 ⊔ l2)
+ is-strictly-inflationary-map-Strict-Preorder =
+ type-Prop is-strictly-inflationary-map-prop-Strict-Preorder
+
+ is-prop-is-strictly-inflationary-map-Strict-Preorder :
+ is-prop is-strictly-inflationary-map-Strict-Preorder
+ is-prop-is-strictly-inflationary-map-Strict-Preorder =
+ is-prop-type-Prop is-strictly-inflationary-map-prop-Strict-Preorder
+```
+
+### The type of inflationary maps on a strict preorder
+
+```agda
+module _
+ {l1 l2 : Level} (P : Strict-Preorder l1 l2)
+ where
+
+ strictly-inflationary-map-Strict-Preorder :
+ UU (l1 ⊔ l2)
+ strictly-inflationary-map-Strict-Preorder =
+ type-subtype (is-strictly-inflationary-map-prop-Strict-Preorder P)
+
+module _
+ {l1 l2 : Level} (P : Strict-Preorder l1 l2)
+ (f : strictly-inflationary-map-Strict-Preorder P)
+ where
+
+ map-strictly-inflationary-map-Strict-Preorder :
+ type-Strict-Preorder P → type-Strict-Preorder P
+ map-strictly-inflationary-map-Strict-Preorder =
+ pr1 f
+
+ is-inflationary-strictly-inflationary-map-Strict-Preorder :
+ is-strictly-inflationary-map-Strict-Preorder P
+ ( map-strictly-inflationary-map-Strict-Preorder)
+ is-inflationary-strictly-inflationary-map-Strict-Preorder =
+ pr2 f
+```
+
+### The predicate on order preserving maps of being inflationary
+
+```agda
+module _
+ {l1 l2 : Level} (P : Strict-Preorder l1 l2)
+ (f : hom-Strict-Preorder P P)
+ where
+
+ is-inflationary-prop-hom-Strict-Preorder :
+ Prop (l1 ⊔ l2)
+ is-inflationary-prop-hom-Strict-Preorder =
+ is-strictly-inflationary-map-prop-Strict-Preorder P
+ ( map-hom-Strict-Preorder P P f)
+
+ is-inflationary-hom-Strict-Preorder :
+ UU (l1 ⊔ l2)
+ is-inflationary-hom-Strict-Preorder =
+ is-strictly-inflationary-map-Strict-Preorder P
+ ( map-hom-Strict-Preorder P P f)
+
+ is-prop-is-inflationary-hom-Strict-Preorder :
+ is-prop is-inflationary-hom-Strict-Preorder
+ is-prop-is-inflationary-hom-Strict-Preorder =
+ is-prop-is-strictly-inflationary-map-Strict-Preorder P
+ ( map-hom-Strict-Preorder P P f)
+```
+
+### The type of inflationary morphisms on a strict preorder
+
+```agda
+module _
+ {l1 l2 : Level} (P : Strict-Preorder l1 l2)
+ where
+
+ inflationary-hom-Strict-Preorder :
+ UU (l1 ⊔ l2)
+ inflationary-hom-Strict-Preorder =
+ type-subtype (is-inflationary-prop-hom-Strict-Preorder P)
+
+module _
+ {l1 l2 : Level} (P : Strict-Preorder l1 l2)
+ (f : inflationary-hom-Strict-Preorder P)
+ where
+
+ hom-inflationary-hom-Strict-Preorder :
+ hom-Strict-Preorder P P
+ hom-inflationary-hom-Strict-Preorder =
+ pr1 f
+
+ map-inflationary-hom-Strict-Preorder :
+ type-Strict-Preorder P → type-Strict-Preorder P
+ map-inflationary-hom-Strict-Preorder =
+ map-hom-Strict-Preorder P P
+ ( hom-inflationary-hom-Strict-Preorder)
+
+ preserves-order-inflationary-hom-Strict-Preorder :
+ preserves-strict-order-map-Strict-Preorder P P
+ ( map-inflationary-hom-Strict-Preorder)
+ preserves-order-inflationary-hom-Strict-Preorder =
+ preserves-strict-order-hom-Strict-Preorder P P
+ ( hom-inflationary-hom-Strict-Preorder)
+
+ is-inflationary-inflationary-hom-Strict-Preorder :
+ is-strictly-inflationary-map-Strict-Preorder P
+ ( map-inflationary-hom-Strict-Preorder)
+ is-inflationary-inflationary-hom-Strict-Preorder =
+ pr2 f
+
+ inflationary-map-inflationary-hom-Strict-Preorder :
+ strictly-inflationary-map-Strict-Preorder P
+ pr1 inflationary-map-inflationary-hom-Strict-Preorder =
+ map-inflationary-hom-Strict-Preorder
+ pr2 inflationary-map-inflationary-hom-Strict-Preorder =
+ is-inflationary-inflationary-hom-Strict-Preorder
+```
diff --git a/src/order-theory/strictly-preordered-sets.lagda.md b/src/order-theory/strictly-preordered-sets.lagda.md
new file mode 100644
index 0000000000..c639e6fe02
--- /dev/null
+++ b/src/order-theory/strictly-preordered-sets.lagda.md
@@ -0,0 +1,122 @@
+# Strictly preordered sets
+
+```agda
+module order-theory.strictly-preordered-sets where
+```
+
+Imports
+
+```agda
+open import foundation.binary-relations
+open import foundation.cartesian-product-types
+open import foundation.dependent-pair-types
+open import foundation.empty-types
+open import foundation.negation
+open import foundation.propositions
+open import foundation.sets
+open import foundation.universe-levels
+
+open import order-theory.strict-preorders
+```
+
+
+
+## Idea
+
+A {{#concept "strictly preordered set" Agda=Strictly-Preordered-Set}} is a
+[strictly preordered type](order-theory.strict-preorders.md) whose underlying
+type is a [set](foundation-core.sets.md). More specifically, a strictly
+preordered set consists of a set $A$, a
+[binary relation](foundation.binary-relations.md) $<$ on $A$ valued in the
+[propositions](foundation-core.propositions.md), such that the relation $<$ is
+irreflexive and transitive:
+
+- For any $x:A$ we have $x \nle x$.
+- For any $x,y,z:A$ we have $y