Парадокс Рассела: реализация на Агде
May. 26th, 2013 02:29 amК вопросу о заселении ⊥ при включенном type-in-type. Делается прямой реализацией парадокса Рассела
http://www.reddit.com/r/compsci/comments/1a7g6q/a_question_on_set_classes_and_dependent_types/
http://article.gmane.org/gmane.comp.lang.agda/5002
http://hpaste.org/84029
{-# OPTIONS --type-in-type --without-K #-} module russell where open import Data.Product open import Relation.Binary.PropositionalEquality open import Relation.Nullary open import Data.Empty -- a model of set theory data U : Set where set : (I : Set) → (I → U) → U -- a set is regular if it doesn't contain itself regular : U → Set regular (set I f) = (i : I) → ¬ (f i ≡ set I f) -- Russell's set: the set of all regular sets R : U R = set (Σ U regular) proj₁ -- R is not regular R-nonreg : ¬ (regular R) R-nonreg reg = reg (R , reg) refl -- R is regular R-reg : regular R R-reg (x , reg) p = subst regular p reg (x , reg) p -- contradiction absurd : ⊥ absurd = R-nonreg R-regВзято отсюда:
http://www.reddit.com/r/compsci/comments/1a7g6q/a_question_on_set_classes_and_dependent_types/
http://article.gmane.org/gmane.comp.lang.agda/5002
http://hpaste.org/84029