Reference · Finite types, distributions and Markov chains
rainbow.math.finite.set-classical
Classical finite-set transport, kept separate from the axiom-free layer.
list/finite-of-injective-enumerated-images
list/finite-of-injective-enumerated-images.{u, v} :
(A : Type u) (B : Type v) (mapping : A → B) (enumeration : List B)
(source : set/Set A) (injection : set/injective-on A B mapping source)
(source-image-cover : ∀ (value : A), ∀ (member : source value), list/membership B enumeration (mapping value))
→ set/finite A sourceList = data/List
set/finite-of-injection-maps-to
set/finite-of-injection-maps-to.{u, v} :
(A : Type u) (B : Type v) (mapping : A → B) (source : set/Set A) (target : set/Set B)
(maps : set/maps-to A B mapping source target)
(injection : set/injective-on A B mapping source)
(target-finite : set/finite B target)
→ set/finite A sourceset/finite-of-finite-image
set/finite-of-finite-image.{u, v} :
(A : Type u) (B : Type v) (source : set/Set A) (mapping : A → B)
(image-finite : set/finite B (set/image A B mapping source))
(injection : set/injective-on A B mapping source)
→ set/finite A sourceset/finite-image-equivalence
set/finite-image-equivalence.{u, v} :
(A : Type u) (B : Type v) (source : set/Set A) (mapping : A → B)
(injection : set/injective-on A B mapping source)
→ proposition/conjunction (finite → set/finite A source) (set/finite A source → finite)
where finite := set/finite B (set/image A B mapping source)set/infinite-image-preserved
set/infinite-image-preserved.{u, v} :
(A : Type u) (B : Type v) (source : set/Set A) (mapping : A → B)
(injection : set/injective-on A B mapping source)
(source-infinite : set/infinite A source)
→ set/infinite B (set/image A B mapping source)set/infinite-image-equivalence
set/infinite-image-equivalence.{u, v} :
(A : Type u) (B : Type v) (source : set/Set A) (mapping : A → B)
(injection : set/injective-on A B mapping source)
→ proposition/conjunction (infinite → set/infinite A source) (set/infinite A source → infinite)
where infinite := set/infinite B (set/image A B mapping source)set/infinite-of-injection-maps-to
set/infinite-of-injection-maps-to.{u, v} :
(A : Type u) (B : Type v) (source : set/Set A) (target : set/Set B) (mapping : A → B)
(injection : set/injective-on A B mapping source)
(maps : set/maps-to A B mapping source target)
(source-infinite : set/infinite A source)
→ set/infinite B targetset/not-injective-on-infinite-finite-image
set/not-injective-on-infinite-finite-image.{u, v} :
(A : Type u) (B : Type v) (mapping : A → B) (source : set/Set A)
(source-infinite : set/infinite A source)
(image-finite : set/finite B (set/image A B mapping source))
(x₁ : set/injective-on A B mapping source)
→ proposition/falsityset/bijective-finite-equivalence
set/bijective-finite-equivalence.{u, v} :
(A : Type u) (B : Type v) (mapping : A → B) (source : set/Set A) (target : set/Set B)
(bijection : set/bijective-on A B mapping source target)
→ proposition/conjunction (set/finite A source → set/finite B target) (set/finite B target → set/finite A source)set/infinite-difference-finite
set/infinite-difference-finite.{u} :
(A : Type u) (source removed : set/Set A) (source-infinite : set/infinite A source)
(removed-finite : set/finite A removed)
→ set/infinite A (set/difference A source removed)set/finite-preimage-under-injection
set/finite-preimage-under-injection.{u, v} :
(A : Type u) (B : Type v) (mapping : A → B) (target : set/Set B)
(injection : set/injective-on A B mapping (set/preimage A B mapping target))
(target-finite : set/finite B target)
→ set/finite A (set/preimage A B mapping target)