module Cantor where open import Logic open import Naturals open import Two open import Equality -- Definition (The Cantor space). ₂ℕ : Set ₂ℕ = ℕ → ₂ -- Definition (Extensional equality on the Cantor space). _≣_ : (α β : ₂ℕ) → Ω α ≣ β = ∀ i → α i ≡ β i -- Basic facts. ≣-refl : ------------------- ∀{α : ₂ℕ} → α ≣ α ------------------- ≣-refl i = refl ≣-symmetry : ----------------------------- ∀{α β : ₂ℕ} → α ≣ β → β ≣ α ----------------------------- ≣-symmetry e i = symmetry (e i) ≣-transitivity : --------------------------------------- ∀{α β γ : ₂ℕ} → α ≣ β → β ≣ γ → α ≣ γ --------------------------------------- ≣-transitivity r s i = transitivity (r i) (s i) -- Definition (Extensional ₂-valued functions on the Cantor space). extensional : (₂ℕ → ₂) → Ω extensional p = ∀{α β : ₂ℕ} → α ≣ β → p α ≡ p β