diff --git a/src/elementary-number-theory.lagda.md b/src/elementary-number-theory.lagda.md
index 92bf495587..17d5a5ee62 100644
--- a/src/elementary-number-theory.lagda.md
+++ b/src/elementary-number-theory.lagda.md
@@ -37,6 +37,7 @@ open import elementary-number-theory.decidable-total-order-natural-numbers publi
open import elementary-number-theory.decidable-total-order-rational-numbers public
open import elementary-number-theory.decidable-total-order-standard-finite-types public
open import elementary-number-theory.decidable-types public
+open import elementary-number-theory.decreasing-sequences-natural-numbers public
open import elementary-number-theory.difference-integers public
open import elementary-number-theory.difference-rational-numbers public
open import elementary-number-theory.dirichlet-convolution public
@@ -64,6 +65,7 @@ open import elementary-number-theory.greatest-common-divisor-natural-numbers pub
open import elementary-number-theory.group-of-integers public
open import elementary-number-theory.half-integers public
open import elementary-number-theory.hardy-ramanujan-number public
+open import elementary-number-theory.increasing-sequences-natural-numbers public
open import elementary-number-theory.inequality-integer-fractions public
open import elementary-number-theory.inequality-integers public
open import elementary-number-theory.inequality-natural-numbers public
@@ -144,6 +146,8 @@ open import elementary-number-theory.strict-inequality-integer-fractions public
open import elementary-number-theory.strict-inequality-integers public
open import elementary-number-theory.strict-inequality-natural-numbers public
open import elementary-number-theory.strict-inequality-rational-numbers public
+open import elementary-number-theory.strictly-decreasing-sequences-natural-numbers public
+open import elementary-number-theory.strictly-increasing-sequences-natural-numbers public
open import elementary-number-theory.strictly-ordered-pairs-of-natural-numbers public
open import elementary-number-theory.strong-induction-natural-numbers public
open import elementary-number-theory.sums-of-natural-numbers public
diff --git a/src/elementary-number-theory/decreasing-sequences-natural-numbers.lagda.md b/src/elementary-number-theory/decreasing-sequences-natural-numbers.lagda.md
new file mode 100644
index 0000000000..4ef89df848
--- /dev/null
+++ b/src/elementary-number-theory/decreasing-sequences-natural-numbers.lagda.md
@@ -0,0 +1,397 @@
+# Decreasing sequences of natural numbers
+
+```agda
+module elementary-number-theory.decreasing-sequences-natural-numbers where
+```
+
+Imports
+
+```agda
+open import elementary-number-theory.addition-natural-numbers
+open import elementary-number-theory.based-induction-natural-numbers
+open import elementary-number-theory.inequality-natural-numbers
+open import elementary-number-theory.natural-numbers
+open import elementary-number-theory.strict-inequality-natural-numbers
+open import elementary-number-theory.strictly-decreasing-sequences-natural-numbers
+open import elementary-number-theory.strictly-increasing-sequences-natural-numbers
+
+open import foundation.asymptotical-dependent-sequences
+open import foundation.asymptotical-value-sequences
+open import foundation.asymptotically-constant-sequences
+open import foundation.cartesian-product-types
+open import foundation.constant-sequences
+open import foundation.coproduct-types
+open import foundation.dependent-pair-types
+open import foundation.empty-types
+open import foundation.function-types
+open import foundation.functoriality-coproduct-types
+open import foundation.functoriality-dependent-pair-types
+open import foundation.identity-types
+open import foundation.negation
+open import foundation.propositions
+open import foundation.sequences
+open import foundation.subsequences
+open import foundation.transport-along-identifications
+open import foundation.type-arithmetic-empty-type
+open import foundation.universe-levels
+
+open import order-theory.decreasing-sequences-posets
+open import order-theory.sequences-posets
+```
+
+
+
+## Idea
+
+A sequence of natural numbers is **decreasing** if it reverses
+[inequality of natural numbers](elementary-number-theory.inequality-natural-numbers.md).
+
+## Definitions
+
+### Decreasing values of sequences of natural numbers
+
+```agda
+module _
+ (f : sequence ℕ) (n : ℕ)
+ where
+
+ is-decreasing-value-sequence-ℕ : UU lzero
+ is-decreasing-value-sequence-ℕ =
+ is-decreasing-value-sequence-poset ℕ-Poset f n
+```
+
+### Decreasing sequences of natural numbers
+
+```agda
+module _
+ (f : sequence ℕ)
+ where
+
+ is-decreasing-sequence-ℕ : UU lzero
+ is-decreasing-sequence-ℕ = is-decreasing-sequence-poset ℕ-Poset f
+```
+
+## Properties
+
+### A decreasing sequence of natural numbers that takes the value zero is asymptotically equal to zero
+
+```agda
+module _
+ {f : sequence ℕ} (H : is-decreasing-sequence-ℕ f)
+ where
+
+ ∞-zero-value-is-zero-value-decreasing-sequence-ℕ :
+ Σ ℕ (is-value-sequence zero-ℕ f) → is-∞-value-sequence zero-ℕ f
+ ∞-zero-value-is-zero-value-decreasing-sequence-ℕ =
+ tot
+ ( λ n K k I →
+ is-zero-leq-zero-ℕ'
+ ( f k)
+ ( inv-tr (leq-ℕ (f k)) K (H n k I)))
+```
+
+### A decreasing value of a sequence of natural numbers is either stationnary or strictly decreasing
+
+```agda
+module _
+ (f : sequence ℕ) (n : ℕ)
+ where
+
+ decide-is-stationnary-is-decreasing-value-sequence-ℕ :
+ is-decreasing-value-sequence-ℕ f n →
+ (is-stationnary-value-sequence f n) +
+ (is-strict-decreasing-value-sequence-ℕ f n)
+ decide-is-stationnary-is-decreasing-value-sequence-ℕ H =
+ map-coproduct inv id (eq-or-le-leq-ℕ (f (succ-ℕ n)) (f n) H)
+```
+
+### Any value of a decreasing sequence of natural numbers that is not a strict value is stationnary
+
+```agda
+module _
+ (f : sequence ℕ)
+ where
+
+ stationnary-value-is-not-strict-value-decreasing-sequence-ℕ :
+ is-decreasing-sequence-ℕ f →
+ (n : ℕ) →
+ ¬ (is-strict-decreasing-value-sequence-ℕ f n) →
+ is-stationnary-value-sequence f n
+ stationnary-value-is-not-strict-value-decreasing-sequence-ℕ H n K =
+ map-right-unit-law-coproduct-is-empty
+ ( is-stationnary-value-sequence f n)
+ ( is-strict-decreasing-value-sequence-ℕ f n)
+ ( K)
+ ( decide-is-stationnary-is-decreasing-value-sequence-ℕ
+ ( f)
+ ( n)
+ ( decreasing-value-is-decreasing-sequence-poset ℕ-Poset {f} H n))
+```
+
+### A decreasing sequence of natural numbers that has no strictly decreasing value is constant
+
+```agda
+module _
+ {f : sequence ℕ} (H : is-decreasing-sequence-ℕ f)
+ where
+
+ constant-no-strict-decreasing-value-decreasing-sequence-ℕ :
+ ((n : ℕ) → ¬ (is-strict-decreasing-value-sequence-ℕ f n)) →
+ is-constant-sequence f
+ constant-no-strict-decreasing-value-decreasing-sequence-ℕ K =
+ is-constant-is-stationnary-value-sequence f
+ ( λ n →
+ stationnary-value-is-not-strict-value-decreasing-sequence-ℕ
+ ( f)
+ ( H)
+ ( n)
+ ( K n))
+```
+
+### A decreasing sequence of natural numbers that asymptotically has no strictly decreasing value is asymptotically constant
+
+```agda
+module _
+ {f : sequence ℕ} (H : is-decreasing-sequence-ℕ f)
+ where
+
+ ∞-constant-∞-no-strict-value-decreasing-sequence-ℕ :
+ asymptotically (λ n → ¬ (is-strict-decreasing-value-sequence-ℕ f n)) →
+ is-∞-constant-sequence f
+ ∞-constant-∞-no-strict-value-decreasing-sequence-ℕ =
+ ( ∞-constant-is-∞-stationnary-sequence f) ∘
+ ( map-asymptotically-Π
+ ( stationnary-value-is-not-strict-value-decreasing-sequence-ℕ f H))
+```
+
+### A decreasing sequence of natural numbers with bounded strictly decreasing values is asymptotically constant
+
+```agda
+module _
+ (f : sequence ℕ) (N : ℕ)
+ where
+
+ is-upper-bound-strict-decreasing-value-sequence-ℕ : UU lzero
+ is-upper-bound-strict-decreasing-value-sequence-ℕ =
+ (n : ℕ) → is-strict-decreasing-value-sequence-ℕ f n → le-ℕ n N
+
+module _
+ {f : sequence ℕ} (H : is-decreasing-sequence-ℕ f)
+ where
+
+ ∞-constant-is-upper-bounded-strict-value-decreasing-sequence-ℕ :
+ Σ ℕ (is-upper-bound-strict-decreasing-value-sequence-ℕ f) →
+ is-∞-constant-sequence f
+ ∞-constant-is-upper-bounded-strict-value-decreasing-sequence-ℕ =
+ ( ∞-constant-∞-no-strict-value-decreasing-sequence-ℕ H) ∘
+ ( rec-Σ (λ N I → (N , (λ n J L → contradiction-le-ℕ n N (I n L) J))))
+```
+
+### Asymptotical strictly decreasing values
+
+```agda
+module _
+ (f : sequence ℕ) (N n : ℕ)
+ where
+
+ is-∞-strict-decreasing-value-prop-sequence-ℕ : Prop lzero
+ is-∞-strict-decreasing-value-prop-sequence-ℕ =
+ product-Prop
+ (leq-ℕ-Prop N n)
+ (is-strict-decreasing-value-prop-sequence-ℕ f n)
+
+ is-∞-strict-decreasing-value-sequence-ℕ : UU lzero
+ is-∞-strict-decreasing-value-sequence-ℕ =
+ type-Prop is-∞-strict-decreasing-value-prop-sequence-ℕ
+
+ is-prop-is-∞-strict-decreasing-value-sequence-ℕ :
+ is-prop is-∞-strict-decreasing-value-sequence-ℕ
+ is-prop-is-∞-strict-decreasing-value-sequence-ℕ =
+ is-prop-type-Prop is-∞-strict-decreasing-value-prop-sequence-ℕ
+```
+
+### A decreasing sequence of natural numbers with no asymptotical strictly decreasing values is asymptotically constant
+
+```agda
+module _
+ {f : sequence ℕ} (H : is-decreasing-sequence-ℕ f)
+ where
+
+ ∞-constant-no-∞-strict-decreasing-value-decreasing-sequence-ℕ :
+ Σ ℕ (λ N → ¬ Σ ℕ (is-∞-strict-decreasing-value-sequence-ℕ f N)) →
+ is-∞-constant-sequence f
+ ∞-constant-no-∞-strict-decreasing-value-decreasing-sequence-ℕ =
+ ( ∞-constant-∞-no-strict-value-decreasing-sequence-ℕ H) ∘
+ ( tot (λ n K p I J → K (p , ( I , J))))
+```
+
+### A decreasing sequence of natural numbers cannot have arbitrarily large strict decreasing values
+
+```agda
+module _
+ {f : sequence ℕ} (H : is-decreasing-sequence-ℕ f)
+ (K : (N : ℕ) → Σ ℕ (is-∞-strict-decreasing-value-sequence-ℕ f N))
+ where
+
+ extract-∞-strict-decreasing-value-sequence-ℕ : ℕ → ℕ
+ extract-∞-strict-decreasing-value-sequence-ℕ zero-ℕ = pr1 (K zero-ℕ)
+ extract-∞-strict-decreasing-value-sequence-ℕ (succ-ℕ n) =
+ pr1 (K (succ-ℕ (extract-∞-strict-decreasing-value-sequence-ℕ n)))
+
+ is-strict-value-∞-strict-decreasing-value-sequence-ℕ :
+ (n : ℕ) →
+ is-strict-decreasing-value-sequence-ℕ f
+ (extract-∞-strict-decreasing-value-sequence-ℕ n)
+ is-strict-value-∞-strict-decreasing-value-sequence-ℕ zero-ℕ =
+ pr2 (pr2 (K zero-ℕ))
+ is-strict-value-∞-strict-decreasing-value-sequence-ℕ (succ-ℕ n) =
+ pr2 (pr2 (K (succ-ℕ (extract-∞-strict-decreasing-value-sequence-ℕ n))))
+
+ leq-succ-extract-∞-strict-decreasing-value-sequence-ℕ :
+ (n : ℕ) →
+ leq-ℕ
+ (succ-ℕ (extract-∞-strict-decreasing-value-sequence-ℕ n))
+ (extract-∞-strict-decreasing-value-sequence-ℕ (succ-ℕ n))
+ leq-succ-extract-∞-strict-decreasing-value-sequence-ℕ n =
+ pr1
+ ( pr2
+ ( K
+ ( succ-ℕ
+ ( extract-∞-strict-decreasing-value-sequence-ℕ n))))
+
+ no-∞-strict-decreasing-value-decreasing-sequence-ℕ : empty
+ no-∞-strict-decreasing-value-decreasing-sequence-ℕ =
+ no-strict-decreasing-value-sequence-ℕ
+ ( f ∘ extract-∞-strict-decreasing-value-sequence-ℕ)
+ ( λ n →
+ concatenate-leq-le-ℕ
+ { f (extract-∞-strict-decreasing-value-sequence-ℕ (succ-ℕ n))}
+ { f (succ-ℕ (extract-∞-strict-decreasing-value-sequence-ℕ n))}
+ { f (extract-∞-strict-decreasing-value-sequence-ℕ n)}
+ ( H
+ ( succ-ℕ (extract-∞-strict-decreasing-value-sequence-ℕ n))
+ ( extract-∞-strict-decreasing-value-sequence-ℕ (succ-ℕ n))
+ ( leq-succ-extract-∞-strict-decreasing-value-sequence-ℕ n))
+ ( is-strict-value-∞-strict-decreasing-value-sequence-ℕ n))
+```
+
+### The subsequences of a decreasing sequence of natural numbers don't all have a strict decreasing value
+
+```agda
+module _
+ {u : sequence ℕ} (H : is-decreasing-sequence-ℕ u)
+ (K : Π-subsequence (Σ ℕ ∘ is-strict-decreasing-value-sequence-ℕ) u)
+ where
+
+ extract-strict-decreasing-value-subsequence-ℕ : ℕ → ℕ
+ extract-strict-decreasing-value-subsequence-ℕ zero-ℕ =
+ pr1 (K (refl-subsequence u))
+ extract-strict-decreasing-value-subsequence-ℕ (succ-ℕ n) =
+ skip-ℕ
+ ( extract-strict-decreasing-value-subsequence-ℕ n)
+ ( pr1
+ ( K
+ ( skip-subsequence
+ ( extract-strict-decreasing-value-subsequence-ℕ n)
+ ( u))))
+
+ is-strict-value-extract-strict-decreasing-value-subsequence-ℕ :
+ (n : ℕ) →
+ is-strict-decreasing-value-sequence-ℕ u
+ (extract-strict-decreasing-value-subsequence-ℕ n)
+ is-strict-value-extract-strict-decreasing-value-subsequence-ℕ zero-ℕ =
+ pr2 (K (refl-subsequence u))
+ is-strict-value-extract-strict-decreasing-value-subsequence-ℕ (succ-ℕ n) =
+ pr2
+ ( K
+ ( skip-subsequence
+ ( extract-strict-decreasing-value-subsequence-ℕ n)
+ ( u)))
+
+ no-strict-decreasing-value-Π-subsequence-ℕ : empty
+ no-strict-decreasing-value-Π-subsequence-ℕ =
+ no-strict-decreasing-value-sequence-ℕ
+ ( u ∘ extract-strict-decreasing-value-subsequence-ℕ)
+ ( λ n →
+ concatenate-leq-le-ℕ
+ { u (extract-strict-decreasing-value-subsequence-ℕ (succ-ℕ n))}
+ { u (succ-ℕ (extract-strict-decreasing-value-subsequence-ℕ n))}
+ { u (extract-strict-decreasing-value-subsequence-ℕ n)}
+ ( H
+ ( succ-ℕ (extract-strict-decreasing-value-subsequence-ℕ n))
+ ( skip-ℕ
+ ( extract-strict-decreasing-value-subsequence-ℕ n)
+ ( pr1
+ ( K
+ ( strict-increasing-skip-ℕ
+ ( extract-strict-decreasing-value-subsequence-ℕ n)))))
+ ( leq-add-ℕ
+ ( extract-strict-decreasing-value-subsequence-ℕ n)
+ ( pr1
+ ( K
+ ( strict-increasing-skip-ℕ
+ ( extract-strict-decreasing-value-subsequence-ℕ n))))))
+ ( is-strict-value-extract-strict-decreasing-value-subsequence-ℕ n))
+```
+
+### Decreasing sequences of natural numbers have arbitrarily long stationnary intervals
+
+```agda
+stationnary-interval-bounded-decreasing-sequence-ℕ :
+ (u : sequence ℕ) (H : is-decreasing-sequence-ℕ u) (M : ℕ) →
+ (leq-ℕ (u zero-ℕ) M) →
+ ((p : ℕ) → Σ ℕ (λ n → u (p +ℕ n) = u n))
+stationnary-interval-bounded-decreasing-sequence-ℕ u H zero-ℕ I p =
+ ( zero-ℕ ,
+ antisymmetric-leq-ℕ
+ ( u p)
+ ( u zero-ℕ)
+ ( H zero-ℕ p (leq-zero-ℕ p))
+ ( transitive-leq-ℕ (u 0) 0 (u p) (leq-zero-ℕ (u p)) I))
+stationnary-interval-bounded-decreasing-sequence-ℕ u H (succ-ℕ M) I p =
+ rec-coproduct
+ ( λ J → (zero-ℕ , J))
+ ( λ J →
+ rec-Σ
+ ( λ k H → (skip-ℕ p k , H))
+ ( stationnary-interval-bounded-decreasing-sequence-ℕ
+ ( sequence-subsequence u (skip-subsequence p u))
+ ( decreasing-Π-subsequence-decreasing-sequence-poset
+ ( ℕ-Poset)
+ ( u)
+ ( H)
+ ( skip-subsequence p u))
+ ( M)
+ ( transitive-leq-ℕ
+ ( u (succ-ℕ p))
+ ( u p)
+ ( M)
+ ( leq-le-succ-ℕ
+ ( u p)
+ ( M)
+ ( concatenate-le-leq-ℕ {u p} {u 0} {succ-ℕ M} J I))
+ ( H p (succ-ℕ p) (succ-leq-ℕ p)))
+ ( p)))
+ ( eq-or-le-leq-ℕ
+ ( u p)
+ ( u zero-ℕ)
+ ( H zero-ℕ p (leq-zero-ℕ p)))
+
+module _
+ {u : sequence ℕ} (H : is-decreasing-sequence-ℕ u)
+ where
+
+ stationnary-interval-decreasing-sequence-ℕ :
+ (p : ℕ) → Σ ℕ (λ n → u (p +ℕ n) = u n)
+ stationnary-interval-decreasing-sequence-ℕ =
+ stationnary-interval-bounded-decreasing-sequence-ℕ
+ ( u)
+ ( H)
+ ( u 0)
+ ( refl-leq-ℕ (u 0))
+```
+
+## External links
+
+- [Decreasing sequences of natural numbers](https://ncatlab.org/nlab/show/natural+number#decreasing_sequences_of_natural_numbers)
+ at $n$Lab
diff --git a/src/elementary-number-theory/increasing-sequences-natural-numbers.lagda.md b/src/elementary-number-theory/increasing-sequences-natural-numbers.lagda.md
new file mode 100644
index 0000000000..bdc7711943
--- /dev/null
+++ b/src/elementary-number-theory/increasing-sequences-natural-numbers.lagda.md
@@ -0,0 +1,97 @@
+# Increasing sequences of natural numbers
+
+```agda
+module elementary-number-theory.increasing-sequences-natural-numbers where
+```
+
+Imports
+
+```agda
+open import elementary-number-theory.inequality-natural-numbers
+open import elementary-number-theory.natural-numbers
+open import elementary-number-theory.strict-inequality-natural-numbers
+open import elementary-number-theory.strictly-increasing-sequences-natural-numbers
+
+open import foundation.constant-sequences
+open import foundation.coproduct-types
+open import foundation.negation
+open import foundation.propositions
+open import foundation.sequences
+open import foundation.type-arithmetic-empty-type
+open import foundation.universe-levels
+
+open import order-theory.increasing-sequences-posets
+open import order-theory.sequences-posets
+```
+
+
+
+## Idea
+
+A sequence of natural numbers is **increasing** if it preserves
+[inequality of natural numbers](elementary-number-theory.inequality-natural-numbers.md).
+
+## Definitions
+
+### Increasing values of sequences of natural numbers
+
+```agda
+module _
+ (f : sequence ℕ) (n : ℕ)
+ where
+
+ is-increasing-value-sequence-ℕ : UU lzero
+ is-increasing-value-sequence-ℕ =
+ is-increasing-value-sequence-poset ℕ-Poset f n
+```
+
+### Increasing sequences of natural numbers
+
+```agda
+module _
+ (f : sequence ℕ)
+ where
+
+ is-increasing-sequence-ℕ : UU lzero
+ is-increasing-sequence-ℕ = is-increasing-sequence-poset ℕ-Poset f
+```
+
+## Properties
+
+### An increasing value of a sequence of natural numbers is either stationnary or strictly increasing
+
+```agda
+module _
+ (f : sequence ℕ) (n : ℕ)
+ where
+
+ decide-is-stationnary-is-increasing-value-sequence-ℕ :
+ is-increasing-value-sequence-ℕ f n →
+ (is-stationnary-value-sequence f n) +
+ (is-strict-increasing-value-sequence-ℕ f n)
+ decide-is-stationnary-is-increasing-value-sequence-ℕ =
+ eq-or-le-leq-ℕ (f n) (f (succ-ℕ n))
+```
+
+### Any value of an increasing sequence of natural numbers that is not a strict value is stationnary
+
+```agda
+module _
+ (f : sequence ℕ)
+ where
+
+ stationnary-value-is-not-strict-value-increasing-sequence-ℕ :
+ is-increasing-sequence-ℕ f →
+ (n : ℕ) →
+ ¬ (is-strict-increasing-value-sequence-ℕ f n) →
+ is-stationnary-value-sequence f n
+ stationnary-value-is-not-strict-value-increasing-sequence-ℕ H n K =
+ map-right-unit-law-coproduct-is-empty
+ ( is-stationnary-value-sequence f n)
+ ( is-strict-increasing-value-sequence-ℕ f n)
+ ( K)
+ ( decide-is-stationnary-is-increasing-value-sequence-ℕ
+ ( f)
+ ( n)
+ ( increasing-value-is-increasing-sequence-poset ℕ-Poset {f} H n))
+```
diff --git a/src/elementary-number-theory/maximum-natural-numbers.lagda.md b/src/elementary-number-theory/maximum-natural-numbers.lagda.md
index 8e670f94dd..81be225b3f 100644
--- a/src/elementary-number-theory/maximum-natural-numbers.lagda.md
+++ b/src/elementary-number-theory/maximum-natural-numbers.lagda.md
@@ -75,6 +75,14 @@ leq-left-leq-max-ℕ k (succ-ℕ m) zero-ℕ H = H
leq-left-leq-max-ℕ (succ-ℕ k) (succ-ℕ m) (succ-ℕ n) H =
leq-left-leq-max-ℕ k m n H
+leq-left-max-ℕ : (m n : ℕ) → m ≤-ℕ (max-ℕ m n)
+leq-left-max-ℕ m n =
+ leq-left-leq-max-ℕ
+ ( max-ℕ m n)
+ ( m)
+ ( n)
+ ( refl-leq-ℕ (max-ℕ m n))
+
leq-right-leq-max-ℕ :
(k m n : ℕ) → (max-ℕ m n) ≤-ℕ k → n ≤-ℕ k
leq-right-leq-max-ℕ k zero-ℕ zero-ℕ H = star
@@ -83,6 +91,14 @@ leq-right-leq-max-ℕ k (succ-ℕ m) zero-ℕ H = star
leq-right-leq-max-ℕ (succ-ℕ k) (succ-ℕ m) (succ-ℕ n) H =
leq-right-leq-max-ℕ k m n H
+leq-right-max-ℕ : (m n : ℕ) → n ≤-ℕ (max-ℕ m n)
+leq-right-max-ℕ m n =
+ leq-right-leq-max-ℕ
+ ( max-ℕ m n)
+ ( m)
+ ( n)
+ ( refl-leq-ℕ (max-ℕ m n))
+
is-least-upper-bound-max-ℕ :
(m n : ℕ) → is-least-binary-upper-bound-Poset ℕ-Poset m n (max-ℕ m n)
is-least-upper-bound-max-ℕ m n =
@@ -91,8 +107,7 @@ is-least-upper-bound-max-ℕ m n =
{ m}
{ n}
{ max-ℕ m n}
- ( leq-left-leq-max-ℕ (max-ℕ m n) m n (refl-leq-ℕ (max-ℕ m n)) ,
- leq-right-leq-max-ℕ (max-ℕ m n) m n (refl-leq-ℕ (max-ℕ m n)))
+ ( leq-left-max-ℕ m n , leq-right-max-ℕ m n)
( λ x (H , K) → leq-max-ℕ x m n H K)
```
diff --git a/src/elementary-number-theory/strictly-decreasing-sequences-natural-numbers.lagda.md b/src/elementary-number-theory/strictly-decreasing-sequences-natural-numbers.lagda.md
new file mode 100644
index 0000000000..12e8dc2dd6
--- /dev/null
+++ b/src/elementary-number-theory/strictly-decreasing-sequences-natural-numbers.lagda.md
@@ -0,0 +1,139 @@
+# Strictly decreasing sequences of natural numbers
+
+```agda
+module elementary-number-theory.strictly-decreasing-sequences-natural-numbers where
+```
+
+Imports
+
+```agda
+open import elementary-number-theory.based-induction-natural-numbers
+open import elementary-number-theory.inequality-natural-numbers
+open import elementary-number-theory.natural-numbers
+open import elementary-number-theory.strict-inequality-natural-numbers
+
+open import foundation.empty-types
+open import foundation.function-types
+open import foundation.negation
+open import foundation.propositions
+open import foundation.sequences
+open import foundation.universe-levels
+```
+
+
+
+## Idea
+
+A sequences of natural numbers is **strictly decreasing** if it reverses
+[strict inequality](elementary-number-theory.strict-inequality-natural-numbers.md)
+of natural numbers.
+
+Strictly decreasing sequences of natural numbers don't exist.
+
+## Definitions
+
+### Strictly decreasing sequences of natural numbers
+
+```agda
+module _
+ (f : sequence ℕ)
+ where
+
+ is-strict-decreasing-sequence-ℕ : UU lzero
+ is-strict-decreasing-sequence-ℕ =
+ (i j : ℕ) → le-ℕ i j → le-ℕ (f j) (f i)
+```
+
+### Strict decreasing values of sequences of natural numbers
+
+```agda
+module _
+ (f : sequence ℕ) (n : ℕ)
+ where
+
+ is-strict-decreasing-value-prop-sequence-ℕ : Prop lzero
+ is-strict-decreasing-value-prop-sequence-ℕ = le-ℕ-Prop (f (succ-ℕ n)) (f n)
+
+ is-strict-decreasing-value-sequence-ℕ : UU lzero
+ is-strict-decreasing-value-sequence-ℕ =
+ type-Prop is-strict-decreasing-value-prop-sequence-ℕ
+
+ is-prop-is-strict-decreasing-value-sequence-ℕ :
+ is-prop is-strict-decreasing-value-sequence-ℕ
+ is-prop-is-strict-decreasing-value-sequence-ℕ =
+ is-prop-type-Prop is-strict-decreasing-value-prop-sequence-ℕ
+```
+
+## Properties
+
+### A sequence is strictly decreasing if and only if all its values are strictly decreasing
+
+```agda
+module _
+ (f : sequence ℕ)
+ where
+
+ strict-decreasing-value-is-strict-decreasing-sequence-ℕ :
+ is-strict-decreasing-sequence-ℕ f →
+ ((n : ℕ) → is-strict-decreasing-value-sequence-ℕ f n)
+ strict-decreasing-value-is-strict-decreasing-sequence-ℕ H n =
+ H n (succ-ℕ n) (succ-le-ℕ n)
+
+ strict-decreasing-is-strict-decreasing-value-sequence-ℕ :
+ ((n : ℕ) → is-strict-decreasing-value-sequence-ℕ f n) →
+ is-strict-decreasing-sequence-ℕ f
+ strict-decreasing-is-strict-decreasing-value-sequence-ℕ H p q I =
+ based-ind-ℕ
+ ( succ-ℕ p)
+ ( λ k → le-ℕ (f k) (f p))
+ ( H p)
+ ( λ n J → transitive-le-ℕ (f (succ-ℕ n)) (f n) (f p) (H n))
+ ( q)
+ ( leq-succ-le-ℕ p q I)
+```
+
+### There exist no strictly decreasing sequences of natural numbers
+
+```agda
+no-bounded-strict-decreasing-sequence-ℕ :
+ (f : sequence ℕ) →
+ (N : ℕ) →
+ leq-ℕ (f zero-ℕ) N →
+ is-strict-decreasing-sequence-ℕ f →
+ empty
+no-bounded-strict-decreasing-sequence-ℕ f zero-ℕ K H =
+ concatenate-le-leq-ℕ
+ { f 1}
+ { f 0}
+ { 0}
+ ( H 0 1 (succ-le-ℕ 0))
+ ( K)
+no-bounded-strict-decreasing-sequence-ℕ f (succ-ℕ N) K H =
+ no-bounded-strict-decreasing-sequence-ℕ
+ ( f ∘ succ-ℕ)
+ ( N)
+ ( leq-le-succ-ℕ
+ ( f 1)
+ ( N)
+ ( concatenate-le-leq-ℕ
+ { f 1}
+ { f 0}
+ { succ-ℕ N}
+ ( H 0 1 (succ-le-ℕ 0))
+ ( K)))
+ ( λ i j → H (succ-ℕ i) (succ-ℕ j))
+
+module _
+ (f : sequence ℕ)
+ where
+
+ no-strict-decreasing-sequence-ℕ : ¬ (is-strict-decreasing-sequence-ℕ f)
+ no-strict-decreasing-sequence-ℕ =
+ no-bounded-strict-decreasing-sequence-ℕ f (f 0) (refl-leq-ℕ (f 0))
+
+ no-strict-decreasing-value-sequence-ℕ :
+ ¬ ((n : ℕ) → is-strict-decreasing-value-sequence-ℕ f n)
+ no-strict-decreasing-value-sequence-ℕ =
+ ( no-strict-decreasing-sequence-ℕ) ∘
+ ( strict-decreasing-is-strict-decreasing-value-sequence-ℕ f)
+```
diff --git a/src/elementary-number-theory/strictly-increasing-sequences-natural-numbers.lagda.md b/src/elementary-number-theory/strictly-increasing-sequences-natural-numbers.lagda.md
new file mode 100644
index 0000000000..88284ead5f
--- /dev/null
+++ b/src/elementary-number-theory/strictly-increasing-sequences-natural-numbers.lagda.md
@@ -0,0 +1,325 @@
+# Strictly increasing sequences of natural numbers
+
+```agda
+module elementary-number-theory.strictly-increasing-sequences-natural-numbers where
+```
+
+Imports
+
+```agda
+open import elementary-number-theory.addition-natural-numbers
+open import elementary-number-theory.based-induction-natural-numbers
+open import elementary-number-theory.inequality-natural-numbers
+open import elementary-number-theory.natural-numbers
+open import elementary-number-theory.strict-inequality-natural-numbers
+
+open import foundation.action-on-identifications-functions
+open import foundation.dependent-pair-types
+open import foundation.function-types
+open import foundation.functoriality-coproduct-types
+open import foundation.identity-types
+open import foundation.propositions
+open import foundation.sequences
+open import foundation.subtypes
+open import foundation.universe-levels
+```
+
+
+
+## Idea
+
+A sequences of natural numbers is **strictly increasing** if it preserves
+[strict inequality](elementary-number-theory.strict-inequality-natural-numbers.md)
+of natural numbers.
+
+The identity sequence is strictly increasing. Strictly increasing sequences of
+natural numbers are stable under composition. Strictly increasing sequences of
+natural numbers and can get arbitrarily large.
+
+## Definitions
+
+### Strictly increasing sequences of natural numbers
+
+```agda
+module _
+ (f : sequence ℕ)
+ where
+
+ is-strict-increasing-prop-sequence-ℕ : Prop lzero
+ is-strict-increasing-prop-sequence-ℕ =
+ Π-Prop ℕ
+ ( λ i →
+ Π-Prop ℕ
+ ( λ j → hom-Prop (le-ℕ-Prop i j) (le-ℕ-Prop (f i) (f j))))
+
+ is-strict-increasing-sequence-ℕ : UU lzero
+ is-strict-increasing-sequence-ℕ =
+ type-Prop is-strict-increasing-prop-sequence-ℕ
+
+ is-prop-is-strict-increasing-sequence-ℕ :
+ is-prop is-strict-increasing-sequence-ℕ
+ is-prop-is-strict-increasing-sequence-ℕ =
+ is-prop-type-Prop is-strict-increasing-prop-sequence-ℕ
+```
+
+### The type of strictly increasing sequences of natural numbers
+
+```agda
+strict-increasing-sequence-ℕ : UU lzero
+strict-increasing-sequence-ℕ = type-subtype is-strict-increasing-prop-sequence-ℕ
+
+module _
+ (f : strict-increasing-sequence-ℕ)
+ where
+
+ sequence-strict-increasing-sequence-ℕ : sequence ℕ
+ sequence-strict-increasing-sequence-ℕ = pr1 f
+
+ is-strict-increasing-sequence-strict-increasing-sequence-ℕ :
+ is-strict-increasing-sequence-ℕ
+ sequence-strict-increasing-sequence-ℕ
+ is-strict-increasing-sequence-strict-increasing-sequence-ℕ = pr2 f
+```
+
+### Strictly increasing values of a sequence of natural numbers
+
+```agda
+module _
+ (f : sequence ℕ) (n : ℕ)
+ where
+
+ is-strict-increasing-value-prop-sequence-ℕ : Prop lzero
+ is-strict-increasing-value-prop-sequence-ℕ = le-ℕ-Prop (f n) (f (succ-ℕ n))
+
+ is-strict-increasing-value-sequence-ℕ : UU lzero
+ is-strict-increasing-value-sequence-ℕ =
+ type-Prop is-strict-increasing-value-prop-sequence-ℕ
+
+ is-prop-is-strict-increasing-value-sequence-ℕ :
+ is-prop is-strict-increasing-value-sequence-ℕ
+ is-prop-is-strict-increasing-value-sequence-ℕ =
+ is-prop-type-Prop is-strict-increasing-value-prop-sequence-ℕ
+```
+
+## Properties
+
+### A sequence of natural numbers is strictly invceasing if and only if all its values are strictly increasing
+
+```agda
+module _
+ (f : sequence ℕ)
+ where
+
+ strict-increasing-value-is-strict-increasing-sequence-ℕ :
+ is-strict-increasing-sequence-ℕ f →
+ ((n : ℕ) → is-strict-increasing-value-sequence-ℕ f n)
+ strict-increasing-value-is-strict-increasing-sequence-ℕ H n =
+ H n (succ-ℕ n) (succ-le-ℕ n)
+
+ strict-increasing-is-strict-increasing-value-sequence-ℕ :
+ ((n : ℕ) → is-strict-increasing-value-sequence-ℕ f n) →
+ is-strict-increasing-sequence-ℕ f
+ strict-increasing-is-strict-increasing-value-sequence-ℕ H p q I =
+ based-ind-ℕ
+ ( succ-ℕ p)
+ ( λ k → le-ℕ (f p) (f k))
+ ( H p)
+ ( λ n J K → transitive-le-ℕ (f p) (f n) (f (succ-ℕ n)) K ((H n)))
+ ( q)
+ ( leq-succ-le-ℕ p q I)
+
+module _
+ (f : strict-increasing-sequence-ℕ) (n : ℕ)
+ where
+
+ strict-increasing-value-strict-increasing-sequence-ℕ :
+ is-strict-increasing-value-sequence-ℕ
+ (sequence-strict-increasing-sequence-ℕ f)
+ (n)
+ strict-increasing-value-strict-increasing-sequence-ℕ =
+ strict-increasing-value-is-strict-increasing-sequence-ℕ
+ ( sequence-strict-increasing-sequence-ℕ f)
+ ( is-strict-increasing-sequence-strict-increasing-sequence-ℕ f)
+ ( n)
+```
+
+### Strictly increasing sequences of natural numbers preserve inequality
+
+```agda
+module _
+ (f : strict-increasing-sequence-ℕ) (p q : ℕ)
+ where
+
+ preserves-leq-strict-increasing-sequence-ℕ :
+ leq-ℕ p q →
+ leq-ℕ
+ (sequence-strict-increasing-sequence-ℕ f p)
+ (sequence-strict-increasing-sequence-ℕ f q)
+ preserves-leq-strict-increasing-sequence-ℕ =
+ ( leq-eq-or-le-ℕ
+ (sequence-strict-increasing-sequence-ℕ f p)
+ (sequence-strict-increasing-sequence-ℕ f q)) ∘
+ ( map-coproduct
+ ( ap (sequence-strict-increasing-sequence-ℕ f))
+ ( is-strict-increasing-sequence-strict-increasing-sequence-ℕ
+ ( f)
+ ( p)
+ ( q))) ∘
+ ( eq-or-le-leq-ℕ p q)
+```
+
+### The identity sequence is strictly increasing
+
+```agda
+is-strict-increasing-id-ℕ : is-strict-increasing-sequence-ℕ id
+is-strict-increasing-id-ℕ i j = id
+
+strict-increasing-id-ℕ : strict-increasing-sequence-ℕ
+strict-increasing-id-ℕ = (id , is-strict-increasing-id-ℕ)
+```
+
+### The identity sequence is lesser than all strictly increasing sequences of natural numbers
+
+```agda
+module _
+ (f : strict-increasing-sequence-ℕ)
+ where
+
+ leq-id-strict-increasing-sequence-ℕ :
+ (n : ℕ) → leq-ℕ n (sequence-strict-increasing-sequence-ℕ f n)
+ leq-id-strict-increasing-sequence-ℕ =
+ ind-ℕ
+ ( leq-zero-ℕ (sequence-strict-increasing-sequence-ℕ f zero-ℕ))
+ ( λ n H →
+ leq-succ-le-ℕ
+ ( n)
+ ( sequence-strict-increasing-sequence-ℕ f (succ-ℕ n))
+ ( concatenate-leq-le-ℕ
+ { n}
+ { sequence-strict-increasing-sequence-ℕ f n}
+ { sequence-strict-increasing-sequence-ℕ f (succ-ℕ n)}
+ ( H)
+ ( is-strict-increasing-sequence-strict-increasing-sequence-ℕ
+ ( f)
+ ( n)
+ ( succ-ℕ n)
+ ( succ-le-ℕ n))))
+```
+
+### The successor function is strictly increasing
+
+```agda
+is-strict-increasing-succ-ℕ : is-strict-increasing-sequence-ℕ succ-ℕ
+is-strict-increasing-succ-ℕ i j H = H
+
+strict-increasing-succ-ℕ : strict-increasing-sequence-ℕ
+strict-increasing-succ-ℕ = (succ-ℕ , is-strict-increasing-succ-ℕ)
+```
+
+### The composition of strictly increasing sequences of natural numbers is strictly increasing
+
+```agda
+module _
+ (g f : sequence ℕ)
+ (G : is-strict-increasing-sequence-ℕ g)
+ (F : is-strict-increasing-sequence-ℕ f)
+ where
+
+ is-strict-increasing-comp-is-strict-increasing-sequence-ℕ :
+ is-strict-increasing-sequence-ℕ (g ∘ f)
+ is-strict-increasing-comp-is-strict-increasing-sequence-ℕ p q =
+ G (f p) (f q) ∘ (F p q)
+
+comp-strict-increasing-sequence-ℕ :
+ strict-increasing-sequence-ℕ →
+ strict-increasing-sequence-ℕ →
+ strict-increasing-sequence-ℕ
+comp-strict-increasing-sequence-ℕ g f =
+ ( ( sequence-strict-increasing-sequence-ℕ g) ∘
+ ( sequence-strict-increasing-sequence-ℕ f)) ,
+ ( is-strict-increasing-comp-is-strict-increasing-sequence-ℕ
+ ( sequence-strict-increasing-sequence-ℕ g)
+ ( sequence-strict-increasing-sequence-ℕ f)
+ ( is-strict-increasing-sequence-strict-increasing-sequence-ℕ g)
+ ( is-strict-increasing-sequence-strict-increasing-sequence-ℕ f))
+```
+
+### A strictly increasing sequence of natural numbers takes arbitrarily large values
+
+```agda
+module _
+ (f : strict-increasing-sequence-ℕ) (M : ℕ)
+ where
+
+ unbounded-strict-increasing-sequence-ℕ :
+ Σ ℕ (λ n → leq-ℕ M (sequence-strict-increasing-sequence-ℕ f n))
+ unbounded-strict-increasing-sequence-ℕ =
+ (M , leq-id-strict-increasing-sequence-ℕ f M)
+
+ modulus-unbounded-strict-increasing-sequence-ℕ : ℕ
+ modulus-unbounded-strict-increasing-sequence-ℕ =
+ pr1 unbounded-strict-increasing-sequence-ℕ
+
+ value-unbounded-strict-increasing-sequence-ℕ : ℕ
+ value-unbounded-strict-increasing-sequence-ℕ =
+ sequence-strict-increasing-sequence-ℕ f
+ modulus-unbounded-strict-increasing-sequence-ℕ
+
+ is-modulus-unbounded-strict-increasing-sequence-ℕ :
+ leq-ℕ M value-unbounded-strict-increasing-sequence-ℕ
+ is-modulus-unbounded-strict-increasing-sequence-ℕ =
+ pr2 unbounded-strict-increasing-sequence-ℕ
+
+ is-∞-modulus-unbounded-strict-increasing-sequence-ℕ :
+ (p : ℕ) →
+ leq-ℕ modulus-unbounded-strict-increasing-sequence-ℕ p →
+ leq-ℕ M (sequence-strict-increasing-sequence-ℕ f p)
+ is-∞-modulus-unbounded-strict-increasing-sequence-ℕ =
+ based-ind-ℕ
+ ( modulus-unbounded-strict-increasing-sequence-ℕ)
+ ( λ k → leq-ℕ M (sequence-strict-increasing-sequence-ℕ f k))
+ ( is-modulus-unbounded-strict-increasing-sequence-ℕ)
+ ( λ n I →
+ transitive-leq-ℕ
+ ( M)
+ ( sequence-strict-increasing-sequence-ℕ f n)
+ ( sequence-strict-increasing-sequence-ℕ f (succ-ℕ n))
+ ( leq-le-ℕ
+ ( sequence-strict-increasing-sequence-ℕ f n)
+ ( sequence-strict-increasing-sequence-ℕ f (succ-ℕ n))
+ ( strict-increasing-value-strict-increasing-sequence-ℕ f n)))
+```
+
+### The strictly increasing sequence of natural numbers that skips the `n + 1` first terms
+
+```agda
+skip-ℕ : ℕ → ℕ → ℕ
+skip-ℕ n m = succ-ℕ (n +ℕ m)
+
+is-strict-increasing-skip-ℕ :
+ (n : ℕ) → is-strict-increasing-sequence-ℕ (skip-ℕ n)
+is-strict-increasing-skip-ℕ n p q I =
+ concatenate-le-leq-ℕ
+ { add-ℕ n p}
+ { succ-ℕ (add-ℕ n p)}
+ { add-ℕ n q}
+ ( succ-le-ℕ (add-ℕ n p))
+ ( preserves-leq-right-add-ℕ n (succ-ℕ p) q (leq-succ-le-ℕ p q I))
+
+strict-increasing-skip-ℕ : (n : ℕ) → strict-increasing-sequence-ℕ
+strict-increasing-skip-ℕ n = (skip-ℕ n , is-strict-increasing-skip-ℕ n)
+
+associative-skip-ℕ : (i j k : ℕ) →
+ skip-ℕ (skip-ℕ i j) k = skip-ℕ i (skip-ℕ j k)
+associative-skip-ℕ i j k =
+ ap
+ ( succ-ℕ)
+ ( ( left-successor-law-add-ℕ (i +ℕ j) k) ∙
+ ( ap succ-ℕ (associative-add-ℕ i j k)))
+
+le-skip-ℕ : (m n : ℕ) → le-ℕ m (skip-ℕ m n)
+le-skip-ℕ m n = le-succ-leq-ℕ m (m +ℕ n) (leq-add-ℕ m n)
+
+le-skip-ℕ' : (m n : ℕ) → le-ℕ m (skip-ℕ n m)
+le-skip-ℕ' m n = le-succ-leq-ℕ m (n +ℕ m) (leq-add-ℕ' m n)
+```
diff --git a/src/foundation.lagda.md b/src/foundation.lagda.md
index fa4a82900e..3fda099193 100644
--- a/src/foundation.lagda.md
+++ b/src/foundation.lagda.md
@@ -26,6 +26,10 @@ open import foundation.action-on-identifications-functions public
open import foundation.apartness-relations public
open import foundation.arithmetic-law-coproduct-and-sigma-decompositions public
open import foundation.arithmetic-law-product-and-pi-decompositions public
+open import foundation.asymptotical-dependent-sequences public
+open import foundation.asymptotical-value-sequences public
+open import foundation.asymptotically-constant-sequences public
+open import foundation.asymptotically-equal-sequences public
open import foundation.automorphisms public
open import foundation.axiom-of-choice public
open import foundation.bands public
@@ -81,6 +85,7 @@ open import foundation.connected-components-universes public
open import foundation.connected-maps public
open import foundation.connected-types public
open import foundation.constant-maps public
+open import foundation.constant-sequences public
open import foundation.constant-span-diagrams public
open import foundation.constant-type-families public
open import foundation.contractible-maps public
@@ -371,6 +376,7 @@ open import foundation.strongly-extensional-maps public
open import foundation.structure public
open import foundation.structure-identity-principle public
open import foundation.structured-type-duality public
+open import foundation.subsequences public
open import foundation.subsingleton-induction public
open import foundation.subterminal-types public
open import foundation.subtype-duality public
diff --git a/src/foundation/asymptotical-dependent-sequences.lagda.md b/src/foundation/asymptotical-dependent-sequences.lagda.md
new file mode 100644
index 0000000000..5cd16ca8e6
--- /dev/null
+++ b/src/foundation/asymptotical-dependent-sequences.lagda.md
@@ -0,0 +1,157 @@
+# Asymptotical dependent sequences
+
+```agda
+module foundation.asymptotical-dependent-sequences where
+```
+
+Imports
+
+```agda
+open import elementary-number-theory.inequality-natural-numbers
+open import elementary-number-theory.maximum-natural-numbers
+open import elementary-number-theory.natural-numbers
+
+open import foundation.dependent-pair-types
+open import foundation.dependent-sequences
+open import foundation.function-types
+open import foundation.functoriality-dependent-pair-types
+open import foundation.universe-levels
+```
+
+
+
+## Idea
+
+A dependent sequence `A : ℕ → UU l` is **asymptotical** if `A n` is pointed for
+sufficiently large natural numbers `n`.
+
+## Definitions
+
+### Asymptotical dependent sequences
+
+```agda
+module _
+ {l : Level} (A : ℕ → UU l)
+ where
+
+ is-modulus-dependent-sequence : ℕ → UU l
+ is-modulus-dependent-sequence N = (n : ℕ) → leq-ℕ N n → A n
+
+ asymptotically : UU l
+ asymptotically = Σ ℕ is-modulus-dependent-sequence
+```
+
+### Modulus of an asymptotical dependent sequence
+
+```agda
+module _
+ {l : Level} {A : ℕ → UU l} (H : asymptotically A)
+ where
+
+ modulus-∞-asymptotically : ℕ
+ modulus-∞-asymptotically = pr1 H
+
+ is-modulus-∞-asymptotically :
+ is-modulus-dependent-sequence A modulus-∞-asymptotically
+ is-modulus-∞-asymptotically = pr2 H
+
+ value-∞-asymptotically : A modulus-∞-asymptotically
+ value-∞-asymptotically =
+ is-modulus-∞-asymptotically
+ ( modulus-∞-asymptotically)
+ ( refl-leq-ℕ modulus-∞-asymptotically)
+```
+
+## Properties
+
+### Pointed dependent sequences are asymptotical
+
+```agda
+module _
+ {l : Level} {A : ℕ → UU l}
+ where
+
+ asymptotically-Π : ((n : ℕ) → A n) → asymptotically A
+ asymptotically-Π u = (zero-ℕ , λ p I → u p)
+```
+
+### Any natural number greater than an asymptotical modulus is an asymptotical modulus
+
+```agda
+module _
+ {l : Level} (A : ℕ → UU l) (i j : ℕ) (I : leq-ℕ i j)
+ where
+
+ is-increasing-is-modulus-dependent-sequence :
+ (is-modulus-dependent-sequence A i) → (is-modulus-dependent-sequence A j)
+ is-increasing-is-modulus-dependent-sequence H k K =
+ H k (transitive-leq-ℕ i j k K I)
+```
+
+### A dependent sequence that asymptotically has an asymptotical modulus is asymptotical
+
+```agda
+module _
+ {l : Level} (A : ℕ → UU l)
+ where
+
+ asymptotically-is-modulus-dependent-sequence :
+ asymptotically (is-modulus-dependent-sequence A) →
+ asymptotically A
+ asymptotically-is-modulus-dependent-sequence (N , H) =
+ (N , (λ n K → H n K n (refl-leq-ℕ n)))
+```
+
+### Asymptotical functorial action on asymptotical dependent sequences
+
+```agda
+module _
+ {l1 l2 : Level} {A : ℕ → UU l1} {B : ℕ → UU l2}
+ where
+
+ map-asymptotically :
+ asymptotically (λ n → A n → B n) →
+ asymptotically A →
+ asymptotically B
+ map-asymptotically H K =
+ ( max-ℕ (modulus-∞-asymptotically H) (modulus-∞-asymptotically K)) ,
+ ( λ q I →
+ is-modulus-∞-asymptotically H q
+ ( leq-left-leq-max-ℕ q
+ ( modulus-∞-asymptotically H)
+ ( modulus-∞-asymptotically K)
+ ( I))
+ ( is-modulus-∞-asymptotically K q
+ ( leq-right-leq-max-ℕ q
+ ( modulus-∞-asymptotically H)
+ ( modulus-∞-asymptotically K)
+ ( I))))
+
+ map-asymptotically-Π :
+ ((n : ℕ) → A n → B n) →
+ asymptotically A →
+ asymptotically B
+ map-asymptotically-Π = map-asymptotically ∘ asymptotically-Π
+```
+
+### Asymptotical binary functorial action on asymptotical dependent sequences
+
+```agda
+module _
+ {l1 l2 l3 : Level} {A : ℕ → UU l1} {B : ℕ → UU l2} {C : ℕ → UU l3}
+ where
+
+ map-binary-asymptotically :
+ asymptotically (λ n → A n → B n → C n) →
+ asymptotically A →
+ asymptotically B →
+ asymptotically C
+ map-binary-asymptotically I = map-asymptotically ∘ (map-asymptotically I)
+
+ map-binary-asymptotically-Π :
+ ((n : ℕ) → A n → B n → C n) →
+ asymptotically A →
+ asymptotically B →
+ asymptotically C
+ map-binary-asymptotically-Π = map-binary-asymptotically ∘ asymptotically-Π
+```
diff --git a/src/foundation/asymptotical-value-sequences.lagda.md b/src/foundation/asymptotical-value-sequences.lagda.md
new file mode 100644
index 0000000000..1f5e943365
--- /dev/null
+++ b/src/foundation/asymptotical-value-sequences.lagda.md
@@ -0,0 +1,123 @@
+# Asymptotical value of a sequence
+
+```agda
+module foundation.asymptotical-value-sequences where
+```
+
+Imports
+
+```agda
+open import elementary-number-theory.based-induction-natural-numbers
+open import elementary-number-theory.inequality-natural-numbers
+open import elementary-number-theory.maximum-natural-numbers
+open import elementary-number-theory.natural-numbers
+open import elementary-number-theory.strictly-increasing-sequences-natural-numbers
+
+open import foundation.asymptotical-dependent-sequences
+open import foundation.asymptotically-equal-sequences
+open import foundation.constant-sequences
+open import foundation.dependent-pair-types
+open import foundation.function-types
+open import foundation.functoriality-dependent-pair-types
+open import foundation.identity-types
+open import foundation.sequences
+open import foundation.subsequences
+open import foundation.universe-levels
+```
+
+
+
+## Idea
+
+A sequence `u` in a type `A` has an **asymptotical value** `x : A` if `x = u n`
+for sufficiently large natural numbers `n`.
+
+## Definitions
+
+### Asymptotical values of sequences
+
+```agda
+module _
+ {l : Level} {A : UU l} (x : A) (u : sequence A)
+ where
+
+ is-∞-value-sequence : UU l
+ is-∞-value-sequence = asymptotically (is-value-sequence x u)
+```
+
+### Modulus of an asymptotical value of a sequence
+
+```agda
+module _
+ {l : Level} {A : UU l} {x : A} {u : sequence A} (H : is-∞-value-sequence x u)
+ where
+
+ modulus-∞-value-sequence : ℕ
+ modulus-∞-value-sequence = pr1 H
+
+ is-modulus-∞-value-sequence :
+ (n : ℕ) → leq-ℕ modulus-∞-value-sequence n → x = u n
+ is-modulus-∞-value-sequence = pr2 H
+```
+
+## Properties
+
+### Asymptotical values are unique
+
+```agda
+module _
+ {l : Level} {A : UU l} (x y : A) (u : sequence A)
+ (H : is-∞-value-sequence x u) (K : is-∞-value-sequence y u)
+ where
+
+ all-eq-∞-value-sequence : x = y
+ all-eq-∞-value-sequence =
+ value-∞-asymptotically
+ (map-binary-asymptotically-Π (λ n I J → I ∙ (inv J)) H K)
+```
+
+### A sequence has an asymptotical value if and only if it is asymptotically equal to some constant sequence
+
+```agda
+module _
+ {l : Level} {A : UU l} (x : A) (u : sequence A)
+ where
+
+ eq-∞-const-sequence-is-∞-value-sequence :
+ is-∞-value-sequence x u → eq-∞-sequence (const-sequence x) u
+ eq-∞-const-sequence-is-∞-value-sequence = tot (λ n K → K)
+
+ is-∞-value-eq-∞-constant-sequence :
+ eq-∞-sequence (const-sequence x) u → is-∞-value-sequence x u
+ is-∞-value-eq-∞-constant-sequence = tot (λ n K → K)
+```
+
+### Asymptotical equality preserves asymptotical value
+
+```agda
+module _
+ {l : Level} {A : UU l} (x : A) (u v : sequence A)
+ where
+
+ preserves-∞-value-eq-∞-sequence :
+ eq-∞-sequence u v → is-∞-value-sequence x u → is-∞-value-sequence x v
+ preserves-∞-value-eq-∞-sequence =
+ map-binary-asymptotically-Π (λ n I H → H ∙ I)
+```
+
+### The asymptotical value of a sequence is an asymptotical value of all it subsequences
+
+```agda
+module _
+ {l : Level} {A : UU l} {x : A} {u : sequence A} (H : is-∞-value-sequence x u)
+ where
+
+ Π-subsequence-∞-value-sequence : Π-subsequence (is-∞-value-sequence x) u
+ Π-subsequence-∞-value-sequence v =
+ ( modulus-subsequence u v (modulus-∞-value-sequence H)) ,
+ ( λ n I →
+ is-modulus-∞-value-sequence
+ ( H)
+ ( extract-subsequence u v n)
+ ( is-modulus-subsequence u v (modulus-∞-value-sequence H) n I))
+```
diff --git a/src/foundation/asymptotically-constant-sequences.lagda.md b/src/foundation/asymptotically-constant-sequences.lagda.md
new file mode 100644
index 0000000000..07fc4e0185
--- /dev/null
+++ b/src/foundation/asymptotically-constant-sequences.lagda.md
@@ -0,0 +1,320 @@
+# Asymptotically constant sequences
+
+```agda
+module foundation.asymptotically-constant-sequences where
+```
+
+Imports
+
+```agda
+open import elementary-number-theory.based-induction-natural-numbers
+open import elementary-number-theory.inequality-natural-numbers
+open import elementary-number-theory.maximum-natural-numbers
+open import elementary-number-theory.natural-numbers
+open import elementary-number-theory.strictly-increasing-sequences-natural-numbers
+
+open import foundation.asymptotical-dependent-sequences
+open import foundation.asymptotical-value-sequences
+open import foundation.asymptotically-equal-sequences
+open import foundation.constant-sequences
+open import foundation.dependent-pair-types
+open import foundation.function-types
+open import foundation.functoriality-dependent-pair-types
+open import foundation.identity-types
+open import foundation.sequences
+open import foundation.subsequences
+open import foundation.universe-levels
+```
+
+
+
+## Idea
+
+A sequence `u` is **asymptotically constant** if `u p = u q` for sufficiently
+large `p` and `q`.
+
+## Definitions
+
+### Asymptotically constant sequences
+
+```agda
+module _
+ {l : Level} {A : UU l} (u : sequence A)
+ where
+
+ is-∞-constant-sequence : UU l
+ is-∞-constant-sequence =
+ asymptotically (λ p → asymptotically (λ q → u p = u q))
+```
+
+### The asymptotical value of an asymptotically constant sequence
+
+```agda
+module _
+ {l : Level} {A : UU l} {u : sequence A} (H : is-∞-constant-sequence u)
+ where
+
+ ∞-value-∞-constant-sequence : A
+ ∞-value-∞-constant-sequence = u (modulus-∞-asymptotically H)
+
+ is-∞-value-∞-constant-sequence :
+ is-∞-value-sequence ∞-value-∞-constant-sequence u
+ is-∞-value-∞-constant-sequence = value-∞-asymptotically H
+
+ modulus-∞-value-∞-constant-sequence : ℕ
+ modulus-∞-value-∞-constant-sequence =
+ modulus-∞-asymptotically is-∞-value-∞-constant-sequence
+
+ is-modulus-∞-value-∞-constant-sequence :
+ (n : ℕ) →
+ leq-ℕ modulus-∞-value-∞-constant-sequence n →
+ ∞-value-∞-constant-sequence = u n
+ is-modulus-∞-value-∞-constant-sequence =
+ is-modulus-∞-asymptotically is-∞-value-∞-constant-sequence
+
+ const-∞-value-∞-constant-sequence : sequence A
+ const-∞-value-∞-constant-sequence n = ∞-value-∞-constant-sequence
+```
+
+## Properties
+
+### Constant sequences are asymptotically constant
+
+```agda
+module _
+ {l : Level} {A : UU l} {u : sequence A} (H : is-constant-sequence u)
+ where
+
+ ∞-constant-is-constant-sequence : is-∞-constant-sequence u
+ pr1 ∞-constant-is-constant-sequence = zero-ℕ
+ pr2 ∞-constant-is-constant-sequence p I = (zero-ℕ , λ q J → H p q)
+```
+
+### The asymptotical value of an asymptotically constant sequence is unique
+
+```agda
+module _
+ {l : Level} {A : UU l} {u : sequence A}
+ (H K : is-∞-constant-sequence u)
+ where
+
+ all-equal-∞-value-∞-constant-sequence :
+ ∞-value-∞-constant-sequence H = ∞-value-∞-constant-sequence K
+ all-equal-∞-value-∞-constant-sequence =
+ all-eq-∞-value-sequence
+ ( ∞-value-∞-constant-sequence H)
+ ( ∞-value-∞-constant-sequence K)
+ ( u)
+ ( is-∞-value-∞-constant-sequence H)
+ ( is-∞-value-∞-constant-sequence K)
+```
+
+### A sequence is asymptotically constant if it has some asymptotical value
+
+```agda
+module _
+ {l : Level} {A : UU l} (x : A) (u : sequence A)
+ where
+
+ ∞-constant-is-∞-value-sequence :
+ is-∞-value-sequence x u → is-∞-constant-sequence u
+ ∞-constant-is-∞-value-sequence H =
+ ( modulus-∞-value-sequence H) ,
+ ( λ p I →
+ ( modulus-∞-value-sequence H) ,
+ ( λ q J →
+ ( inv (is-modulus-∞-value-sequence H p I)) ∙
+ ( is-modulus-∞-value-sequence H q J)))
+```
+
+### An asymptotically constant sequence is asymptotically equal to the constant sequence of its asymptotical value
+
+```agda
+module _
+ {l : Level} {A : UU l} {u : sequence A} (H : is-∞-constant-sequence u)
+ where
+
+ eq-∞-value-∞-constant-sequence :
+ eq-∞-sequence (const-∞-value-∞-constant-sequence H) u
+ eq-∞-value-∞-constant-sequence =
+ ( modulus-∞-value-∞-constant-sequence H) ,
+ ( is-modulus-∞-value-∞-constant-sequence H)
+
+ eq-∞-value-∞-constant-sequence' :
+ eq-∞-sequence u (const-∞-value-∞-constant-sequence H)
+ eq-∞-value-∞-constant-sequence' =
+ inv-eq-∞-sequence eq-∞-value-∞-constant-sequence
+```
+
+### Two asymptotically constant sequences are asymptotically equal if and only if their asymptotical value is the same
+
+```agda
+module _
+ {l : Level} {A : UU l} (u v : sequence A)
+ (H : is-∞-constant-sequence u) (K : is-∞-constant-sequence v)
+ where
+
+ eq-∞-sequence-eq-∞-value-∞-constant-sequence :
+ (∞-value-∞-constant-sequence H) = (∞-value-∞-constant-sequence K) →
+ eq-∞-sequence u v
+ eq-∞-sequence-eq-∞-value-∞-constant-sequence I =
+ conjugate-eq-∞-sequence
+ ( eq-∞-value-∞-constant-sequence H)
+ ( eq-∞-value-∞-constant-sequence K)
+ ( asymptotically-Π (λ n → I))
+
+ eq-∞-value-eq-∞-sequence-∞-constant-sequence :
+ eq-∞-sequence u v →
+ (∞-value-∞-constant-sequence H) = (∞-value-∞-constant-sequence K)
+ eq-∞-value-eq-∞-sequence-∞-constant-sequence I =
+ value-∞-asymptotically
+ ( conjugate-eq-∞-sequence'
+ ( eq-∞-value-∞-constant-sequence H)
+ ( eq-∞-value-∞-constant-sequence K)
+ ( I))
+```
+
+### Any subsequence of an asymptotically constant sequence is asymptotically constant
+
+```agda
+module _
+ {l : Level} {A : UU l} (u : sequence A) (H : is-∞-constant-sequence u)
+ where
+
+ ∞-constant-Π-subsequence : Π-subsequence is-∞-constant-sequence u
+ ∞-constant-Π-subsequence v =
+ ∞-constant-is-∞-value-sequence
+ ( ∞-value-∞-constant-sequence H)
+ ( sequence-subsequence u v)
+ ( Π-subsequence-∞-value-sequence
+ ( is-∞-value-∞-constant-sequence H)
+ ( v))
+```
+
+### A sequence asymptotically equal to an asymptotically constant sequence is asymptotically constant
+
+```agda
+module _
+ {l : Level} {A : UU l} (u v : sequence A) (H : eq-∞-sequence u v)
+ where
+
+ preserves-∞-constant-eq-∞-sequence :
+ is-∞-constant-sequence u → is-∞-constant-sequence v
+ preserves-∞-constant-eq-∞-sequence K =
+ ∞-constant-is-∞-value-sequence
+ ( ∞-value-∞-constant-sequence K)
+ ( v)
+ ( transitive-eq-∞-sequence
+ ( const-∞-value-∞-constant-sequence K)
+ ( u)
+ ( v)
+ ( H)
+ ( eq-∞-value-∞-constant-sequence K))
+```
+
+### Asymptotically stationnary sequences
+
+#### The predicate of being asymptotically stationnary
+
+```agda
+module _
+ {l : Level} {A : UU l} (u : sequence A)
+ where
+
+ is-∞-stationnary-sequence : UU l
+ is-∞-stationnary-sequence = asymptotically (is-stationnary-value-sequence u)
+
+ is-∞-constant-modulus-is-∞-stationnary-sequence :
+ (H : is-∞-stationnary-sequence) →
+ (n : ℕ) →
+ leq-ℕ (modulus-∞-asymptotically H) n →
+ u (modulus-∞-asymptotically H) = u n
+ is-∞-constant-modulus-is-∞-stationnary-sequence H =
+ based-ind-ℕ
+ ( modulus-∞-asymptotically H)
+ ( λ n → u (modulus-∞-asymptotically H) = u n)
+ ( refl)
+ ( λ n I K → K ∙ is-modulus-∞-asymptotically H n I)
+```
+
+#### A sequence is asymptotically constant if and only if it is asymptotically stationnary
+
+```agda
+module _
+ {l : Level} {A : UU l} (u : sequence A)
+ where
+
+ ∞-constant-is-∞-stationnary-sequence :
+ is-∞-stationnary-sequence u → is-∞-constant-sequence u
+ ∞-constant-is-∞-stationnary-sequence H =
+ ∞-constant-is-∞-value-sequence
+ ( u (modulus-∞-asymptotically H))
+ ( u)
+ ( ( modulus-∞-asymptotically H) ,
+ ( is-∞-constant-modulus-is-∞-stationnary-sequence u H))
+
+ ∞-stationnary-is-∞-constant-sequence :
+ is-∞-constant-sequence u → is-∞-stationnary-sequence u
+ ∞-stationnary-is-∞-constant-sequence H =
+ ( ( modulus-∞-value-∞-constant-sequence H) ,
+ ( λ n I →
+ ( inv (is-modulus-∞-value-∞-constant-sequence H n I)) ∙
+ ( is-modulus-∞-value-∞-constant-sequence
+ ( H)
+ ( succ-ℕ n)
+ ( preserves-leq-succ-ℕ
+ ( modulus-∞-value-∞-constant-sequence H)
+ ( n)
+ ( I)))))
+```
+
+### A sequence is asymptotically constant if and only if it is asymptotically equal to all its subsequences
+
+```agda
+module _
+ {l : Level} {A : UU l} (u : sequence A)
+ where
+
+ eq-∞-subsequence-is-∞-constant-sequence :
+ is-∞-constant-sequence u → Π-subsequence (eq-∞-sequence u) u
+ eq-∞-subsequence-is-∞-constant-sequence H v =
+ transitive-eq-∞-sequence
+ ( u)
+ ( const-∞-value-∞-constant-sequence H)
+ ( sequence-subsequence u v)
+ ( eq-∞-const-sequence-is-∞-value-sequence
+ ( ∞-value-∞-constant-sequence H)
+ ( sequence-subsequence u v)
+ ( Π-subsequence-∞-value-sequence (is-∞-value-∞-constant-sequence H) v))
+ ( eq-∞-value-∞-constant-sequence' H)
+
+ ∞-constant-eq-∞-sequence-subsequence :
+ Π-subsequence (eq-∞-sequence u) u → is-∞-constant-sequence u
+ ∞-constant-eq-∞-sequence-subsequence H =
+ ∞-constant-is-∞-stationnary-sequence
+ ( u)
+ ( H (skip-zero-sequence u))
+```
+
+### An asymptotically constant sequence has a constant subsequence
+
+```agda
+module _
+ {l : Level} {A : UU l} (u : sequence A) (H : is-∞-constant-sequence u)
+ where
+
+ constant-subsequence-is-∞-constant-sequence :
+ Σ-subsequence is-constant-sequence u
+ constant-subsequence-is-∞-constant-sequence =
+ ( skip-subsequence (modulus-∞-value-∞-constant-sequence H) u) ,
+ ( λ p q →
+ ( inv
+ ( is-modulus-∞-value-∞-constant-sequence
+ ( H)
+ ( skip-ℕ (modulus-∞-value-∞-constant-sequence H) p)
+ ( leq-add-ℕ (modulus-∞-value-∞-constant-sequence H) (succ-ℕ p)))) ∙
+ ( is-modulus-∞-value-∞-constant-sequence
+ ( H)
+ ( skip-ℕ (modulus-∞-value-∞-constant-sequence H) q)
+ ( leq-add-ℕ (modulus-∞-value-∞-constant-sequence H) (succ-ℕ q))))
+```
diff --git a/src/foundation/asymptotically-equal-sequences.lagda.md b/src/foundation/asymptotically-equal-sequences.lagda.md
new file mode 100644
index 0000000000..4b5d525437
--- /dev/null
+++ b/src/foundation/asymptotically-equal-sequences.lagda.md
@@ -0,0 +1,135 @@
+# Asymptotically equal sequences
+
+```agda
+module foundation.asymptotically-equal-sequences where
+```
+
+Imports
+
+```agda
+open import elementary-number-theory.inequality-natural-numbers
+open import elementary-number-theory.maximum-natural-numbers
+open import elementary-number-theory.natural-numbers
+
+open import foundation.asymptotical-dependent-sequences
+open import foundation.dependent-pair-types
+open import foundation.functoriality-dependent-pair-types
+open import foundation.identity-types
+open import foundation.sequences
+open import foundation.universe-levels
+
+open import foundation-core.function-types
+```
+
+
+
+## Idea
+
+Two sequences `u` and `v` are **asymptotically equal** if `u n = v n` for any
+sufficiently large natural number `n`.
+
+## Definitions
+
+### The relation of being asymptotically equal sequences
+
+```agda
+module _
+ {l : Level} {A : UU l} (u v : sequence A)
+ where
+
+ eq-∞-sequence : UU l
+ eq-∞-sequence = asymptotically (λ n → u n = v n)
+```
+
+### Modulus of asymptotical equality
+
+```agda
+module _
+ {l : Level} {A : UU l} {u v : sequence A} (H : eq-∞-sequence u v)
+ where
+
+ modulus-eq-∞-sequence : ℕ
+ modulus-eq-∞-sequence = pr1 H
+
+ is-modulus-eq-∞-sequence :
+ (n : ℕ) → leq-ℕ modulus-eq-∞-sequence n → u n = v n
+ is-modulus-eq-∞-sequence = pr2 H
+```
+
+## Properties
+
+### Any sequence is asymptotically equal to itself
+
+```agda
+module _
+ {l : Level} {A : UU l}
+ where
+
+ refl-eq-∞-sequence : (u : sequence A) → eq-∞-sequence u u
+ pr1 (refl-eq-∞-sequence u) = zero-ℕ
+ pr2 (refl-eq-∞-sequence u) m H = refl
+
+ eq-∞-eq-sequence :
+ {u v : sequence A} → ((n : ℕ) → u n = v n) → eq-∞-sequence u v
+ eq-∞-eq-sequence {u} {v} I = (zero-ℕ , λ n H → I n)
+```
+
+### Asymptotical equality is a symmetric relation
+
+```agda
+module _
+ {l : Level} {A : UU l} (u v : sequence A)
+ where
+
+ symmetric-eq-∞-sequence : eq-∞-sequence u v → eq-∞-sequence v u
+ symmetric-eq-∞-sequence = map-asymptotically-Π (λ n → inv)
+
+module _
+ {l : Level} {A : UU l} {u v : sequence A}
+ where
+
+ inv-eq-∞-sequence : eq-∞-sequence u v → eq-∞-sequence v u
+ inv-eq-∞-sequence = symmetric-eq-∞-sequence u v
+```
+
+### Asymptotical equality is a transitive relation
+
+```agda
+module _
+ {l : Level} {A : UU l} (u v w : sequence A)
+ where
+
+ transitive-eq-∞-sequence :
+ eq-∞-sequence v w →
+ eq-∞-sequence u v →
+ eq-∞-sequence u w
+ transitive-eq-∞-sequence = map-binary-asymptotically-Π (λ n I J → J ∙ I)
+```
+
+### Conjugation of asymptotical equality
+
+```agda
+module _
+ {l : Level} {A : UU l} {u u' v v' : sequence A}
+ where
+
+ conjugate-eq-∞-sequence :
+ eq-∞-sequence u u' →
+ eq-∞-sequence v v' →
+ eq-∞-sequence u v →
+ eq-∞-sequence u' v'
+ conjugate-eq-∞-sequence H K I =
+ transitive-eq-∞-sequence u' u v'
+ ( transitive-eq-∞-sequence u v v' K I)
+ ( inv-eq-∞-sequence H)
+
+ conjugate-eq-∞-sequence' :
+ eq-∞-sequence u u' →
+ eq-∞-sequence v v' →
+ eq-∞-sequence u' v' →
+ eq-∞-sequence u v
+ conjugate-eq-∞-sequence' H K I =
+ transitive-eq-∞-sequence u u' v
+ ( transitive-eq-∞-sequence u' v' v (inv-eq-∞-sequence K) I)
+ ( H)
+```
diff --git a/src/foundation/constant-sequences.lagda.md b/src/foundation/constant-sequences.lagda.md
new file mode 100644
index 0000000000..5e461cf986
--- /dev/null
+++ b/src/foundation/constant-sequences.lagda.md
@@ -0,0 +1,130 @@
+# Constant Sequences
+
+```agda
+module foundation.constant-sequences where
+```
+
+Imports
+
+```agda
+open import elementary-number-theory.natural-numbers
+
+open import foundation.dependent-pair-types
+open import foundation.homotopies
+open import foundation.identity-types
+open import foundation.sequences
+open import foundation.universe-levels
+```
+
+
+
+## Idea
+
+A sequence `u` is **constant** if `u p = u q` for all `p` and `q`.
+
+## Definitions
+
+### Constant sequences
+
+```agda
+module _
+ {l : Level} {A : UU l} (u : sequence A)
+ where
+
+ is-constant-sequence : UU l
+ is-constant-sequence = (p q : ℕ) → u p = u q
+```
+
+### The type of constant sequences in a type
+
+```agda
+module _
+ {l : Level} (A : UU l)
+ where
+
+ constant-sequence : UU l
+ constant-sequence = Σ (sequence A) is-constant-sequence
+```
+
+### Stationnary values of a sequence
+
+```agda
+module _
+ {l : Level} {A : UU l} (u : sequence A)
+ where
+
+ is-stationnary-value-sequence : ℕ → UU l
+ is-stationnary-value-sequence n = (u n) = (u (succ-ℕ n))
+```
+
+## Properties
+
+### The value of a constant sequence
+
+```agda
+module _
+ {l : Level} {A : UU l} {u : sequence A} (H : is-constant-sequence u)
+ where
+
+ value-constant-sequence : A
+ value-constant-sequence = u zero-ℕ
+
+ eq-value-constant-sequence : (n : ℕ) → value-constant-sequence = u n
+ eq-value-constant-sequence = H zero-ℕ
+```
+
+### The constant sequences in a type
+
+```agda
+module _
+ {l : Level} {A : UU l} (x : A)
+ where
+
+ const-sequence : sequence A
+ const-sequence n = x
+```
+
+### Constant sequences are constant
+
+```agda
+module _
+ {l : Level} {A : UU l} (x : A)
+ where
+
+ is-constant-const-sequence : is-constant-sequence (const-sequence x)
+ is-constant-const-sequence p q = refl
+```
+
+### A sequence is constant if all its terms are equal to some element
+
+```agda
+module _
+ {l : Level} {A : UU l} (x : A) (u : sequence A)
+ where
+
+ is-constant-htpy-constant-sequence :
+ (const-sequence x) ~ u → is-constant-sequence u
+ is-constant-htpy-constant-sequence H p q = inv (H p) ∙ H q
+```
+
+### A sequence is constant if and only if all its values are stationnary
+
+```agda
+module _
+ {l : Level} {A : UU l} (u : sequence A)
+ where
+
+ is-stationnary-value-is-constant-sequence :
+ is-constant-sequence u →
+ ((n : ℕ) → is-stationnary-value-sequence u n)
+ is-stationnary-value-is-constant-sequence H n = H n (succ-ℕ n)
+
+ is-constant-is-stationnary-value-sequence :
+ ((n : ℕ) → is-stationnary-value-sequence u n) →
+ is-constant-sequence u
+ is-constant-is-stationnary-value-sequence H =
+ is-constant-htpy-constant-sequence
+ ( u zero-ℕ)
+ ( u)
+ ( ind-ℕ (refl) (λ n K → K ∙ H n))
+```
diff --git a/src/foundation/dependent-sequences.lagda.md b/src/foundation/dependent-sequences.lagda.md
index 7590315c29..bc1128a8f2 100644
--- a/src/foundation/dependent-sequences.lagda.md
+++ b/src/foundation/dependent-sequences.lagda.md
@@ -35,6 +35,8 @@ dependent-sequence B = (n : ℕ) → B n
```agda
map-dependent-sequence :
{l1 l2 : Level} {A : ℕ → UU l1} {B : ℕ → UU l2} →
- ((n : ℕ) → A n → B n) → dependent-sequence A → dependent-sequence B
+ dependent-sequence (λ n → A n → B n) →
+ dependent-sequence A →
+ dependent-sequence B
map-dependent-sequence f a = map-Π f a
```
diff --git a/src/foundation/sequences.lagda.md b/src/foundation/sequences.lagda.md
index 5a8b9fa482..a29bc3122d 100644
--- a/src/foundation/sequences.lagda.md
+++ b/src/foundation/sequences.lagda.md
@@ -7,7 +7,10 @@ module foundation.sequences where
Imports
```agda
+open import elementary-number-theory.natural-numbers
+
open import foundation.dependent-sequences
+open import foundation.identity-types
open import foundation.universe-levels
open import foundation-core.function-types
@@ -28,6 +31,17 @@ sequence : {l : Level} → UU l → UU l
sequence A = dependent-sequence (λ _ → A)
```
+### Values of a sequence
+
+```agda
+module _
+ {l : Level} {A : UU l}
+ where
+
+ is-value-sequence : A → sequence A → ℕ → UU l
+ is-value-sequence x u n = x = u n
+```
+
### Functorial action on maps of sequences
```agda
diff --git a/src/foundation/subsequences.lagda.md b/src/foundation/subsequences.lagda.md
new file mode 100644
index 0000000000..4cabe4a7e4
--- /dev/null
+++ b/src/foundation/subsequences.lagda.md
@@ -0,0 +1,236 @@
+# Subsequences
+
+```agda
+module foundation.subsequences where
+```
+
+Imports
+
+```agda
+open import elementary-number-theory.addition-natural-numbers
+open import elementary-number-theory.based-induction-natural-numbers
+open import elementary-number-theory.inequality-natural-numbers
+open import elementary-number-theory.natural-numbers
+open import elementary-number-theory.strict-inequality-natural-numbers
+open import elementary-number-theory.strictly-increasing-sequences-natural-numbers
+
+open import foundation.asymptotical-dependent-sequences
+open import foundation.dependent-pair-types
+open import foundation.function-extensionality
+open import foundation.function-types
+open import foundation.functoriality-dependent-pair-types
+open import foundation.homotopies
+open import foundation.identity-types
+open import foundation.propositions
+open import foundation.sequences
+open import foundation.subtypes
+open import foundation.universe-levels
+```
+
+
+
+## Idea
+
+A **subsequence** of a [sequence](foundation.sequences.md) `u : ℕ → A` is a
+sequence `u ∘ f` for some
+[strictly increasing](elementary-number-theory.strictly-increasing-sequences-natural-numbers.md)
+map `f : ℕ → ℕ`.
+
+## Definitions
+
+### Subsequences
+
+```agda
+module _
+ {l : Level} {A : UU l} (u : sequence A)
+ where
+
+ subsequence : UU lzero
+ subsequence = strict-increasing-sequence-ℕ
+```
+
+### The extracted sequence of a subsequence
+
+```agda
+module _
+ {l : Level} {A : UU l} (u : sequence A) (v : subsequence u)
+ where
+
+ extract-subsequence : ℕ → ℕ
+ extract-subsequence =
+ sequence-strict-increasing-sequence-ℕ v
+
+ is-strict-increasing-extract-subsequence :
+ is-strict-increasing-sequence-ℕ extract-subsequence
+ is-strict-increasing-extract-subsequence =
+ is-strict-increasing-sequence-strict-increasing-sequence-ℕ v
+
+ leq-id-extract-subsequence :
+ (p : ℕ) → leq-ℕ p (extract-subsequence p)
+ leq-id-extract-subsequence = leq-id-strict-increasing-sequence-ℕ v
+
+ preserves-leq-extract-subsequence :
+ (p q : ℕ) →
+ leq-ℕ p q →
+ leq-ℕ (extract-subsequence p) (extract-subsequence q)
+ preserves-leq-extract-subsequence =
+ preserves-leq-strict-increasing-sequence-ℕ v
+
+ sequence-subsequence : sequence A
+ sequence-subsequence n = u (extract-subsequence n)
+```
+
+## Properties
+
+### Any sequence is a subsequence of itself
+
+```agda
+module _
+ {l : Level} {A : UU l} (u : sequence A)
+ where
+
+ refl-subsequence : subsequence u
+ refl-subsequence = strict-increasing-id-ℕ
+
+ compute-refl-subsequence : u = sequence-subsequence u refl-subsequence
+ compute-refl-subsequence = refl
+```
+
+### The subsequence that skips the first term
+
+```agda
+module _
+ {l : Level} {A : UU l} (u : sequence A)
+ where
+
+ skip-zero-sequence : subsequence u
+ skip-zero-sequence = strict-increasing-succ-ℕ
+
+ compute-skip-zero-sequence :
+ u ∘ succ-ℕ = sequence-subsequence u skip-zero-sequence
+ compute-skip-zero-sequence = refl
+```
+
+### The subsequence that skips the `n + 1` first terms
+
+```agda
+module _
+ {l : Level} {A : UU l} (n : ℕ) (u : sequence A)
+ where
+
+ skip-subsequence : subsequence u
+ skip-subsequence = strict-increasing-skip-ℕ n
+
+ compute-skip-subsequence :
+ u ∘ (succ-ℕ ∘ add-ℕ n) = sequence-subsequence u skip-subsequence
+ compute-skip-subsequence = refl
+```
+
+### A subsequence of a subsequence is a subsequence of the original sequence
+
+```agda
+module _
+ {l : Level} {A : UU l} (u : sequence A) (v : subsequence u)
+ (w : subsequence (sequence-subsequence u v))
+ where
+
+ sub-subsequence : subsequence u
+ sub-subsequence = comp-strict-increasing-sequence-ℕ v w
+
+ compute-sub-subsequence :
+ Id
+ (sequence-subsequence u sub-subsequence)
+ (sequence-subsequence (sequence-subsequence u v) w)
+ compute-sub-subsequence = refl
+```
+
+### Subsequences are functorial
+
+```agda
+module _
+ {l1 l2 : Level} {A : UU l1} {B : UU l2} (f : A → B) (u : sequence A)
+ where
+
+ map-subsequence : subsequence u → subsequence (map-sequence f u)
+ map-subsequence H = H
+```
+
+### The extracted sequence of the image of a subsequence is the extracted sequence of the image
+
+```agda
+module _
+ {l1 l2 : Level} {A : UU l1} {B : UU l2} (f : A → B) (u : sequence A)
+ (v : subsequence u)
+ where
+
+ compute-map-subsequence :
+ Id
+ (map-sequence f (sequence-subsequence u v))
+ (sequence-subsequence (map-sequence f u) (map-subsequence f u v))
+ compute-map-subsequence = refl
+```
+
+### Modulus of a subsequence
+
+```agda
+module _
+ {l : Level} {A : UU l} (u : sequence A) (v : subsequence u)
+ where
+
+ modulus-subsequence : ℕ → ℕ
+ modulus-subsequence =
+ modulus-unbounded-strict-increasing-sequence-ℕ v
+
+ is-modulus-subsequence :
+ (N p : ℕ) →
+ leq-ℕ (modulus-subsequence N) p →
+ leq-ℕ N (extract-subsequence u v p)
+ is-modulus-subsequence =
+ is-∞-modulus-unbounded-strict-increasing-sequence-ℕ v
+
+ extract-modulus-subsequence : ℕ → ℕ
+ extract-modulus-subsequence = extract-subsequence u v ∘ modulus-subsequence
+
+ leq-extract-modulus-subsequence :
+ (n : ℕ) → leq-ℕ n (extract-modulus-subsequence n)
+ leq-extract-modulus-subsequence =
+ is-modulus-unbounded-strict-increasing-sequence-ℕ v
+```
+
+### Subsequential type families
+
+```agda
+module _
+ {l l1 : Level} {A : UU l} (P : sequence A → UU l1)
+ where
+
+ Π-subsequence : sequence A → UU l1
+ Π-subsequence u = (v : subsequence u) → P (sequence-subsequence u v)
+
+ sequence-Π-subsequence : (u : sequence A) → Π-subsequence u → P u
+ sequence-Π-subsequence u H = H (refl-subsequence u)
+
+ Σ-subsequence : sequence A → UU l1
+ Σ-subsequence u = Σ (subsequence u) (P ∘ (sequence-subsequence u))
+
+ sequence-Σ-subsequence : (u : sequence A) → P u → Σ-subsequence u
+ sequence-Σ-subsequence u H = (refl-subsequence u , H)
+```
+
+### A dependent sequence is asymptotical if and only if all its subsequences are asymptotical
+
+```agda
+module _
+ {l : Level} (A : ℕ → UU l) (H : asymptotically A)
+ where
+
+ asymptotically-Π-subsequence : Π-subsequence asymptotically A
+ asymptotically-Π-subsequence B =
+ map-Σ
+ ( is-modulus-dependent-sequence (sequence-subsequence A B))
+ ( modulus-subsequence A B)
+ ( λ N K p →
+ ( K (extract-subsequence A B p)) ∘
+ ( is-∞-modulus-unbounded-strict-increasing-sequence-ℕ B N p))
+ ( H)
+```
diff --git a/src/order-theory.lagda.md b/src/order-theory.lagda.md
index 1ce9b78699..740a34857c 100644
--- a/src/order-theory.lagda.md
+++ b/src/order-theory.lagda.md
@@ -14,6 +14,7 @@ open import order-theory.closure-operators-large-locales public
open import order-theory.closure-operators-large-posets public
open import order-theory.commuting-squares-of-galois-connections-large-posets public
open import order-theory.commuting-squares-of-order-preserving-maps-large-posets public
+open import order-theory.constant-sequences-posets public
open import order-theory.coverings-locales public
open import order-theory.decidable-posets public
open import order-theory.decidable-preorders public
@@ -21,6 +22,7 @@ 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.decreasing-sequences-posets 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,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.increasing-sequences-posets public
open import order-theory.inhabited-finite-total-orders public
open import order-theory.interval-subposets public
open import order-theory.join-semilattices public
@@ -77,6 +80,7 @@ open import order-theory.maximal-chains-posets public
open import order-theory.maximal-chains-preorders public
open import order-theory.meet-semilattices public
open import order-theory.meet-suplattices public
+open import order-theory.monotonic-sequences-posets public
open import order-theory.nuclei-large-locales public
open import order-theory.order-preserving-maps-large-posets public
open import order-theory.order-preserving-maps-large-preorders public
@@ -94,6 +98,7 @@ open import order-theory.preorders public
open import order-theory.principal-lower-sets-large-posets public
open import order-theory.principal-upper-sets-large-posets public
open import order-theory.reflective-galois-connections-large-posets public
+open import order-theory.sequences-posets public
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
diff --git a/src/order-theory/constant-sequences-posets.lagda.md b/src/order-theory/constant-sequences-posets.lagda.md
new file mode 100644
index 0000000000..a49f372a54
--- /dev/null
+++ b/src/order-theory/constant-sequences-posets.lagda.md
@@ -0,0 +1,57 @@
+# Constant sequences in partially ordered sets
+
+```agda
+module order-theory.constant-sequences-posets where
+```
+
+Imports
+
+```agda
+open import elementary-number-theory.inequality-natural-numbers
+
+open import foundation.constant-sequences
+open import foundation.coproduct-types
+open import foundation.universe-levels
+
+open import order-theory.decreasing-sequences-posets
+open import order-theory.increasing-sequences-posets
+open import order-theory.posets
+open import order-theory.sequences-posets
+```
+
+
+
+## Idea
+
+A [sequence in a partially ordered set](order-theory.sequences-posets.md) is
+[constant](foundation.constant-sequences.md) if it is both
+[increasing](order-theory.increasing-sequences-posets.md) and
+[decreasing](order-theory.decreasing-sequences-posets.md).
+
+## Properties
+
+### A sequence in a partially ordered set is constant if and only if it is both increasing and decreasing
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) {u : sequence-poset P}
+ where
+
+ increasing-is-constant-sequence-poset :
+ is-constant-sequence u → is-increasing-sequence-poset P u
+ increasing-is-constant-sequence-poset H p q I = leq-eq-Poset P (H p q)
+
+ decreasing-is-constant-sequence-poset :
+ is-constant-sequence u → is-decreasing-sequence-poset P u
+ decreasing-is-constant-sequence-poset H p q I = leq-eq-Poset P (H q p)
+
+ constant-is-increasing-decreasing-sequence-poset :
+ is-increasing-sequence-poset P u →
+ is-decreasing-sequence-poset P u →
+ is-constant-sequence u
+ constant-is-increasing-decreasing-sequence-poset I J p q =
+ rec-coproduct
+ ( λ H → antisymmetric-leq-Poset P (u p) (u q) (I p q H) (J p q H))
+ ( λ H → antisymmetric-leq-Poset P (u p) (u q) (J q p H) (I q p H))
+ ( linear-leq-ℕ p q)
+```
diff --git a/src/order-theory/decreasing-sequences-posets.lagda.md b/src/order-theory/decreasing-sequences-posets.lagda.md
new file mode 100644
index 0000000000..75b7f92f38
--- /dev/null
+++ b/src/order-theory/decreasing-sequences-posets.lagda.md
@@ -0,0 +1,209 @@
+# Decreasing sequences in partially ordered sets
+
+```agda
+module order-theory.decreasing-sequences-posets where
+```
+
+Imports
+
+```agda
+open import elementary-number-theory.addition-natural-numbers
+open import elementary-number-theory.based-induction-natural-numbers
+open import elementary-number-theory.inequality-natural-numbers
+open import elementary-number-theory.natural-numbers
+open import elementary-number-theory.strictly-increasing-sequences-natural-numbers
+
+open import foundation.asymptotical-dependent-sequences
+open import foundation.asymptotically-constant-sequences
+open import foundation.constant-sequences
+open import foundation.coproduct-types
+open import foundation.dependent-pair-types
+open import foundation.function-types
+open import foundation.identity-types
+open import foundation.propositions
+open import foundation.sequences
+open import foundation.subsequences
+open import foundation.universe-levels
+
+open import order-theory.posets
+open import order-theory.sequences-posets
+```
+
+
+
+## Idea
+
+A [sequence in a partially ordered set](order-theory.sequences-posets.md) is
+**decreasing** if it reverses the
+[standard ordering on the natural numbers](elementary-number-theory.inequality-natural-numbers.md).
+
+## Definitions
+
+### Decreasing sequences in partially ordered sets
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) (u : sequence-poset P)
+ where
+
+ is-decreasing-prop-sequence-poset : Prop l2
+ is-decreasing-prop-sequence-poset =
+ Π-Prop ℕ
+ ( λ i →
+ Π-Prop ℕ
+ ( λ j →
+ hom-Prop
+ ( leq-ℕ-Prop i j)
+ ( leq-Poset-Prop P (u j) (u i))))
+
+ is-decreasing-sequence-poset : UU l2
+ is-decreasing-sequence-poset =
+ type-Prop is-decreasing-prop-sequence-poset
+
+ is-prop-is-decreasing-sequence-poset :
+ is-prop is-decreasing-sequence-poset
+ is-prop-is-decreasing-sequence-poset =
+ is-prop-type-Prop is-decreasing-prop-sequence-poset
+```
+
+## Properties
+
+### A sequence in a partially ordered set is decreasing if and only if all its values are decreasing
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) {u : sequence-poset P}
+ where
+
+ decreasing-sequence-is-decreasing-value-sequence-poset :
+ ((n : ℕ) → is-decreasing-value-sequence-poset P u n) →
+ is-decreasing-sequence-poset P u
+ decreasing-sequence-is-decreasing-value-sequence-poset H p =
+ based-ind-ℕ
+ ( p)
+ ( λ q → leq-Poset P (u q) (u p))
+ ( refl-leq-Poset P (u p))
+ ( λ q I J →
+ transitive-leq-Poset P (u (succ-ℕ q)) (u q) (u p) J (H q))
+
+ decreasing-value-is-decreasing-sequence-poset :
+ is-decreasing-sequence-poset P u →
+ ((n : ℕ) → is-decreasing-value-sequence-poset P u n)
+ decreasing-value-is-decreasing-sequence-poset H n =
+ H n (succ-ℕ n) (succ-leq-ℕ n)
+```
+
+### Any subsequence of a decreasing sequence in a partially ordered set is decreasing
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) (u : sequence-poset P)
+ where
+
+ decreasing-Π-subsequence-decreasing-sequence-poset :
+ is-decreasing-sequence-poset P u →
+ Π-subsequence (is-decreasing-sequence-poset P) u
+ decreasing-Π-subsequence-decreasing-sequence-poset H v p q I =
+ H
+ ( extract-subsequence u v p)
+ ( extract-subsequence u v q)
+ ( preserves-leq-extract-subsequence u v p q I)
+```
+
+### A sequence in a partially ordered set is decreasing if and only if it is greater than all its subsequences
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) (u : sequence-poset P)
+ where
+
+ decreasing-Π-subsequence-leq-sequence-poset :
+ Π-subsequence (λ v → leq-sequence-poset P v u) u →
+ is-decreasing-sequence-poset P u
+ decreasing-Π-subsequence-leq-sequence-poset H =
+ decreasing-sequence-is-decreasing-value-sequence-poset
+ ( P)
+ ( H (skip-zero-sequence u))
+
+ Π-subsequence-leq-decreasing-sequence-poset :
+ is-decreasing-sequence-poset P u →
+ Π-subsequence (λ v → leq-sequence-poset P v u) u
+ Π-subsequence-leq-decreasing-sequence-poset H v n =
+ H n (extract-subsequence u v n) (leq-id-extract-subsequence u v n)
+```
+
+### A decreasing sequence `u` with `u (p + n) = u n` is constant between `n` and `p + n`
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) (u : sequence-poset P)
+ (p n : ℕ) (I : u (p +ℕ n) = u n)
+ where
+
+ constant-value-is-stationnary-interval-decreasing-sequence-poset :
+ is-decreasing-sequence-poset P u →
+ (k : ℕ) (J : leq-ℕ k p) → u (k +ℕ n) = u n
+ constant-value-is-stationnary-interval-decreasing-sequence-poset H k J =
+ antisymmetric-leq-Poset
+ ( P)
+ ( u (k +ℕ n))
+ ( u n)
+ ( H n (k +ℕ n) (leq-add-ℕ' n k))
+ ( concatenate-eq-leq-Poset
+ ( P)
+ ( inv I)
+ ( H (k +ℕ n) (p +ℕ n) (preserves-leq-left-add-ℕ n k p J)))
+```
+
+### A decreasing sequence in a partially ordered set with a constant subsequence is asymptotically constant
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) {u : sequence-poset P}
+ where
+
+ ∞-constant-Σ-subsequence-constant-decreasing-sequence-poset :
+ is-decreasing-sequence-poset P u →
+ Σ-subsequence is-constant-sequence u →
+ is-∞-constant-sequence u
+ ∞-constant-Σ-subsequence-constant-decreasing-sequence-poset H =
+ rec-Σ
+ ( λ v K →
+ ∞-constant-is-∞-value-sequence
+ ( u (extract-subsequence u v zero-ℕ))
+ ( u)
+ ( ( extract-subsequence u v zero-ℕ) ,
+ ( λ n I →
+ antisymmetric-leq-Poset
+ ( P)
+ ( sequence-subsequence u v zero-ℕ)
+ ( u n)
+ ( concatenate-eq-leq-Poset
+ ( P)
+ ( K zero-ℕ (modulus-subsequence u v n))
+ ( H
+ ( n)
+ ( extract-modulus-subsequence u v n)
+ ( leq-extract-modulus-subsequence u v n)))
+ ( H (extract-subsequence u v zero-ℕ) n I))))
+```
+
+### A decreasing sequence in a partially ordered set with an asymptotically constant subsequence is asymptotically constant
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) {u : sequence-poset P}
+ where
+
+ ∞-constant-Σ-subsequence-∞-constant-decreasing-sequence-poset :
+ is-decreasing-sequence-poset P u →
+ Σ-subsequence is-∞-constant-sequence u →
+ is-∞-constant-sequence u
+ ∞-constant-Σ-subsequence-∞-constant-decreasing-sequence-poset H =
+ ( ∞-constant-Σ-subsequence-constant-decreasing-sequence-poset P H) ∘
+ ( rec-Σ
+ ( λ v →
+ ( rec-Σ (λ w I → (sub-subsequence u v w , I))) ∘
+ ( constant-subsequence-is-∞-constant-sequence
+ ( sequence-subsequence u v))))
+```
diff --git a/src/order-theory/increasing-sequences-posets.lagda.md b/src/order-theory/increasing-sequences-posets.lagda.md
new file mode 100644
index 0000000000..568c4c23ab
--- /dev/null
+++ b/src/order-theory/increasing-sequences-posets.lagda.md
@@ -0,0 +1,198 @@
+# Increasing sequences in partially ordered sets
+
+```agda
+module order-theory.increasing-sequences-posets where
+```
+
+Imports
+
+```agda
+open import elementary-number-theory.addition-natural-numbers
+open import elementary-number-theory.based-induction-natural-numbers
+open import elementary-number-theory.inequality-natural-numbers
+open import elementary-number-theory.natural-numbers
+open import elementary-number-theory.strictly-increasing-sequences-natural-numbers
+
+open import foundation.asymptotical-dependent-sequences
+open import foundation.asymptotically-constant-sequences
+open import foundation.constant-sequences
+open import foundation.dependent-pair-types
+open import foundation.function-types
+open import foundation.identity-types
+open import foundation.propositions
+open import foundation.sequences
+open import foundation.subsequences
+open import foundation.universe-levels
+
+open import order-theory.order-preserving-maps-posets
+open import order-theory.posets
+open import order-theory.sequences-posets
+```
+
+
+
+## Idea
+
+A [sequence in a partially ordered set](order-theory.sequences-posets.md) is
+**increasing** if it preserves the
+[standard ordering on the natural numbers](elementary-number-theory.inequality-natural-numbers.md).
+
+## Definitions
+
+### Increasing sequences in partially ordered sets
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) (u : sequence-poset P)
+ where
+
+ is-increasing-prop-sequence-poset : Prop l2
+ is-increasing-prop-sequence-poset =
+ preserves-order-Poset-Prop ℕ-Poset P u
+
+ is-increasing-sequence-poset : UU l2
+ is-increasing-sequence-poset =
+ type-Prop is-increasing-prop-sequence-poset
+```
+
+## Properties
+
+### A sequence in a partially ordered set is increasing if and only if all its values are increasing
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) {u : sequence-poset P}
+ where
+
+ increasing-sequence-is-increasing-value-sequence-poset :
+ ((n : ℕ) → is-increasing-value-sequence-poset P u n) →
+ is-increasing-sequence-poset P u
+ increasing-sequence-is-increasing-value-sequence-poset H p =
+ based-ind-ℕ
+ ( p)
+ ( λ q → leq-Poset P (u p) (u q))
+ ( refl-leq-Poset P (u p))
+ ( λ q I →
+ transitive-leq-Poset P (u p) (u q) (u (succ-ℕ q)) (H q))
+
+ increasing-value-is-increasing-sequence-poset :
+ is-increasing-sequence-poset P u →
+ ((n : ℕ) → is-increasing-value-sequence-poset P u n)
+ increasing-value-is-increasing-sequence-poset H n =
+ H n (succ-ℕ n) (succ-leq-ℕ n)
+```
+
+### Any subsequence of an increasing sequence in a partially ordered set is increasing
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) (u : sequence-poset P)
+ where
+
+ increasing-Π-subsequence-increasing-sequence-poset :
+ is-increasing-sequence-poset P u →
+ Π-subsequence (is-increasing-sequence-poset P) u
+ increasing-Π-subsequence-increasing-sequence-poset H v p q I =
+ H
+ ( extract-subsequence u v p)
+ ( extract-subsequence u v q)
+ ( preserves-leq-extract-subsequence u v p q I)
+```
+
+### A sequence in a partially ordered set is increasing if and only if it is lesser than all its subsequences
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) (u : sequence-poset P)
+ where
+
+ increasing-Π-subsequence-leq-sequence-poset :
+ Π-subsequence (λ v → leq-sequence-poset P u v) u →
+ is-increasing-sequence-poset P u
+ increasing-Π-subsequence-leq-sequence-poset H =
+ increasing-sequence-is-increasing-value-sequence-poset
+ ( P)
+ ( H (skip-zero-sequence u))
+
+ Π-subsequence-leq-increasing-sequence-Poset :
+ is-increasing-sequence-poset P u →
+ Π-subsequence (λ v → leq-sequence-poset P u v) u
+ Π-subsequence-leq-increasing-sequence-Poset H v n =
+ H n (extract-subsequence u v n) (leq-id-extract-subsequence u v n)
+```
+
+### An increasing sequence `u` with `u (p + n) = u n` is constant between `n` and `p + n`
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) (u : sequence-poset P)
+ (p n : ℕ) (I : u (p +ℕ n) = u n)
+ where
+
+ constant-value-is-stationnary-interval-increasing-sequence-poset :
+ is-increasing-sequence-poset P u →
+ (k : ℕ) (J : leq-ℕ k p) → u (k +ℕ n) = u n
+ constant-value-is-stationnary-interval-increasing-sequence-poset H k J =
+ antisymmetric-leq-Poset
+ ( P)
+ ( u (k +ℕ n))
+ ( u n)
+ ( concatenate-leq-eq-Poset
+ ( P)
+ ( H (k +ℕ n) (p +ℕ n) (preserves-leq-left-add-ℕ n k p J))
+ ( I))
+ ( H n (k +ℕ n) (leq-add-ℕ' n k))
+```
+
+### An increasing sequence in a partially ordered set with a constant subsequence is asymptotically constant
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) {u : sequence-poset P}
+ where
+
+ ∞-constant-Σ-subsequence-constant-increasing-sequence-poset :
+ is-increasing-sequence-poset P u →
+ Σ-subsequence is-constant-sequence u →
+ is-∞-constant-sequence u
+ ∞-constant-Σ-subsequence-constant-increasing-sequence-poset H =
+ rec-Σ
+ ( λ v K →
+ ∞-constant-is-∞-value-sequence
+ ( u (extract-subsequence u v zero-ℕ))
+ ( u)
+ ( ( extract-subsequence u v zero-ℕ) ,
+ ( λ n I →
+ antisymmetric-leq-Poset
+ ( P)
+ ( sequence-subsequence u v zero-ℕ)
+ ( u n)
+ ( H (extract-subsequence u v zero-ℕ) n I)
+ ( concatenate-leq-eq-Poset
+ ( P)
+ ( H
+ ( n)
+ ( extract-modulus-subsequence u v n)
+ ( leq-extract-modulus-subsequence u v n))
+ ( K (modulus-subsequence u v n) zero-ℕ)))))
+```
+
+### An increasing sequence in a partially ordered set with an asymptotically constant subsequence is asymptotically constant
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) {u : sequence-poset P}
+ where
+
+ ∞-constant-Σ-subsequence-∞-constant-increasing-sequence-poset :
+ is-increasing-sequence-poset P u →
+ Σ-subsequence is-∞-constant-sequence u →
+ is-∞-constant-sequence u
+ ∞-constant-Σ-subsequence-∞-constant-increasing-sequence-poset H =
+ ( ∞-constant-Σ-subsequence-constant-increasing-sequence-poset P H) ∘
+ ( rec-Σ
+ ( λ v →
+ ( rec-Σ ( λ w I → ( sub-subsequence u v w , I))) ∘
+ ( constant-subsequence-is-∞-constant-sequence
+ ( sequence-subsequence u v))))
+```
diff --git a/src/order-theory/monotonic-sequences-posets.lagda.md b/src/order-theory/monotonic-sequences-posets.lagda.md
new file mode 100644
index 0000000000..0c5a0bc170
--- /dev/null
+++ b/src/order-theory/monotonic-sequences-posets.lagda.md
@@ -0,0 +1,72 @@
+# Monotonic sequences in partially ordered sets
+
+```agda
+module order-theory.monotonic-sequences-posets where
+```
+
+Imports
+
+```agda
+open import foundation.asymptotically-constant-sequences
+open import foundation.dependent-pair-types
+open import foundation.function-types
+open import foundation.functoriality-dependent-pair-types
+open import foundation.subsequences
+open import foundation.transport-along-identifications
+open import foundation.universe-levels
+
+open import order-theory.constant-sequences-posets
+open import order-theory.decreasing-sequences-posets
+open import order-theory.increasing-sequences-posets
+open import order-theory.posets
+open import order-theory.sequences-posets
+```
+
+
+
+## Idea
+
+A [sequence in a partially ordered set](order-theory.sequences-posets.md) is
+**monotonic** if it is [increasing](order-theory.increasing-sequences-posets.md)
+or [decreasing](order-theory.decreasing-sequences-posets.md).
+
+## Properties
+
+### An increasing sequence in a partially ordered set with a decreasing subsequence is asymptotically constant
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) {u : sequence-poset P}
+ (H : is-increasing-sequence-poset P u)
+ where
+
+ ∞-constant-Σ-subsequence-decreasing-is-increasing-sequence-poset :
+ Σ-subsequence (is-decreasing-sequence-poset P) u →
+ is-∞-constant-sequence u
+ ∞-constant-Σ-subsequence-decreasing-is-increasing-sequence-poset =
+ ( ∞-constant-Σ-subsequence-constant-increasing-sequence-poset P H) ∘
+ ( tot
+ ( (constant-is-increasing-decreasing-sequence-poset P) ∘
+ ( increasing-Π-subsequence-increasing-sequence-poset P u H)))
+```
+
+### A decreasing sequence in a partially ordered set with an increasing subsequence is asymptotically constant
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) {u : sequence-poset P}
+ (H : is-decreasing-sequence-poset P u)
+ where
+
+ ∞-constant-Σ-subsequence-increasing-is-decreasing-sequence-poset :
+ Σ-subsequence (is-increasing-sequence-poset P) u →
+ is-∞-constant-sequence u
+ ∞-constant-Σ-subsequence-increasing-is-decreasing-sequence-poset =
+ ( ∞-constant-Σ-subsequence-constant-decreasing-sequence-poset P H) ∘
+ ( tot
+ ( λ v K →
+ constant-is-increasing-decreasing-sequence-poset
+ ( P)
+ ( K)
+ ( decreasing-Π-subsequence-decreasing-sequence-poset P u H v)))
+```
diff --git a/src/order-theory/posets.lagda.md b/src/order-theory/posets.lagda.md
index e3e5d5e91b..b17485d73c 100644
--- a/src/order-theory/posets.lagda.md
+++ b/src/order-theory/posets.lagda.md
@@ -74,6 +74,9 @@ module _
refl-leq-Poset : is-reflexive leq-Poset
refl-leq-Poset = refl-leq-Preorder preorder-Poset
+ leq-eq-Poset : {x y : type-Poset} → x = y → leq-Poset x y
+ leq-eq-Poset {x} {.x} refl = refl-leq-Poset x
+
transitive-leq-Poset : is-transitive leq-Poset
transitive-leq-Poset = transitive-leq-Preorder preorder-Poset
diff --git a/src/order-theory/sequences-posets.lagda.md b/src/order-theory/sequences-posets.lagda.md
new file mode 100644
index 0000000000..168d1e47ea
--- /dev/null
+++ b/src/order-theory/sequences-posets.lagda.md
@@ -0,0 +1,348 @@
+# Sequences in partially ordered sets
+
+```agda
+module order-theory.sequences-posets where
+```
+
+Imports
+
+```agda
+open import elementary-number-theory.natural-numbers
+
+open import foundation.asymptotical-dependent-sequences
+open import foundation.asymptotically-constant-sequences
+open import foundation.asymptotically-equal-sequences
+open import foundation.binary-relations
+open import foundation.constant-sequences
+open import foundation.dependent-pair-types
+open import foundation.function-extensionality
+open import foundation.function-types
+open import foundation.identity-types
+open import foundation.propositions
+open import foundation.sequences
+open import foundation.universe-levels
+
+open import order-theory.posets
+```
+
+
+
+## Idea
+
+Sequences in a partially ordered set are sequences in the underlying set. They
+can be partially ordered by pointwise comparison.
+
+## Definitions
+
+### Sequences in partially ordered sets
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2)
+ where
+
+ sequence-poset : UU l1
+ sequence-poset = sequence (type-Poset P)
+```
+
+### Monotonic values of sequences in partially ordered sets
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) (u : sequence-poset P) (n : ℕ)
+ where
+
+ is-increasing-value-prop-sequence-poset : Prop l2
+ is-increasing-value-prop-sequence-poset =
+ leq-Poset-Prop P (u n) (u (succ-ℕ n))
+
+ is-increasing-value-sequence-poset : UU l2
+ is-increasing-value-sequence-poset =
+ type-Prop is-increasing-value-prop-sequence-poset
+
+ is-prop-is-increasing-value-sequence-poset :
+ is-prop is-increasing-value-sequence-poset
+ is-prop-is-increasing-value-sequence-poset =
+ is-prop-type-Prop is-increasing-value-prop-sequence-poset
+
+ is-decreasing-value-prop-sequence-poset : Prop l2
+ is-decreasing-value-prop-sequence-poset =
+ leq-Poset-Prop P (u (succ-ℕ n)) (u n)
+
+ is-decreasing-value-sequence-poset : UU l2
+ is-decreasing-value-sequence-poset =
+ type-Prop is-decreasing-value-prop-sequence-poset
+
+ is-prop-is-decreasing-value-sequence-poset :
+ is-prop is-decreasing-value-sequence-poset
+ is-prop-is-decreasing-value-sequence-poset =
+ is-prop-type-Prop is-decreasing-value-prop-sequence-poset
+```
+
+### Pointwise comparison on sequences in partially ordered sets
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) (u v : sequence-poset P)
+ where
+
+ leq-value-prop-sequence-poset : ℕ → Prop l2
+ leq-value-prop-sequence-poset n = leq-Poset-Prop P (u n) (v n)
+
+ leq-value-sequence-poset : ℕ → UU l2
+ leq-value-sequence-poset = type-Prop ∘ leq-value-prop-sequence-poset
+
+ leq-prop-sequence-poset : Prop l2
+ leq-prop-sequence-poset = Π-Prop ℕ leq-value-prop-sequence-poset
+
+ leq-sequence-poset : UU l2
+ leq-sequence-poset = type-Prop leq-prop-sequence-poset
+
+ is-prop-leq-sequence-poset : is-prop leq-sequence-poset
+ is-prop-leq-sequence-poset = is-prop-type-Prop leq-prop-sequence-poset
+```
+
+### The partially ordered set of sequences in a partially ordered set
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2)
+ where
+
+ poset-sequence-poset : Poset l1 l2
+ pr1 (pr1 poset-sequence-poset) = sequence-poset P
+ pr1 (pr2 (pr1 poset-sequence-poset)) = leq-prop-sequence-poset P
+ pr1 (pr2 (pr2 (pr1 poset-sequence-poset))) u n = refl-leq-Poset P (u n)
+ pr2 (pr2 (pr2 (pr1 poset-sequence-poset))) u v w J I n =
+ transitive-leq-Poset P (u n) (v n) (w n) (J n) (I n)
+ pr2 poset-sequence-poset u v I J =
+ eq-htpy (λ n → antisymmetric-leq-Poset P (u n) (v n) (I n) (J n))
+
+ refl-leq-sequence-poset : is-reflexive (leq-sequence-poset P)
+ refl-leq-sequence-poset = refl-leq-Poset poset-sequence-poset
+
+ transitive-leq-sequence-poset : is-transitive (leq-sequence-poset P)
+ transitive-leq-sequence-poset = transitive-leq-Poset poset-sequence-poset
+
+ antisymmetric-leq-sequence-poset : is-antisymmetric (leq-sequence-poset P)
+ antisymmetric-leq-sequence-poset =
+ antisymmetric-leq-Poset poset-sequence-poset
+```
+
+### Asymptotical inequality of sequences in partially ordered sets
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2)
+ where
+
+ leq-∞-sequence-poset : (u v : sequence-poset P) → UU l2
+ leq-∞-sequence-poset u v = asymptotically (leq-value-sequence-poset P u v)
+
+ refl-leq-∞-sequence-poset : is-reflexive leq-∞-sequence-poset
+ refl-leq-∞-sequence-poset = asymptotically-Π ∘ (refl-leq-sequence-poset P)
+
+ leq-∞-eq-∞-sequence-poset :
+ {u v : sequence-poset P} → eq-∞-sequence u v → leq-∞-sequence-poset u v
+ leq-∞-eq-∞-sequence-poset {u} {v} =
+ map-asymptotically-Π (λ n → leq-eq-Poset P)
+
+ transitive-leq-∞-sequence-poset : is-transitive leq-∞-sequence-poset
+ transitive-leq-∞-sequence-poset u v w =
+ map-binary-asymptotically-Π (λ n → transitive-leq-Poset P (u n) (v n) (w n))
+
+ antisymmetric-∞-leq-∞-sequence-poset :
+ (u v : sequence-poset P) →
+ leq-∞-sequence-poset u v →
+ leq-∞-sequence-poset v u →
+ eq-∞-sequence u v
+ antisymmetric-∞-leq-∞-sequence-poset u v =
+ map-binary-asymptotically-Π (λ n → antisymmetric-leq-Poset P (u n) (v n))
+
+ leq-∞-leq-sequence-poset :
+ {u v : sequence-poset P} →
+ leq-sequence-poset P u v →
+ leq-∞-sequence-poset u v
+ leq-∞-leq-sequence-poset = asymptotically-Π
+```
+
+### Concatenation of asymptotical inequality and equality of sequences in partially ordered sets
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) {u v w : sequence-poset P}
+ where
+
+ concatenate-eq-∞-leq-∞-sequence-poset :
+ eq-∞-sequence u v → leq-∞-sequence-poset P v w → leq-∞-sequence-poset P u w
+ concatenate-eq-∞-leq-∞-sequence-poset =
+ map-binary-asymptotically-Π (λ n → concatenate-eq-leq-Poset P)
+
+ concatenate-leq-∞-eq-∞-sequence-poset :
+ leq-∞-sequence-poset P u v → eq-∞-sequence v w → leq-∞-sequence-poset P u w
+ concatenate-leq-∞-eq-∞-sequence-poset =
+ map-binary-asymptotically-Π (λ n → concatenate-leq-eq-Poset P)
+
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) {u v w z : sequence-poset P}
+ where
+
+ concatenate-eq-∞-leq-∞-eq-∞-sequence-poset :
+ eq-∞-sequence u v →
+ leq-∞-sequence-poset P v w →
+ eq-∞-sequence w z →
+ leq-∞-sequence-poset P u z
+ concatenate-eq-∞-leq-∞-eq-∞-sequence-poset =
+ ( map-binary-asymptotically) ∘
+ ( map-asymptotically-Π
+ ( λ n H J →
+ (concatenate-eq-leq-Poset P H) ∘ (concatenate-leq-eq-Poset P J)))
+```
+
+## Properties
+
+### Any value of a sequence in a partially ordered set is stationnary if and only if it is both increasing and decreasing
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) (u : sequence-poset P) (n : ℕ)
+ where
+
+ increasing-value-is-stationnary-value-sequence-poset :
+ is-stationnary-value-sequence u n →
+ is-increasing-value-sequence-poset P u n
+ increasing-value-is-stationnary-value-sequence-poset H =
+ leq-eq-Poset P H
+
+ decreasing-value-is-stationnary-value-sequence-poset :
+ is-stationnary-value-sequence u n →
+ is-decreasing-value-sequence-poset P u n
+ decreasing-value-is-stationnary-value-sequence-poset H =
+ leq-eq-Poset P (inv H)
+
+ stationnary-value-is-increasing-decreasing-value-sequence-poset :
+ is-increasing-value-sequence-poset P u n →
+ is-decreasing-value-sequence-poset P u n →
+ is-stationnary-value-sequence u n
+ stationnary-value-is-increasing-decreasing-value-sequence-poset =
+ antisymmetric-leq-Poset P (u n) (u (succ-ℕ n))
+```
+
+### Asymptotical values preserve asymptotical inequality of sequences in partially ordered sets
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) (u v : sequence-poset P)
+ (I : leq-∞-sequence-poset P u v)
+ where
+
+ leq-∞-left-leq-∞-constant-sequence-poset :
+ (H : is-∞-constant-sequence u) →
+ leq-∞-sequence-poset P (const-∞-value-∞-constant-sequence H) v
+ leq-∞-left-leq-∞-constant-sequence-poset H =
+ concatenate-eq-∞-leq-∞-sequence-poset
+ ( P)
+ ( eq-∞-value-∞-constant-sequence H)
+ ( I)
+
+ leq-∞-right-leq-∞-constant-sequence-poset :
+ (H : is-∞-constant-sequence v) →
+ leq-∞-sequence-poset P u (const-∞-value-∞-constant-sequence H)
+ leq-∞-right-leq-∞-constant-sequence-poset =
+ ( concatenate-leq-∞-eq-∞-sequence-poset P I) ∘
+ ( eq-∞-value-∞-constant-sequence')
+
+ leq-∞-value-leq-∞-constant-sequence-poset :
+ (H : is-∞-constant-sequence u) →
+ (K : is-∞-constant-sequence v) →
+ leq-∞-sequence-poset P
+ (const-∞-value-∞-constant-sequence H)
+ (const-∞-value-∞-constant-sequence K)
+ leq-∞-value-leq-∞-constant-sequence-poset H K =
+ concatenate-eq-∞-leq-∞-eq-∞-sequence-poset
+ ( P)
+ ( eq-∞-value-∞-constant-sequence H)
+ ( I)
+ ( eq-∞-value-∞-constant-sequence' K)
+
+ leq-value-leq-∞-constant-sequence-poset :
+ (H : is-∞-constant-sequence u) →
+ (K : is-∞-constant-sequence v) →
+ leq-Poset P (∞-value-∞-constant-sequence H) (∞-value-∞-constant-sequence K)
+ leq-value-leq-∞-constant-sequence-poset H K =
+ value-∞-asymptotically (leq-∞-value-leq-∞-constant-sequence-poset H K)
+```
+
+### A sequence in a partially ordered set that asymptotically lies between two asymptotically equal sequences is asymptotically equal to them
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) (u v w : sequence-poset P)
+ (I : leq-∞-sequence-poset P u v) (J : leq-∞-sequence-poset P v w)
+ (E : eq-∞-sequence w u)
+ where
+
+ left-eq-∞-squeeze-sequence-poset : eq-∞-sequence u v
+ left-eq-∞-squeeze-sequence-poset =
+ antisymmetric-∞-leq-∞-sequence-poset
+ ( P)
+ ( u)
+ ( v)
+ ( I)
+ ( concatenate-leq-∞-eq-∞-sequence-poset P J E)
+
+ right-eq-∞-squeeze-sequence-poset : eq-∞-sequence v w
+ right-eq-∞-squeeze-sequence-poset =
+ antisymmetric-∞-leq-∞-sequence-poset
+ ( P)
+ ( v)
+ ( w)
+ ( J)
+ ( concatenate-eq-∞-leq-∞-sequence-poset P E I)
+```
+
+### A sequence in a partially ordered that asymptotically lies between two asymptotically constant sequences with the same asymptotical value is asymptotically constant
+
+```agda
+module _
+ {l1 l2 : Level} (P : Poset l1 l2) (u v w : sequence-poset P)
+ (I : leq-∞-sequence-poset P u v) (J : leq-∞-sequence-poset P v w)
+ (H : is-∞-constant-sequence u) (K : is-∞-constant-sequence w)
+ where
+
+ ∞-constant-eq-∞-value-squeeze-sequence-poset :
+ Id
+ (∞-value-∞-constant-sequence K)
+ (∞-value-∞-constant-sequence H) →
+ is-∞-constant-sequence v
+ ∞-constant-eq-∞-value-squeeze-sequence-poset E =
+ preserves-∞-constant-eq-∞-sequence u v
+ ( left-eq-∞-squeeze-sequence-poset P u v w I J
+ ( eq-∞-sequence-eq-∞-value-∞-constant-sequence w u K H E))
+ ( H)
+
+ ∞-constant-leq-∞-value-squeeze-sequence-poset :
+ leq-Poset P
+ (∞-value-∞-constant-sequence K)
+ (∞-value-∞-constant-sequence H) →
+ is-∞-constant-sequence v
+ ∞-constant-leq-∞-value-squeeze-sequence-poset E =
+ ∞-constant-eq-∞-value-squeeze-sequence-poset
+ ( antisymmetric-leq-Poset
+ ( P)
+ ( ∞-value-∞-constant-sequence K)
+ ( ∞-value-∞-constant-sequence H)
+ ( E)
+ ( leq-value-leq-∞-constant-sequence-poset
+ ( P)
+ ( u)
+ ( w)
+ ( transitive-leq-∞-sequence-poset P u v w J I)
+ ( H)
+ ( K)))
+```
+
+## External links
+
+- The [squeeze theorem](https://en.wikipedia.org/wiki/Squeeze_theorem) at
+ Wikipedia