Step
*
1
1
of Lemma
outl-or-class
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)
BY
{ Subst ⌜bag-map(λx.outl(x);[x∈bag-merge(v;v1)|isl(x)]) ~ fst(bag-separate(bag-merge(v;v1)))⌝ 0⋅ }
1
.....equality..... 
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)]) ~ fst(bag-separate(bag-merge(v;v1)))
2
1. A : Type
2. B : Type
3. v : bag(A)@i
4. v1 : bag(B)@i
⊢ (fst(bag-separate(bag-merge(v;v1)))) = v ∈ bag(A)
Latex:
Latex:
1.  A  :  Type
2.  B  :  Type
3.  v  :  bag(A)@i
4.  v1  :  bag(B)@i
\mvdash{}  bag-map(\mlambda{}x.outl(x);[x\mmember{}bag-merge(v;v1)|isl(x)])  =  v
By
Latex:
Subst  \mkleeneopen{}bag-map(\mlambda{}x.outl(x);[x\mmember{}bag-merge(v;v1)|isl(x)])  \msim{}  fst(bag-separate(bag-merge(v;v1)))\mkleeneclose{}  0\mcdot{}
Home
Index