# Iterating involutions
```agda
module foundation.iterating-involutions where
```
<details><summary>Imports</summary>
```agda
open import elementary-number-theory.modular-arithmetic-standard-finite-types
open import elementary-number-theory.natural-numbers
open import foundation.action-on-identifications-functions
open import foundation.involutions
open import foundation.iterating-functions
open import foundation.universe-levels
open import foundation-core.coproduct-types
open import foundation-core.identity-types
open import univalent-combinatorics.standard-finite-types
```
</details>
## Definition
### Iterating involutions
```agda
module _
{l : Level} {X : UU l} (f : X → X) (P : is-involution f)
where
iterate-involution :
(n : ℕ) (x : X) → iterate n f x = iterate (nat-Fin 2 (mod-two-ℕ n)) f x
iterate-involution zero-ℕ x = refl
iterate-involution (succ-ℕ n) x =
ap f (iterate-involution n x) ∙ (cases-iterate-involution (mod-two-ℕ n))
where
cases-iterate-involution :
(k : Fin 2) →
f (iterate (nat-Fin 2 k) f x) = iterate (nat-Fin 2 (succ-Fin 2 k)) f x
cases-iterate-involution (inl (inr _)) = refl
cases-iterate-involution (inr _) = P x
```