Reference · Finite types, distributions and Markov chains
rainbow.math.finite.type
Native finite and infinite carrier propositions as finite List covers.
list/sort-membership
list/sort-membership.{l} :
(A : Sort l) (source : List A) (value : A)
→ PropList = data/List
type/finite
type/finite.{l} :
(A : Sort l)
→ Proptype/infinite
type/infinite.{l} :
(A : Sort l)
→ Proptype/finite-universal-equivalence
type/finite-universal-equivalence.{u} :
(A : Type u)
→ proposition/conjunction (set/finite A (set/universal A) → type/finite A) (type/finite A → set/finite A (set/universal A))type/finite-of-finite-universal
type/finite-of-finite-universal.{u} :
(A : Type u) (evidence : set/finite A (set/universal A))
→ type/finite Atype/infinite-universal-equivalence
type/infinite-universal-equivalence.{u} :
(A : Type u)
→ proposition/conjunction (set/infinite A (set/universal A) → type/infinite A) (type/infinite A → set/infinite A (set/universal A))type/finite-of-not-infinite
type/finite-of-not-infinite.{u} :
(A : Type u) (double-negation : type/infinite A → proposition/falsity)
→ type/finite Atype/infinite-product-equivalence
type/infinite-product-equivalence.{u, v} :
(A : Type u) (B : Type v)
→ proposition/conjunction (type/infinite (data/Product A B) → disjunction) (disjunction → type/infinite (data/Product A B))
where disjunction := proposition/disjunction (proposition/conjunction (type/infinite A) (proposition/nonempty B)) (proposition/conjunction (proposition/nonempty A) (type/infinite B))