Step
*
1
of Lemma
outl-or-class
1. A : Type
2. B : Type
3. v : bag(A)@i
4. v1 : bag(B)@i
⊢ bag-mapfilter(λx.outl(x);λx.isl(x);bag-map(λx.(inl x);v) + bag-map(λx.(inr x );v1)) = v ∈ bag(A)
BY
{ (RepUR ``bag-mapfilter`` 0 THEN Fold `bag-merge` 0) }
1
1. A : Type
2. B : Type
3. v : bag(A)@i
4. v1 : bag(B)@i
⊢ bag-map(λx.outl(x);[x∈bag-merge(v;v1)|isl(x)]) = v ∈ bag(A)
Latex:
Latex:
1.  A  :  Type
2.  B  :  Type
3.  v  :  bag(A)@i
4.  v1  :  bag(B)@i
\mvdash{}  bag-mapfilter(\mlambda{}x.outl(x);\mlambda{}x.isl(x);bag-map(\mlambda{}x.(inl  x);v)  +  bag-map(\mlambda{}x.(inr  x  );v1))  =  v
By
Latex:
(RepUR  ``bag-mapfilter``  0  THEN  Fold  `bag-merge`  0)
Home
Index