Является ли эта формулировка по модулю набора? - PullRequest
4 голосов
/ 12 апреля 2020

В кубической библиотеке Agda определен тип Modulo, подобный этому :

data Modulo (k : ℕ) : Type₀ where
  embed : (n : ℕ) → Modulo k
  pre-step : NonZero k → (n : ℕ) → embed n ≡ embed (k + n)

Это набор?

Отмахиваясь рукой, я вижу, что любой путь - это композиция refl s и pre-step s, принимающая форму embed n ≡ embed (m * k + n); и поскольку _+_ является ассоциативным и 0 +_ ≡ id, структура сочетаний refl s и pre-step s не имеет значения; но как это будет оформлено?

1 Ответ

2 голосов
/ 13 апреля 2020

Исходя из комментария @ Андраса Ковача, выясняется, что Modulo n действительно является h-множеством, а есть доказательство в стандартной библиотеке , я просто пропустил его:)

Доказательство в основном выглядит так:

И тогда, конечно, и , и Fin (suc k) являются дискретными, следовательно, h-наборы сами.

...