Discrete types
Content created by Fredrik Bakke, Jonathan Prieto-Cubides and Egbert Rijke.
Created on 2022-09-09.
Last modified on 2024-09-23.
module foundation-core.discrete-types where
Imports
open import foundation.decidable-equality open import foundation.dependent-pair-types open import foundation.universe-levels open import foundation-core.sets
Idea
A discrete type¶ is a type that has decidable equality. Consequently, discrete types are sets by Hedberg’s theorem.
Definition
Discrete-Type : (l : Level) → UU (lsuc l) Discrete-Type l = Σ (UU l) has-decidable-equality module _ {l : Level} (X : Discrete-Type l) where type-Discrete-Type : UU l type-Discrete-Type = pr1 X has-decidable-equality-type-Discrete-Type : has-decidable-equality type-Discrete-Type has-decidable-equality-type-Discrete-Type = pr2 X is-set-type-Discrete-Type : is-set type-Discrete-Type is-set-type-Discrete-Type = is-set-has-decidable-equality has-decidable-equality-type-Discrete-Type set-Discrete-Type : Set l pr1 set-Discrete-Type = type-Discrete-Type pr2 set-Discrete-Type = is-set-type-Discrete-Type
External links
- classical set at Lab
- decidable object at Lab
Recent changes
- 2024-09-23. Fredrik Bakke. Cantor’s theorem and diagonal argument (#1185).
- 2023-06-08. Fredrik Bakke. Remove empty
foundation
modules and replace them by their core counterparts (#644). - 2023-03-14. Fredrik Bakke. Remove all unused imports (#502).
- 2023-03-07. Fredrik Bakke. Add blank lines between
<details>
tags and markdown syntax (#490). - 2023-03-07. Jonathan Prieto-Cubides. Show module declarations (#488).