@@ -12,9 +12,11 @@ open import Cat.Prelude
1212open import Data.Int.Divisible
1313open import Data.Int.Universal
1414open import Data.Fin.Closure
15+ open import Data.Fin.Product
1516open import Data.Int.DivMod
1617open import Data.Fin
1718open import Data.Int hiding (Positive)
19+ open import Data.Irr
1820open import Data.Nat
1921
2022open represents-subgroup
@@ -182,17 +184,14 @@ $x : \ZZ$ to the representative of its congruence class modulo $n$,
182184$x \% n$.
183185
184186``` agda
185- ℤ/n≃ℕ<n : ∀ n → .⦃ Positive n ⦄ → ⌞ ℤ/ n ⌟ ≃ ℕ< n
186- ℤ/n≃ℕ<n n .fst = Coeq-rec (λ i → i %ℤ n , x%ℤy<y i n)
187- λ (x , y , p) → Σ-prop-path! (divides-diff→same-rem n x y p)
188- ℤ/n≃ℕ<n n .snd = is-iso→is-equiv $ iso
189- (λ (i , p) → inc (pos i))
190- (λ i → Σ-prop-path! (ℕ<-%ℤ i))
191- (elim! λ i → quot (same-rem→divides-diff n (pos (i %ℤ n)) i
192- (ℕ<-%ℤ (_ , x%ℤy<y i n))))
193-
194187Finite-ℤ/n : ∀ n → .⦃ Positive n ⦄ → ⌞ ℤ/ n ⌟ ≃ Fin n
195- Finite-ℤ/n n = ℤ/n≃ℕ<n n ∙e Fin≃ℕ< e⁻¹
188+ Finite-ℤ/n n .fst = Coeq-rec (λ i → from-ℕ< (i %ℤ n , x%ℤy<y i n))
189+ λ (x , y , p) → fin-ap (divides-diff→same-rem n x y p)
190+ Finite-ℤ/n n .snd = is-iso→is-equiv $ iso
191+ (λ (fin i) → inc (pos i))
192+ (λ i → fin-ap (Fin-%ℤ i))
193+ (elim! λ i → quot (same-rem→divides-diff n (pos (i %ℤ n)) i
194+ (Fin-%ℤ (fin _ ⦃ forget (x%ℤy<y i n) ⦄))))
196195```
197196
198197Using this and the fact that $([ 2] \simeq [ 2] ) \simeq [ 2!] = [ 2] $,
@@ -229,8 +228,6 @@ equivalences:
229228ℤ/2≡S₂ = ∫-Path ℤ/2→S₂ $
230229 equiv-cancell (Fin-permutations 2 .snd)
231230 (equiv-cancelr ((Finite-ℤ/n 2 e⁻¹) .snd)
232- (subst is-equiv (ext λ where
233- fzero → refl
234- (fsuc fzero) → refl)
231+ (subst is-equiv (ext (indexₚ (refl , refl , tt)))
235232 id-equiv))
236233```
0 commit comments