Skolemisasi berhubungan dengan apa yang disebut sebagai aksioma teoretik pilihan, yang secara singkat dibahas dalam bagian 1.6 buku HoTT .
Ini memberikan kesetaraan di mana kita dapat bertukar tipe Σ dan Π . Dengan asumsi A : U , B : A → U dan C: ∏a : ABa → U , kami memiliki kesetaraan:
a c : ( ∏a : A∑b : BSebuahCSebuahb ) ≃ ( Σ( b : ∏a : ABa )∏a : ACSebuah( ba ) )
Buktinya sangat sederhana, misalnya dalam Agda kita memiliki yang berikut ini (membuktikan isomorfisme bukan kesetaraan untuk kesederhanaan sekarang):
open import Data.Product
open import Function
open import Relation.Binary.PropositionalEquality
iso : Set → Set → Set
iso A B =
∃₂ λ (f : A → B)(g : B → A) → (∀ x → f (g x) ≡ x) × (∀ x → g (f x) ≡ x)
ac : ∀ {A : Set}{B : A → Set}{C : ∀ a → B a → Set}
→ iso ((a : A) → Σ (B a) λ b → C a b)
(Σ ((a : A) → B a) λ b → (a : A) → C a (b a))
ac = (λ f → proj₁ ∘ f , proj₂ ∘ f)
, (λ {(b , c) a → b a , c a})
, (λ _ → refl)
, (λ _ → refl)
Dari kiri ke kanan sepanjang kesetaraan, kami mengonversi variabel eksistensial menjadi fungsi yang abstrak di atas variabel universal dalam lingkup. Kita juga bisa menggunakan ini secara iteratif, untuk memindahkan semua -s dari tipe campuran-kuantitatif ke awalan.Σ
Dari perspektif yang lebih operasional, ini terkait dengan lambda lifting , sebuah transformasi program yang digunakan dalam kompiler, yang mengangkat definisi ke dalam lingkup luar dengan menambahkan parameter fungsi ekstra untuk variabel terikat.