# Families of types over telescopes

```agda
module foundation.families-over-telescopes where
```

<details><summary>Imports</summary>

```agda
open import elementary-number-theory.natural-numbers

open import foundation.raising-universe-levels
open import foundation.telescopes
open import foundation.universe-levels
```

</details>

## Idea

A
{{#concept "type family" Disambiguation="over a telescope" Agda=family-over-telescope}}
over a [telescope](foundation.telescopes.md) is a family of types defined in the
context of the telescope.

For instance, given a length three telescope

```text
  Γ := ⟨x : A, y : B x, z : C x y z⟩
```

a type family over `Γ` is a ternary family of types

```text
  D : (x : A) (y : B x) (z : C x y z) → 𝒰.
```

## Definitions

### Type families over telescopes

```agda
family-over-telescope :
  {l1 : Level} (l2 : Level) {n : }  telescope l1 n  UU (l1  lsuc l2)
family-over-telescope {l1} l2 (base-telescope X) =
  raise (l1  lsuc l2) (UU l2)
family-over-telescope l2 (cons-telescope {X = X} Γ) =
  (x : X)  family-over-telescope l2 (Γ x)
```