Step
*
1
of Lemma
bag-map-union
1. T : Type
2. S : Type
3. f : T ⟶ bag(S)
4. as : bag(T) List
5. bs : bag(T) List
6. permutation(bag(T);as;bs)
⊢ bag-map(f;bag-union(as)) = bag-union(bag-map(λb.bag-map(f;b);bs)) ∈ bag(bag(S))
BY
{ Subst ⌜bag-union(bag-map(λb.bag-map(f;b);bs)) ~ bag-map(f;bag-union(bs))⌝ 0⋅ }
1
.....equality..... 
1. T : Type
2. S : Type
3. f : T ⟶ bag(S)
4. as : bag(T) List
5. bs : bag(T) List
6. permutation(bag(T);as;bs)
⊢ bag-union(bag-map(λb.bag-map(f;b);bs)) ~ bag-map(f;bag-union(bs))
2
1. T : Type
2. S : Type
3. f : T ⟶ bag(S)
4. as : bag(T) List
5. bs : bag(T) List
6. permutation(bag(T);as;bs)
⊢ bag-map(f;bag-union(as)) = bag-map(f;bag-union(bs)) ∈ bag(bag(S))
Latex:
Latex:
1.  T  :  Type
2.  S  :  Type
3.  f  :  T  {}\mrightarrow{}  bag(S)
4.  as  :  bag(T)  List
5.  bs  :  bag(T)  List
6.  permutation(bag(T);as;bs)
\mvdash{}  bag-map(f;bag-union(as))  =  bag-union(bag-map(\mlambda{}b.bag-map(f;b);bs))
By
Latex:
Subst  \mkleeneopen{}bag-union(bag-map(\mlambda{}b.bag-map(f;b);bs))  \msim{}  bag-map(f;bag-union(bs))\mkleeneclose{}  0\mcdot{}
Home
Index