Step
*
1
of Lemma
bag-map-union2
1. A : Type
2. B : Type
3. g : A ⟶ B
4. x : bag(bag(A))
5. bag-map(λa.{g a};bag-union(x)) = bag-union(bag-map(λb.bag-map(λa.{g a};b);x)) ∈ bag(bag(B))
⊢ bag-map(g;bag-union(x)) = bag-union(bag-map(λz.bag-map(g;z);x)) ∈ bag(B)
BY
{ (ApFunToHypEquands `Z' ⌜bag-union(Z)⌝ ⌜bag(B)⌝ (-1)⋅ THENA Auto) }
1
1. A : Type
2. B : Type
3. g : A ⟶ B
4. x : bag(bag(A))
5. bag-map(λa.{g a};bag-union(x)) = bag-union(bag-map(λb.bag-map(λa.{g a};b);x)) ∈ bag(bag(B))
6. bag-union(bag-map(λa.{g a};bag-union(x))) = bag-union(bag-union(bag-map(λb.bag-map(λa.{g a};b);x))) ∈ bag(B)
⊢ bag-map(g;bag-union(x)) = bag-union(bag-map(λz.bag-map(g;z);x)) ∈ bag(B)
Latex:
Latex:
1.  A  :  Type
2.  B  :  Type
3.  g  :  A  {}\mrightarrow{}  B
4.  x  :  bag(bag(A))
5.  bag-map(\mlambda{}a.\{g  a\};bag-union(x))  =  bag-union(bag-map(\mlambda{}b.bag-map(\mlambda{}a.\{g  a\};b);x))
\mvdash{}  bag-map(g;bag-union(x))  =  bag-union(bag-map(\mlambda{}z.bag-map(g;z);x))
By
Latex:
(ApFunToHypEquands  `Z'  \mkleeneopen{}bag-union(Z)\mkleeneclose{}  \mkleeneopen{}bag(B)\mkleeneclose{}  (-1)\mcdot{}  THENA  Auto)
Home
Index