# Types equipped with automorphisms

```agda
module structured-types.types-equipped-with-automorphisms where
```

<details><summary>Imports</summary>

```agda
open import foundation.automorphisms
open import foundation.dependent-pair-types
open import foundation.equivalences
open import foundation.universe-levels

open import structured-types.types-equipped-with-endomorphisms
```

</details>

## Idea

A **type equipped with an automorphism** is a pair consisting of a type `A` and
an [automorphism](foundation.automorphisms.md) on `e : A ≃ A`.

## Definitions

### Types equipped with automorphisms

```agda
Type-With-Automorphism : (l : Level)  UU (lsuc l)
Type-With-Automorphism l = Σ (UU l) (Aut)

module _
  {l : Level} (A : Type-With-Automorphism l)
  where

  type-Type-With-Automorphism : UU l
  type-Type-With-Automorphism = pr1 A

  automorphism-Type-With-Automorphism : Aut type-Type-With-Automorphism
  automorphism-Type-With-Automorphism = pr2 A

  map-Type-With-Automorphism :
    type-Type-With-Automorphism  type-Type-With-Automorphism
  map-Type-With-Automorphism = map-equiv automorphism-Type-With-Automorphism

  type-with-endomorphism-Type-With-Automorphism : Type-With-Endomorphism l
  pr1 type-with-endomorphism-Type-With-Automorphism =
    type-Type-With-Automorphism
  pr2 type-with-endomorphism-Type-With-Automorphism =
    map-Type-With-Automorphism
```

### Types equipped with the identity automorphism

```agda
trivial-Type-With-Automorphism : {l : Level}  UU l  Type-With-Automorphism l
pr1 (trivial-Type-With-Automorphism X) = X
pr2 (trivial-Type-With-Automorphism X) = id-equiv
```

## See also

- Sets equipped with automorphisms are defined in
  [`structured-types.sets-equipped-with-automorphisms.md`](structured-types.sets-equipped-with-automorphisms.md)
- Cyclic types are
  [sets equipped with automorphisms](structured-types.sets-equipped-with-automorphisms.md)
  of which the automorphism acts transitively.
- The
  [descent property of the circle](synthetic-homotopy-theory.descent-circle.md)
  shows that type families over the
  [circle](synthetic-homotopy-theory.circle.md) are
  [equivalently](foundation.equivalences.md) described as types equipped with
  automorphisms.