Total Paradoxes
{-# OPTIONS --type-in-type #-}open import Agda.Builtin.Equalityopen import Agda.Builtin.Sigma
data ⊥ : Set where⊥-elim : {A : Set} → ⊥ → A⊥-elim ()data SET : Set where set : (X : Set) → (X → SET) → SET
∅ : SET∅ = set ⊥ ⊥-elim
_∈_ : SET → SET → Seta ∈ set X f = Σ X (λ x → a ≡ f x)
_∉_ : SET → SET → Seta ∉ b = (a ∈ b) → ⊥
Δ : SETΔ = set (Σ SET (λ s → s ∉ s)) fst
x∈Δ→x∉x : ∀ {X} → X ∈ Δ → X ∉ Xx∈Δ→x∉x ((Y , Y∉Y) , refl) = Y∉Y
x∉x→x∈Δ : ∀ {X} → X ∉ X → X ∈ Δx∉x→x∈Δ {X} X∉X = (X , X∉X) , refl
Δ∉Δ : Δ ∉ ΔΔ∉Δ prf = x∈Δ→x∉x prf prf
Δ∈Δ : Δ ∈ ΔΔ∈Δ = x∉x→x∈Δ Δ∉Δ
russell : ⊥russell = Δ∉Δ Δ∈Δ