```
{-# OPTIONS --cubical-compatible #-}
module Padova2025.Explorations.Uncountability.Lawvere
  {A X : Set} (f : A  (A  X)) (g : X  X) where
```

# Lawvere's fixed point theorem

```
open import Padova2025.ProvingBasics.Equality.Base
open import Padova2025.ProvingBasics.Equality.General
open import Padova2025.ProvingBasics.Connectives.Existential
```

```
canary : A  X
-- Holify
canary a = g (f a a)
```

```
fix : ∃[ a ] canary  f a  ∃[ x ] g x  x
-- Holify
fix (a , p) = f a a , p a
```

```
fix₀ : ((h : A  X)  ∃[ a ] h  f a)  ∃[ x ] g x  x
-- Holify
fix₀ split-surjectivity = fix (split-surjectivity canary)
```