diff --git a/src/group-theory.lagda.md b/src/group-theory.lagda.md
index 424febf2d0..b9552606e6 100644
--- a/src/group-theory.lagda.md
+++ b/src/group-theory.lagda.md
@@ -116,6 +116,7 @@ open import group-theory.orbits-concrete-group-actions public
open import group-theory.orbits-group-actions public
open import group-theory.orbits-monoid-actions public
open import group-theory.orders-of-elements-groups public
+open import group-theory.powers-of-elements-commutative-monoids public
open import group-theory.powers-of-elements-groups public
open import group-theory.powers-of-elements-monoids public
open import group-theory.precategory-of-abelian-groups public
@@ -132,6 +133,7 @@ open import group-theory.products-of-tuples-of-elements-commutative-monoids publ
open import group-theory.quotient-groups public
open import group-theory.quotient-groups-concrete-groups public
open import group-theory.quotients-abelian-groups public
+open import group-theory.rational-commutative-monoids public
open import group-theory.representations-monoids public
open import group-theory.saturated-congruence-relations-commutative-monoids public
open import group-theory.saturated-congruence-relations-monoids public
diff --git a/src/group-theory/powers-of-elements-commutative-monoids.lagda.md b/src/group-theory/powers-of-elements-commutative-monoids.lagda.md
new file mode 100644
index 0000000000..56ffe733ca
--- /dev/null
+++ b/src/group-theory/powers-of-elements-commutative-monoids.lagda.md
@@ -0,0 +1,157 @@
+# Powers of elements in commutative monoids
+
+```agda
+module group-theory.powers-of-elements-commutative-monoids where
+```
+
+Imports
+
+```agda
+open import elementary-number-theory.addition-natural-numbers
+open import elementary-number-theory.multiplication-natural-numbers
+open import elementary-number-theory.natural-numbers
+
+open import foundation.identity-types
+open import foundation.universe-levels
+
+open import group-theory.commutative-monoids
+open import group-theory.homomorphisms-commutative-monoids
+open import group-theory.powers-of-elements-monoids
+```
+
+
+
+The **power operation** on a [monoid](group-theory.monoids.md) is the map
+`n x ↦ xⁿ`, which is defined by [iteratively](foundation.iterating-functions.md)
+multiplying `x` with itself `n` times.
+
+## Definition
+
+```agda
+module _
+ {l : Level} (M : Commutative-Monoid l)
+ where
+
+ power-Commutative-Monoid :
+ ℕ → type-Commutative-Monoid M → type-Commutative-Monoid M
+ power-Commutative-Monoid = power-Monoid (monoid-Commutative-Monoid M)
+```
+
+## Properties
+
+### `1ⁿ = 1`
+
+```agda
+module _
+ {l : Level} (M : Commutative-Monoid l)
+ where
+
+ power-unit-Commutative-Monoid :
+ (n : ℕ) →
+ power-Commutative-Monoid M n (unit-Commutative-Monoid M) =
+ unit-Commutative-Monoid M
+ power-unit-Commutative-Monoid zero-ℕ = refl
+ power-unit-Commutative-Monoid (succ-ℕ zero-ℕ) = refl
+ power-unit-Commutative-Monoid (succ-ℕ (succ-ℕ n)) =
+ right-unit-law-mul-Commutative-Monoid M _ ∙
+ power-unit-Commutative-Monoid (succ-ℕ n)
+```
+
+### `xⁿ⁺¹ = xⁿx`
+
+```agda
+module _
+ {l : Level} (M : Commutative-Monoid l)
+ where
+
+ power-succ-Commutative-Monoid :
+ (n : ℕ) (x : type-Commutative-Monoid M) →
+ power-Commutative-Monoid M (succ-ℕ n) x =
+ mul-Commutative-Monoid M (power-Commutative-Monoid M n x) x
+ power-succ-Commutative-Monoid =
+ power-succ-Monoid (monoid-Commutative-Monoid M)
+```
+
+### `xⁿ⁺¹ = xxⁿ`
+
+```agda
+module _
+ {l : Level} (M : Commutative-Monoid l)
+ where
+
+ power-succ-Commutative-Monoid' :
+ (n : ℕ) (x : type-Commutative-Monoid M) →
+ power-Commutative-Monoid M (succ-ℕ n) x =
+ mul-Commutative-Monoid M x (power-Commutative-Monoid M n x)
+ power-succ-Commutative-Monoid' =
+ power-succ-Monoid' (monoid-Commutative-Monoid M)
+```
+
+### Powers by sums of natural numbers are products of powers
+
+```agda
+module _
+ {l : Level} (M : Commutative-Monoid l)
+ where
+
+ distributive-power-add-Commutative-Monoid :
+ (m n : ℕ) {x : type-Commutative-Monoid M} →
+ power-Commutative-Monoid M (m +ℕ n) x =
+ mul-Commutative-Monoid M
+ ( power-Commutative-Monoid M m x)
+ ( power-Commutative-Monoid M n x)
+ distributive-power-add-Commutative-Monoid =
+ distributive-power-add-Monoid (monoid-Commutative-Monoid M)
+```
+
+### If `x` commutes with `y`, then powers distribute over the product of `x` and `y`
+
+```agda
+module _
+ {l : Level} (M : Commutative-Monoid l)
+ where
+
+ distributive-power-mul-Commutative-Monoid :
+ (n : ℕ) {x y : type-Commutative-Monoid M} →
+ (H : mul-Commutative-Monoid M x y = mul-Commutative-Monoid M y x) →
+ power-Commutative-Monoid M n (mul-Commutative-Monoid M x y) =
+ mul-Commutative-Monoid M
+ ( power-Commutative-Monoid M n x)
+ ( power-Commutative-Monoid M n y)
+ distributive-power-mul-Commutative-Monoid =
+ distributive-power-mul-Monoid (monoid-Commutative-Monoid M)
+```
+
+### Powers by products of natural numbers are iterated powers
+
+```agda
+module _
+ {l : Level} (M : Commutative-Monoid l)
+ where
+
+ power-mul-Commutative-Monoid :
+ (m n : ℕ) {x : type-Commutative-Monoid M} →
+ power-Commutative-Monoid M (m *ℕ n) x =
+ power-Commutative-Monoid M n (power-Commutative-Monoid M m x)
+ power-mul-Commutative-Monoid =
+ power-mul-Monoid (monoid-Commutative-Monoid M)
+```
+
+### Commutative-Monoid homomorphisms preserve powers
+
+```agda
+module _
+ {l1 l2 : Level} (M : Commutative-Monoid l1)
+ (N : Commutative-Monoid l2) (f : type-hom-Commutative-Monoid M N)
+ where
+
+ preserves-powers-hom-Commutative-Monoid :
+ (n : ℕ) (x : type-Commutative-Monoid M) →
+ map-hom-Commutative-Monoid M N f (power-Commutative-Monoid M n x) =
+ power-Commutative-Monoid N n (map-hom-Commutative-Monoid M N f x)
+ preserves-powers-hom-Commutative-Monoid =
+ preserves-powers-hom-Monoid
+ ( monoid-Commutative-Monoid M)
+ ( monoid-Commutative-Monoid N)
+ ( f)
+```
diff --git a/src/group-theory/powers-of-elements-monoids.lagda.md b/src/group-theory/powers-of-elements-monoids.lagda.md
index 5e484a3e20..24b2cdd1d7 100644
--- a/src/group-theory/powers-of-elements-monoids.lagda.md
+++ b/src/group-theory/powers-of-elements-monoids.lagda.md
@@ -23,8 +23,9 @@ open import group-theory.monoids
## Idea
-The power operation on a monoid is the map `n x ↦ xⁿ`, which is defined by
-iteratively multiplying `x` with itself `n` times.
+The **power operation** on a [monoid](group-theory.monoids.md) is the map
+`n x ↦ xⁿ`, which is defined by [iteratively](foundation.iterating-functions.md)
+multiplying `x` with itself `n` times.
## Definition
diff --git a/src/group-theory/rational-commutative-monoids.lagda.md b/src/group-theory/rational-commutative-monoids.lagda.md
new file mode 100644
index 0000000000..2c036f47fe
--- /dev/null
+++ b/src/group-theory/rational-commutative-monoids.lagda.md
@@ -0,0 +1,131 @@
+# Rational commutative monoids
+
+```agda
+module group-theory.rational-commutative-monoids where
+```
+
+Imports
+
+```agda
+open import elementary-number-theory.natural-numbers
+
+open import foundation.dependent-pair-types
+open import foundation.equivalences
+open import foundation.identity-types
+open import foundation.propositions
+open import foundation.universe-levels
+
+open import group-theory.commutative-monoids
+open import group-theory.monoids
+open import group-theory.powers-of-elements-commutative-monoids
+```
+
+
+
+## Idea
+
+A **rational commutative monoid** is a
+[commutative monoid](group-theory.commutative-monoids.md) `(M,0,+)` in which the
+map `x ↦ nx` is invertible for every
+[natural number](elementary-number-theory.natural-numbers.md) `n > 0`. This
+condition implies that we can invert the natural numbers in `M`, which are the
+elements of the form `n1` in `M`.
+
+Note: Since we usually write commutative monoids multiplicatively, the condition
+that a commutative monoid is rational is that the map `x ↦ xⁿ` is invertible for
+every natural number `n > 0`. However, for rational commutative monoids we will
+write the binary operation additively.
+
+## Definition
+
+### The predicate of being a rational commutative monoid
+
+```agda
+module _
+ {l : Level} (M : Commutative-Monoid l)
+ where
+
+ is-rational-prop-Commutative-Monoid : Prop l
+ is-rational-prop-Commutative-Monoid =
+ Π-Prop ℕ
+ ( λ n →
+ is-equiv-Prop (power-Commutative-Monoid M (succ-ℕ n)))
+
+ is-rational-Commutative-Monoid : UU l
+ is-rational-Commutative-Monoid =
+ type-Prop is-rational-prop-Commutative-Monoid
+
+ is-prop-is-rational-Commutative-Monoid :
+ is-prop is-rational-Commutative-Monoid
+ is-prop-is-rational-Commutative-Monoid =
+ is-prop-type-Prop is-rational-prop-Commutative-Monoid
+```
+
+### Rational commutative monoids
+
+```agda
+Rational-Commutative-Monoid : (l : Level) → UU (lsuc l)
+Rational-Commutative-Monoid l =
+ Σ (Commutative-Monoid l) is-rational-Commutative-Monoid
+
+module _
+ {l : Level} (M : Rational-Commutative-Monoid l)
+ where
+
+ commutative-monoid-Rational-Commutative-Monoid : Commutative-Monoid l
+ commutative-monoid-Rational-Commutative-Monoid = pr1 M
+
+ monoid-Rational-Commutative-Monoid : Monoid l
+ monoid-Rational-Commutative-Monoid =
+ monoid-Commutative-Monoid commutative-monoid-Rational-Commutative-Monoid
+
+ type-Rational-Commutative-Monoid : UU l
+ type-Rational-Commutative-Monoid =
+ type-Commutative-Monoid commutative-monoid-Rational-Commutative-Monoid
+
+ add-Rational-Commutative-Monoid :
+ (x y : type-Rational-Commutative-Monoid) →
+ type-Rational-Commutative-Monoid
+ add-Rational-Commutative-Monoid =
+ mul-Commutative-Monoid commutative-monoid-Rational-Commutative-Monoid
+
+ zero-Rational-Commutative-Monoid : type-Rational-Commutative-Monoid
+ zero-Rational-Commutative-Monoid =
+ unit-Commutative-Monoid commutative-monoid-Rational-Commutative-Monoid
+
+ associative-add-Rational-Commutative-Monoid :
+ (x y z : type-Rational-Commutative-Monoid) →
+ add-Rational-Commutative-Monoid
+ ( add-Rational-Commutative-Monoid x y)
+ ( z) =
+ add-Rational-Commutative-Monoid
+ ( x)
+ ( add-Rational-Commutative-Monoid y z)
+ associative-add-Rational-Commutative-Monoid =
+ associative-mul-Commutative-Monoid
+ commutative-monoid-Rational-Commutative-Monoid
+
+ left-unit-law-add-Rational-Commutative-Monoid :
+ (x : type-Rational-Commutative-Monoid) →
+ add-Rational-Commutative-Monoid zero-Rational-Commutative-Monoid x = x
+ left-unit-law-add-Rational-Commutative-Monoid =
+ left-unit-law-mul-Commutative-Monoid
+ commutative-monoid-Rational-Commutative-Monoid
+
+ right-unit-law-add-Rational-Commutative-Monoid :
+ (x : type-Rational-Commutative-Monoid) →
+ add-Rational-Commutative-Monoid x zero-Rational-Commutative-Monoid = x
+ right-unit-law-add-Rational-Commutative-Monoid =
+ right-unit-law-mul-Commutative-Monoid
+ commutative-monoid-Rational-Commutative-Monoid
+
+ multiple-Rational-Commutative-Monoid :
+ ℕ → type-Rational-Commutative-Monoid → type-Rational-Commutative-Monoid
+ multiple-Rational-Commutative-Monoid =
+ power-Commutative-Monoid commutative-monoid-Rational-Commutative-Monoid
+
+ is-rational-Rational-Commutative-Monoid :
+ is-rational-Commutative-Monoid
+ commutative-monoid-Rational-Commutative-Monoid
+ is-rational-Rational-Commutative-Monoid = pr2 M
+```