Step
*
1
1
1
2
of Lemma
bag-map-union
1. T : Type
2. S : Type
3. f : T ⟶ bag(S)
4. u : bag(T)
5. v : bag(T) List
6. bag-union(bag-map(λb.bag-map(f;b);v)) ~ bag-map(f;bag-union(v))
⊢ bag-union(bag-map(λb.bag-map(f;b);[u / v])) ~ bag-map(f;bag-union([u / v]))
BY
{ (RepUR ``bag-union bag-map concat`` 0 THEN Fold `concat` 0 THEN Fold `bag-union` 0) }
1
1. T : Type
2. S : Type
3. f : T ⟶ bag(S)
4. u : bag(T)
5. v : bag(T) List
6. bag-union(bag-map(λb.bag-map(f;b);v)) ~ bag-map(f;bag-union(v))
⊢ map(f;u) @ bag-union(map(λb.map(f;b);v)) ~ map(f;u @ bag-union(v))
Latex:
Latex:
1.  T  :  Type
2.  S  :  Type
3.  f  :  T  {}\mrightarrow{}  bag(S)
4.  u  :  bag(T)
5.  v  :  bag(T)  List
6.  bag-union(bag-map(\mlambda{}b.bag-map(f;b);v))  \msim{}  bag-map(f;bag-union(v))
\mvdash{}  bag-union(bag-map(\mlambda{}b.bag-map(f;b);[u  /  v]))  \msim{}  bag-map(f;bag-union([u  /  v]))
By
Latex:
(RepUR  ``bag-union  bag-map  concat``  0  THEN  Fold  `concat`  0  THEN  Fold  `bag-union`  0)
Home
Index