|
| 1 | +# The axiom of countable choice |
| 2 | + |
| 3 | +```agda |
| 4 | +module foundation.axiom-of-countable-choice where |
| 5 | +``` |
| 6 | + |
| 7 | +<details><summary>Imports</summary> |
| 8 | + |
| 9 | +```agda |
| 10 | +open import elementary-number-theory.equality-natural-numbers |
| 11 | +open import elementary-number-theory.inequality-natural-numbers |
| 12 | +open import elementary-number-theory.natural-numbers |
| 13 | +open import elementary-number-theory.strict-inequality-natural-numbers |
| 14 | +
|
| 15 | +open import foundation.action-on-identifications-functions |
| 16 | +open import foundation.axiom-of-choice |
| 17 | +open import foundation.axiom-of-dependent-choice |
| 18 | +open import foundation.binary-relations |
| 19 | +open import foundation.coproduct-types |
| 20 | +open import foundation.decidable-equality |
| 21 | +open import foundation.dependent-pair-types |
| 22 | +open import foundation.embeddings |
| 23 | +open import foundation.equivalences |
| 24 | +open import foundation.function-types |
| 25 | +open import foundation.identity-types |
| 26 | +open import foundation.inhabited-types |
| 27 | +open import foundation.maybe |
| 28 | +open import foundation.propositional-truncations |
| 29 | +open import foundation.raising-universe-levels |
| 30 | +open import foundation.sets |
| 31 | +open import foundation.transport-along-identifications |
| 32 | +open import foundation.unit-type |
| 33 | +open import foundation.univalence |
| 34 | +open import foundation.universe-levels |
| 35 | +
|
| 36 | +open import set-theory.countable-sets |
| 37 | +
|
| 38 | +open import univalent-combinatorics.classical-finite-types |
| 39 | +``` |
| 40 | + |
| 41 | +</details> |
| 42 | + |
| 43 | +## Idea |
| 44 | + |
| 45 | +The |
| 46 | +{{#concept "axiom of countable choice" WD="axiom of countable choice" WDID=Q1000116 Agda=ACω}} |
| 47 | +asserts that for every family of [inhabited](foundation.inhabited-types.md) |
| 48 | +[sets](foundation.sets.md) `B` indexed by the |
| 49 | +[natural numbers](elementary-number-theory.natural-numbers.md) `ℕ`, the type of |
| 50 | +sections of that family `(n : ℕ) → B n` is inhabited. |
| 51 | + |
| 52 | +## Definition |
| 53 | + |
| 54 | +```agda |
| 55 | +level-ACω : (l : Level) → UU (lsuc l) |
| 56 | +level-ACω l = |
| 57 | + (f : ℕ → Set l) (inhabited-f : (n : ℕ) → is-inhabited (type-Set (f n))) → |
| 58 | + is-inhabited ((n : ℕ) → type-Set (f n)) |
| 59 | +
|
| 60 | +ACω : UUω |
| 61 | +ACω = {l : Level} → level-ACω l |
| 62 | +``` |
| 63 | + |
| 64 | +## Properties |
| 65 | + |
| 66 | +### The axiom of countable choice implies choice for countable sets with decidable equality |
| 67 | + |
| 68 | +```agda |
| 69 | +module _ |
| 70 | + {l : Level} (X : Set l) |
| 71 | + (countable-X : is-countable X) |
| 72 | + (decidable-equality-X : has-decidable-equality (type-Set X)) |
| 73 | + where |
| 74 | +
|
| 75 | + choice-countable-discrete-set-ACω : |
| 76 | + {l2 : Level} → ACω → (F : type-Set X → Set l2) → instance-choice-Set X F |
| 77 | + choice-countable-discrete-set-ACω {l2} acω F inhabited-F = |
| 78 | + let |
| 79 | + open |
| 80 | + do-syntax-trunc-Prop |
| 81 | + ( is-inhabited-Prop ((x : type-Set X) → type-Set (F x))) |
| 82 | + F' : Maybe (type-Set X) → Set l2 |
| 83 | + F' = rec-coproduct F (λ _ → raise-Set l2 unit-Set) |
| 84 | + inhabited-F' : (x : Maybe (type-Set X)) → is-inhabited (type-Set (F' x)) |
| 85 | + inhabited-F' = |
| 86 | + λ where |
| 87 | + (inl x) → inhabited-F x |
| 88 | + (inr star) → unit-trunc-Prop (map-raise star) |
| 89 | + in do |
| 90 | + e ← countable-X |
| 91 | + g ← acω (F' ∘ map-enumeration X e) (inhabited-F' ∘ map-enumeration X e) |
| 92 | + unit-trunc-Prop |
| 93 | + ( λ x → |
| 94 | + let |
| 95 | + ( n , en=unit-x , _) = |
| 96 | + minimal-preimage-enumeration-discrete-Set |
| 97 | + ( X) |
| 98 | + ( e) |
| 99 | + ( decidable-equality-X) |
| 100 | + ( x) |
| 101 | + in map-eq (ap (type-Set ∘ F') en=unit-x) (g n)) |
| 102 | +``` |
| 103 | + |
| 104 | +### The axiom of choice implies the axiom of countable choice |
| 105 | + |
| 106 | +```agda |
| 107 | +level-ACω-level-AC0 : {l : Level} → level-AC0 lzero l → level-ACω l |
| 108 | +level-ACω-level-AC0 ac0 f inhabited-f = ac0 ℕ-Set (type-Set ∘ f) inhabited-f |
| 109 | +
|
| 110 | +ACω-AC0 : AC0 → ACω |
| 111 | +ACω-AC0 ac0 = level-ACω-level-AC0 ac0 |
| 112 | +``` |
| 113 | + |
| 114 | +### The axiom of dependent choice implies the axiom of countable choice |
| 115 | + |
| 116 | +```agda |
| 117 | +level-ACω-level-ADC : {l : Level} → level-ADC l lzero → level-ACω l |
| 118 | +level-ACω-level-ADC {l} adc f inhabited-f = |
| 119 | + do |
| 120 | + (g , r-gn-g⟨n+1⟩) ← |
| 121 | + adc (A , is-set-A) (unit-trunc-Prop (0 , λ ())) R entire-R |
| 122 | + let |
| 123 | + dom-g : (m : ℕ) → m ≤-ℕ pr1 (g m) |
| 124 | + dom-g = |
| 125 | + ind-ℕ |
| 126 | + ( leq-zero-ℕ (pr1 (g 0))) |
| 127 | + ( λ m m≤gn → tr (leq-ℕ (succ-ℕ m)) (r-gn-g⟨n+1⟩ m) m≤gn) |
| 128 | + h : (m : ℕ) (k : classical-Fin m) → type-Set (f (pr1 k)) |
| 129 | + h = |
| 130 | + λ m (k , k<m) → |
| 131 | + pr2 (g m) (k , concatenate-le-leq-ℕ {k} {m} {pr1 (g m)} k<m (dom-g m)) |
| 132 | + unit-trunc-Prop (λ n → h (succ-ℕ n) (n , succ-le-ℕ n)) |
| 133 | + where |
| 134 | + open |
| 135 | + do-syntax-trunc-Prop |
| 136 | + ( is-inhabited-Prop ((n : ℕ) → type-Set (f n))) |
| 137 | + A : UU l |
| 138 | + A = |
| 139 | + Σ ℕ |
| 140 | + ( λ n → |
| 141 | + (k : classical-Fin n) → |
| 142 | + type-Set (f (nat-classical-Fin n k))) |
| 143 | + is-set-A : is-set A |
| 144 | + is-set-A = is-set-Σ is-set-ℕ (λ _ → is-set-Π (pr2 ∘ f ∘ pr1)) |
| 145 | + R : Relation lzero A |
| 146 | + R (m , _) (n , _) = succ-ℕ m = n |
| 147 | + entire-R : is-entire-Relation R |
| 148 | + entire-R (n , f<n) = |
| 149 | + rec-trunc-Prop |
| 150 | + ( is-inhabited-Prop (Σ A (R (n , f<n)))) |
| 151 | + ( λ fn → |
| 152 | + unit-trunc-Prop |
| 153 | + ( ( succ-ℕ n , |
| 154 | + λ (k , k<sn) → |
| 155 | + rec-coproduct |
| 156 | + ( λ k<n → f<n (k , k<n)) |
| 157 | + ( λ n≤k → |
| 158 | + map-eq |
| 159 | + ( ap |
| 160 | + ( type-Set ∘ f) |
| 161 | + ( antisymmetric-leq-ℕ n k |
| 162 | + ( n≤k) |
| 163 | + ( leq-le-succ-ℕ k n k<sn))) |
| 164 | + ( fn)) |
| 165 | + ( decide-le-leq-ℕ k n)) , |
| 166 | + refl)) |
| 167 | + ( inhabited-f n) |
| 168 | +``` |
| 169 | + |
| 170 | +## See also |
| 171 | + |
| 172 | +- [The axiom of choice](foundation.axiom-of-choice.md) |
| 173 | +- [The axiom of dependent choice](foundation.axiom-of-dependent-choice.md) |
0 commit comments