Lists over Quasi-Borel Spaces #
This file defines the quasi-borel structure on lists and proves various operations on lists are homomorphisms.
Main definitions #
QuasiBorelSpace (List A): the quasi-borel structure on listssequence: converts a list of probability measures into a measure over lists
Main results #
- Basic list operations (
cons,tail,append,map, etc.) are homomorphisms - List query operations (
mem,elem,length,get, etc.) are homomorphisms - Set-like operations (
insert,union,erase,diff) are homomorphisms
Encoding Homomorphisms #
cons is a homomorphism.
Folding over an encoded list is a homomorphism.
QuasiBorel Structure #
The QuasiBorelSpace structure on List A.
encode is a homomorphism.
List cons is a homomorphism.
cons is a homomorphism when composed with other homomorphisms.
Basic List Operations #
foldr is a homomorphism.
foldr is a homomorphism when composed with other homomorphisms.
map is a homomorphism.
List Queries #
getElem? is a homomorphism.
length is a homomorphism.
get is a homomorphism for valid indices.
tail is a homomorphism.
List append is a homomorphism.
List Membership and Set Operations #
List membership is a homomorphism.
elem is a homomorphism.
insert is a homomorphism.
List union is a homomorphism.
erase is a homomorphism.
List diff is a homomorphism.
Measurable Structure #
The MeasurableQuasiBorelSpace instance for List A.
Probability Measures on Lists #
Converts a sequence of measures into a measure of sequences, where each element is drawn from an element of the original sequence.
Equations
- One or more equations did not get rendered due to their size.
- QuasiBorelSpace.List.sequence [] = QuasiBorelSpace.ProbabilityMeasure.unit []
Instances For
Lifting integration to sequences.
Equations
- QuasiBorelSpace.List.lintegral k [] = k []
- QuasiBorelSpace.List.lintegral k (μ :: μs) = QuasiBorelSpace.ProbabilityMeasure.lintegral (fun (x : A) => QuasiBorelSpace.List.lintegral (fun (xs : List A) => k (x :: xs)) μs) μ
Instances For
Computing the integral of a sequence.
Point Separation #
The SeparatesPoints instance for List A.