diff --git a/references.bib b/references.bib
index f104f1a31a..e3c872f78d 100644
--- a/references.bib
+++ b/references.bib
@@ -101,6 +101,14 @@ @misc{Awodey22
keywords = {Mathematics - Category Theory, Mathematics - Logic},
}
+@misc{Babai00,
+ title = {Finite Probablity Spaces},
+ author = {Babai, L\'aszl\'o},
+ year = 2000,
+ month = apr,
+ url = {https://people.cs.uchicago.edu/~laci/reu02/prob.pdf},
+}
+
@article{BauerTaylor2009,
title = {The {{Dedekind}} Reals in Abstract {{Stone}} Duality},
author = {Bauer, Andrej and Taylor, Paul},
diff --git a/src/finite-probability-theory.lagda.md b/src/finite-probability-theory.lagda.md
new file mode 100644
index 0000000000..33a121fc7d
--- /dev/null
+++ b/src/finite-probability-theory.lagda.md
@@ -0,0 +1,11 @@
+# Finite probability theory
+
+```agda
+module finite-probability-theory where
+
+open import finite-probability-theory.expected-value-real-random-variables-finite-probability-spaces public
+open import finite-probability-theory.finite-probability-spaces public
+open import finite-probability-theory.positive-distributions-on-finite-types public
+open import finite-probability-theory.probability-distributions-on-finite-types public
+open import finite-probability-theory.real-random-variables-finite-probability-spaces public
+```
diff --git a/src/finite-probability-theory/expected-value-real-random-variables-finite-probability-spaces.lagda.md b/src/finite-probability-theory/expected-value-real-random-variables-finite-probability-spaces.lagda.md
new file mode 100644
index 0000000000..39c4bdd60d
--- /dev/null
+++ b/src/finite-probability-theory/expected-value-real-random-variables-finite-probability-spaces.lagda.md
@@ -0,0 +1,80 @@
+# Expected value of real random variables in finite probability spaces
+
+```agda
+module finite-probability-theory.expected-value-real-random-variables-finite-probability-spaces where
+```
+
+Imports
+
+```agda
+open import finite-probability-theory.finite-probability-spaces
+open import finite-probability-theory.positive-distributions-on-finite-types
+open import finite-probability-theory.probability-distributions-on-finite-types
+open import finite-probability-theory.real-random-variables-finite-probability-spaces
+
+open import foundation.dependent-pair-types
+open import foundation.empty-types
+open import foundation.function-types
+open import foundation.identity-types
+open import foundation.inhabited-types
+open import foundation.propositions
+open import foundation.sets
+open import foundation.subtypes
+open import foundation.transport-along-identifications
+open import foundation.universe-levels
+
+open import group-theory.sums-of-finite-families-of-elements-abelian-groups
+
+open import real-numbers.addition-real-numbers
+open import real-numbers.dedekind-real-numbers
+open import real-numbers.multiplication-real-numbers
+open import real-numbers.positive-real-numbers
+open import real-numbers.rational-real-numbers
+open import real-numbers.strict-inequality-real-numbers
+
+open import univalent-combinatorics.finite-types
+```
+
+
+
+## Idea
+
+The
+{{#concept "expected value" Disambiguation="of a real random variable in a finite probability space" Agda=expected-value-real-random-variable-Finite-Probability-Space}}
+of a
+[real random variable](finite-probability-theory.real-random-variables-finite-probability-spaces.md)
+`X` in a
+[finite probability space](finite-probability-theory.finite-probability-spaces.md)
+`(Ω , Pr)` is the
+[sum](group-theory.sums-of-finite-families-of-elements-abelian-groups.md)
+
+$$
+ ∑_{x ∈ Ω} X(x)\operatorname{Pr}(x).
+$$
+
+Our definition follows Definition 2.2 of {{#cite Babai00}}.
+
+## Definitions
+
+### Expected value of a real random variable in a finite probability space
+
+```agda
+module _
+ {l : Level} (Ω : Finite-Probability-Space l)
+ (X : real-random-variable-Finite-Probability-Space Ω)
+ where
+
+ expected-value-real-random-variable-Finite-Probability-Space : ℝ lzero
+ expected-value-real-random-variable-Finite-Probability-Space =
+ sum-finite-Ab
+ ( abelian-group-add-ℝ-lzero)
+ ( finite-type-Finite-Probability-Space Ω)
+ ( λ x →
+ mul-ℝ
+ ( X x)
+ ( real-distribution-Finite-Probability-Space Ω x))
+```
+
+## References
+
+{{#bibliography}}
diff --git a/src/finite-probability-theory/finite-probability-spaces.lagda.md b/src/finite-probability-theory/finite-probability-spaces.lagda.md
new file mode 100644
index 0000000000..8ee8cb3520
--- /dev/null
+++ b/src/finite-probability-theory/finite-probability-spaces.lagda.md
@@ -0,0 +1,157 @@
+# Finite probability spaces
+
+```agda
+module finite-probability-theory.finite-probability-spaces where
+```
+
+Imports
+
+```agda
+open import finite-probability-theory.positive-distributions-on-finite-types
+open import finite-probability-theory.probability-distributions-on-finite-types
+
+open import foundation.coproduct-types
+open import foundation.dependent-pair-types
+open import foundation.empty-types
+open import foundation.function-types
+open import foundation.identity-types
+open import foundation.inhabited-types
+open import foundation.propositions
+open import foundation.sets
+open import foundation.subtypes
+open import foundation.transport-along-identifications
+open import foundation.universe-levels
+
+open import group-theory.sums-of-finite-families-of-elements-abelian-groups
+
+open import logic.propositional-double-negation-elimination
+
+open import real-numbers.addition-real-numbers
+open import real-numbers.apartness-real-numbers
+open import real-numbers.dedekind-real-numbers
+open import real-numbers.positive-real-numbers
+open import real-numbers.rational-real-numbers
+open import real-numbers.strict-inequality-real-numbers
+
+open import univalent-combinatorics.finite-types
+open import univalent-combinatorics.inhabited-finite-types
+```
+
+
+
+## Idea
+
+A {{#concept "finite probability space" Agda=Finite-Probability-Space}} is a
+[finite type](univalent-combinatorics.finite-types.md) equipped with a
+[probability distribution](finite-probability-theory.probability-distributions-on-finite-types.md).
+
+Any finite probability space is [inhabited](foundation.inhabited-types.md).
+
+Our definitions follows {{#cite Babai00}}, except, there it is assumed that the
+underlying type is [nonempty](foundation-core.empty-types.md), but this follows
+from the condition of having
+[total measure](finite-probability-theory.positive-distributions-on-finite-types.md)
+equal to 1.
+
+## Definitions
+
+### Finite probability spaces
+
+```agda
+Finite-Probability-Space : (l : Level) → UU (lsuc l)
+Finite-Probability-Space l =
+ Σ ( Finite-Type l)
+ ( probability-distribution-Finite-Type)
+
+module _
+ {l : Level} (Ω : Finite-Probability-Space l)
+ where
+
+ finite-type-Finite-Probability-Space : Finite-Type l
+ finite-type-Finite-Probability-Space = pr1 Ω
+
+ type-Finite-Probability-Space : UU l
+ type-Finite-Probability-Space =
+ type-Finite-Type finite-type-Finite-Probability-Space
+
+ is-finite-type-Finite-Probability-Space :
+ is-finite type-Finite-Probability-Space
+ is-finite-type-Finite-Probability-Space =
+ is-finite-type-Finite-Type finite-type-Finite-Probability-Space
+
+ distribution-Finite-Probability-Space :
+ positive-distribution-Finite-Type finite-type-Finite-Probability-Space
+ distribution-Finite-Probability-Space = pr1 (pr2 Ω)
+
+ real-distribution-Finite-Probability-Space :
+ type-Finite-Probability-Space → ℝ lzero
+ real-distribution-Finite-Probability-Space =
+ real-positive-distribution-Finite-Type
+ ( finite-type-Finite-Probability-Space)
+ ( distribution-Finite-Probability-Space)
+
+ eq-one-total-measure-distribution-Finite-Probability-Space :
+ ( total-measure-positive-distribution-Finite-Type
+ ( finite-type-Finite-Probability-Space)
+ ( distribution-Finite-Probability-Space)) =
+ one-ℝ
+ eq-one-total-measure-distribution-Finite-Probability-Space =
+ pr2 (pr2 Ω)
+```
+
+## Properties
+
+### A finite probability space is nonempty
+
+```agda
+module _
+ {l : Level} (Ω : Finite-Probability-Space l)
+ where
+
+ is-nonempty-type-Finite-Probability-Space :
+ is-nonempty (type-Finite-Probability-Space Ω)
+ is-nonempty-type-Finite-Probability-Space =
+ zero-is-not-one-ℝ ∘ absurd-is-empty-Finite-Probability-Space
+ where
+
+ absurd-is-empty-Finite-Probability-Space :
+ is-empty (type-Finite-Probability-Space Ω) →
+ zero-ℝ = one-ℝ
+ absurd-is-empty-Finite-Probability-Space H =
+ ( inv
+ ( is-zero-total-measure-positive-distribution-is-empty-Finite-Type
+ ( finite-type-Finite-Probability-Space Ω)
+ ( distribution-Finite-Probability-Space Ω)
+ ( H))) ∙
+ ( eq-one-total-measure-distribution-Finite-Probability-Space Ω)
+```
+
+### A finite probability space is inhabited
+
+```agda
+module _
+ {l : Level} (Ω : Finite-Probability-Space l)
+ where
+
+ is-inhabited-type-Finite-Probability-Space :
+ is-inhabited (type-Finite-Probability-Space Ω)
+ is-inhabited-type-Finite-Probability-Space =
+ prop-double-negation-elim-is-inhabited-or-empty
+ ( is-inhabited-or-empty-is-finite
+ ( is-finite-type-Finite-Probability-Space Ω))
+ ( is-nonempty-type-Finite-Probability-Space Ω)
+
+ inhabited-type-Finite-Probability-Space : Inhabited-Type l
+ inhabited-type-Finite-Probability-Space =
+ ( type-Finite-Probability-Space Ω ,
+ is-inhabited-type-Finite-Probability-Space)
+
+ inhabited-finite-type-Finite-Probability-Space : Inhabited-Finite-Type l
+ inhabited-finite-type-Finite-Probability-Space =
+ ( finite-type-Finite-Probability-Space Ω ,
+ is-inhabited-type-Finite-Probability-Space)
+```
+
+## References
+
+{{#bibliography}}
diff --git a/src/finite-probability-theory/positive-distributions-on-finite-types.lagda.md b/src/finite-probability-theory/positive-distributions-on-finite-types.lagda.md
new file mode 100644
index 0000000000..88642b65f6
--- /dev/null
+++ b/src/finite-probability-theory/positive-distributions-on-finite-types.lagda.md
@@ -0,0 +1,95 @@
+# Positive distributions on finite types
+
+```agda
+module finite-probability-theory.positive-distributions-on-finite-types where
+```
+
+Imports
+
+```agda
+open import foundation.empty-types
+open import foundation.function-types
+open import foundation.identity-types
+open import foundation.universe-levels
+
+open import group-theory.sums-of-finite-families-of-elements-abelian-groups
+
+open import real-numbers.addition-real-numbers
+open import real-numbers.dedekind-real-numbers
+open import real-numbers.positive-real-numbers
+open import real-numbers.rational-real-numbers
+
+open import univalent-combinatorics.finite-types
+```
+
+
+
+## Idea
+
+A
+{{#concept "positive distribution" Disambiguation="on a finite type" Agda=positive-distribution-Finite-Type}}
+on a [finite type](univalent-combinatorics.finite-types.md) `Ω` is a function
+into the [positive real numbers](real-numbers.positive-real-numbers.md),
+`Pr : Ω → ℝ⁺`. We interpret the type `Ω` as the collection of _atomic events_,
+and `Pr(x)` as the (unnormalized) _probability_ that the atomic event `x` will
+occur. Note that for positive distributions no atomic event can be _impossible_
+since `Pr(x)` is always strictly greater than `0`. The **total measure** of a
+positive distribution `Pr` on a finite type `Ω` is the
+[sum](group-theory.sums-of-finite-families-of-elements-abelian-groups.md)
+
+$$
+ ∑_{x ∈ Ω}\operatorname{Pr}(x).
+$$
+
+## Definitions
+
+### Positive distributions on finite types
+
+```agda
+module _
+ {l : Level} (Ω : Finite-Type l)
+ where
+
+ positive-distribution-Finite-Type : UU (lsuc lzero ⊔ l)
+ positive-distribution-Finite-Type = type-Finite-Type Ω → ℝ⁺ lzero
+
+ real-positive-distribution-Finite-Type :
+ positive-distribution-Finite-Type → type-Finite-Type Ω → ℝ lzero
+ real-positive-distribution-Finite-Type Pr = real-ℝ⁺ ∘ Pr
+```
+
+### The total measure of a positive distribution on a finite type
+
+```agda
+module _
+ {l : Level} (Ω : Finite-Type l)
+ (Pr : positive-distribution-Finite-Type Ω)
+ where
+
+ total-measure-positive-distribution-Finite-Type : ℝ lzero
+ total-measure-positive-distribution-Finite-Type =
+ sum-finite-Ab
+ ( abelian-group-add-ℝ-lzero)
+ ( Ω)
+ ( real-positive-distribution-Finite-Type Ω Pr)
+```
+
+## Properties
+
+### The total measure of a positive distribution on an empty type is zero
+
+```agda
+module _
+ {l : Level} (Ω : Finite-Type l) (Pr : positive-distribution-Finite-Type Ω)
+ where
+
+ is-zero-total-measure-positive-distribution-is-empty-Finite-Type :
+ is-empty (type-Finite-Type Ω) →
+ total-measure-positive-distribution-Finite-Type Ω Pr = zero-ℝ
+ is-zero-total-measure-positive-distribution-is-empty-Finite-Type H =
+ eq-zero-sum-finite-is-empty-Ab
+ ( abelian-group-add-ℝ-lzero)
+ ( Ω)
+ ( H)
+ ( real-positive-distribution-Finite-Type Ω Pr)
+```
diff --git a/src/finite-probability-theory/probability-distributions-on-finite-types.lagda.md b/src/finite-probability-theory/probability-distributions-on-finite-types.lagda.md
new file mode 100644
index 0000000000..c156d3165b
--- /dev/null
+++ b/src/finite-probability-theory/probability-distributions-on-finite-types.lagda.md
@@ -0,0 +1,81 @@
+# Probability distributions on finite types
+
+```agda
+module finite-probability-theory.probability-distributions-on-finite-types where
+```
+
+Imports
+
+```agda
+open import finite-probability-theory.positive-distributions-on-finite-types
+
+open import foundation.empty-types
+open import foundation.function-types
+open import foundation.identity-types
+open import foundation.inhabited-types
+open import foundation.propositions
+open import foundation.sets
+open import foundation.subtypes
+open import foundation.universe-levels
+
+open import group-theory.sums-of-finite-families-of-elements-abelian-groups
+
+open import real-numbers.addition-real-numbers
+open import real-numbers.dedekind-real-numbers
+open import real-numbers.positive-real-numbers
+open import real-numbers.rational-real-numbers
+
+open import univalent-combinatorics.finite-types
+```
+
+
+
+## Idea
+
+A
+{{#concept "probability distribution" Disambiguation="on a finite type" Agda=probability-distribution-Finite-Type}}
+on a [finite type](univalent-combinatorics.finite-types.md) is a
+[positive distribution](finite-probability-theory.positive-distributions-on-finite-types.md)
+with total measure equal to 1.
+
+## Definition
+
+### The property of being a probability distribution on a finite type
+
+```agda
+module _
+ {l : Level} (Ω : Finite-Type l) (Pr : positive-distribution-Finite-Type Ω)
+ where
+
+ is-probability-distribution-prop-positive-distribution-Finite-Type :
+ Prop (lsuc lzero)
+ is-probability-distribution-prop-positive-distribution-Finite-Type =
+ Id-Prop
+ ( ℝ-Set lzero)
+ ( total-measure-positive-distribution-Finite-Type Ω Pr)
+ ( one-ℝ)
+
+ is-probability-distribution-positive-distribution-Finite-Type :
+ UU (lsuc lzero)
+ is-probability-distribution-positive-distribution-Finite-Type =
+ type-Prop is-probability-distribution-prop-positive-distribution-Finite-Type
+
+ is-prop-is-probability-distribution-Finite-Type :
+ is-prop is-probability-distribution-positive-distribution-Finite-Type
+ is-prop-is-probability-distribution-Finite-Type =
+ is-prop-type-Prop
+ is-probability-distribution-prop-positive-distribution-Finite-Type
+```
+
+### Probability distributions on finite types
+
+```agda
+module _
+ {l : Level} (Ω : Finite-Type l)
+ where
+
+ probability-distribution-Finite-Type : UU (lsuc lzero ⊔ l)
+ probability-distribution-Finite-Type =
+ type-subtype
+ ( is-probability-distribution-prop-positive-distribution-Finite-Type Ω)
+```
diff --git a/src/finite-probability-theory/real-random-variables-finite-probability-spaces.lagda.md b/src/finite-probability-theory/real-random-variables-finite-probability-spaces.lagda.md
new file mode 100644
index 0000000000..1ad7d9e065
--- /dev/null
+++ b/src/finite-probability-theory/real-random-variables-finite-probability-spaces.lagda.md
@@ -0,0 +1,101 @@
+# Real random variables in finite probability spaces
+
+```agda
+module finite-probability-theory.real-random-variables-finite-probability-spaces where
+```
+
+Imports
+
+```agda
+open import finite-probability-theory.finite-probability-spaces
+open import finite-probability-theory.positive-distributions-on-finite-types
+open import finite-probability-theory.probability-distributions-on-finite-types
+
+open import foundation.coproduct-types
+open import foundation.dependent-pair-types
+open import foundation.empty-types
+open import foundation.function-types
+open import foundation.identity-types
+open import foundation.inhabited-types
+open import foundation.propositions
+open import foundation.sets
+open import foundation.subtypes
+open import foundation.transport-along-identifications
+open import foundation.universe-levels
+
+open import group-theory.sums-of-finite-families-of-elements-abelian-groups
+
+open import real-numbers.addition-real-numbers
+open import real-numbers.dedekind-real-numbers
+open import real-numbers.multiplication-real-numbers
+open import real-numbers.positive-real-numbers
+open import real-numbers.rational-real-numbers
+open import real-numbers.strict-inequality-real-numbers
+
+open import univalent-combinatorics.equality-finite-types
+open import univalent-combinatorics.finite-types
+```
+
+
+
+## Idea
+
+A
+{{#concept "real random variable" Disambiguation="in a finite probability space" Agda=real-random-variable-Finite-Probability-Space}}
+in a
+[finite probability space](finite-probability-theory.finite-probability-spaces.md)
+is a function from the underlying
+[finite type](univalent-combinatorics.finite-types.md) to
+[`ℝ`](real-numbers.dedekind-real-numbers.md).
+
+Our definition follows Definition 2.1 of {{#cite Babai00}}.
+
+## Definitions
+
+### Real random variables in a finite probability space
+
+```agda
+module _
+ {l : Level} (Ω : Finite-Probability-Space l)
+ where
+
+ real-random-variable-Finite-Probability-Space : UU (lsuc lzero ⊔ l)
+ real-random-variable-Finite-Probability-Space =
+ type-Finite-Probability-Space Ω → ℝ lzero
+```
+
+### Constant random variables in a finite probability space
+
+```agda
+module _
+ {l : Level} (Ω : Finite-Probability-Space l)
+ where
+
+ const-real-random-variable-Finite-Probablity-Space :
+ (x : ℝ lzero) → real-random-variable-Finite-Probability-Space Ω
+ const-real-random-variable-Finite-Probablity-Space x _ = x
+```
+
+### Atomic real random variables in a finite probability space
+
+```agda
+module _
+ {l : Level} (Ω : Finite-Probability-Space l)
+ (e : type-Finite-Probability-Space Ω)
+ where
+
+ atomic-real-random-variable-Finite-Probability-Space :
+ real-random-variable-Finite-Probability-Space Ω
+ atomic-real-random-variable-Finite-Probability-Space e' =
+ rec-coproduct
+ ( λ _ → one-ℝ)
+ ( λ _ → zero-ℝ)
+ ( has-decidable-equality-is-finite
+ ( is-finite-type-Finite-Probability-Space Ω)
+ ( e)
+ ( e'))
+```
+
+## References
+
+{{#bibliography}}
diff --git a/src/real-numbers/apartness-real-numbers.lagda.md b/src/real-numbers/apartness-real-numbers.lagda.md
index 023123e63e..9255585865 100644
--- a/src/real-numbers/apartness-real-numbers.lagda.md
+++ b/src/real-numbers/apartness-real-numbers.lagda.md
@@ -8,6 +8,7 @@ module real-numbers.apartness-real-numbers where
```agda
open import foundation.apartness-relations
+open import foundation.coproduct-types
open import foundation.disjunction
open import foundation.empty-types
open import foundation.function-types
@@ -17,11 +18,13 @@ open import foundation.large-apartness-relations
open import foundation.large-binary-relations
open import foundation.negated-equality
open import foundation.negation
+open import foundation.propositional-truncations
open import foundation.propositions
open import foundation.transport-along-identifications
open import foundation.universe-levels
open import real-numbers.dedekind-real-numbers
+open import real-numbers.rational-real-numbers
open import real-numbers.strict-inequality-real-numbers
```
@@ -107,3 +110,17 @@ nonequal-apart-ℝ : {l : Level} (x y : ℝ l) → apart-ℝ x y → x ≠ y
nonequal-apart-ℝ x y =
nonequal-apart-Large-Apartness-Relation large-apartness-relation-ℝ
```
+
+### Zero is apart from one
+
+```agda
+apart-zero-one-ℝ : apart-ℝ zero-ℝ one-ℝ
+apart-zero-one-ℝ = unit-trunc-Prop (inl le-zero-one-ℝ)
+```
+
+### Zero is not equal to one
+
+```agda
+zero-is-not-one-ℝ : zero-ℝ ≠ one-ℝ
+zero-is-not-one-ℝ = nonequal-apart-ℝ zero-ℝ one-ℝ apart-zero-one-ℝ
+```
diff --git a/src/real-numbers/strict-inequality-real-numbers.lagda.md b/src/real-numbers/strict-inequality-real-numbers.lagda.md
index a68d6e8cbd..e4586773eb 100644
--- a/src/real-numbers/strict-inequality-real-numbers.lagda.md
+++ b/src/real-numbers/strict-inequality-real-numbers.lagda.md
@@ -841,6 +841,17 @@ module _
le-real-is-in-upper-cut-ℚ r y y