Built with Alectryon. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑Ctrl+↓ to navigate, Ctrl+🖱️ to focus. On Mac, use ⌘ instead of Ctrl.
(** * Discrete categories on [n] objects *)Require Import Category.Core DiscreteCategory IndiscreteCategory.Require Import Types.Unit Trunc Types.Sum Types.Empty.Require Import Basics.Nat.Set Implicit Arguments.Generalizable All Variables.LocalOpen Scope nat_scope.ModuleExport Core.(** ** [Fin n] types, or [CardinalityRepresentative] *)(** We use [Empty] for [0] and [Unit] for [1] so that we get nice judgmental behavior. TODO: this should be unified with [Spaces.Finite.Fin]. *)FixpointCardinalityRepresentative (n : nat) : Type0 :=
match n with
| 0 => Empty
| 1 => Unit
| S n' => CardinalityRepresentative n' + Unit
end.CoercionCardinalityRepresentative : nat >-> Sortclass.(** ** [Fin n] is an hSet *)