Documentation

QuasiBorelSpaces.Multiset

theorem QuasiBorelSpace.Multiset.isHom_fold {A : Type u_1} [QuasiBorelSpace A] {B : Type u_2} [QuasiBorelSpace B] {op : ABBB} [∀ (x : A), Std.Commutative (op x)] [∀ (x : A), Std.Associative (op x)] (hop : IsHom fun (x : A × B × B) => match x with | (x, y, z) => op x y z) (z : AB) (hz : IsHom z) (f : AMultiset B) (hf : IsHom f) :
IsHom fun (x : A) => Multiset.fold (op x) (z x) (f x)
@[simp]
theorem QuasiBorelSpace.Multiset.isHom_add {A : Type u_1} [QuasiBorelSpace A] :
IsHom fun (x : Multiset A × Multiset A) => x.1 + x.2
@[simp]
@[simp]
theorem QuasiBorelSpace.Multiset.isHom_ndunion {A : Type u_1} [QuasiBorelSpace A] {B : Type u_2} [QuasiBorelSpace B] [DecidableEq B] [IsHomDiagonal B] {f : AMultiset B} (hf : IsHom f) {g : AMultiset B} (hg : IsHom g) :
IsHom fun (x : A) => (f x).ndunion (g x)
@[simp]
theorem QuasiBorelSpace.Multiset.isHom_cons {A : Type u_1} [QuasiBorelSpace A] :
IsHom fun (x : A × Multiset A) => x.1 ::ₘ x.2
@[simp]
@[simp]
theorem QuasiBorelSpace.Multiset.isHom_map {A : Type u_1} [QuasiBorelSpace A] {B : Type u_2} [QuasiBorelSpace B] {C : Type u_3} [QuasiBorelSpace C] {f : ABC} (hf : IsHom fun (x : A × B) => match x with | (x, y) => f x y) {g : AMultiset B} (hg : IsHom g) :
IsHom fun (x : A) => Multiset.map (f x) (g x)