Step
*
1
1
1
1
of Lemma
bag-partitions-symmetry
1. T : Type
2. valueall-type(T)
3. eq : EqDecider(T)
4. bs : bag(T)
5. proddeq(bag-deq(eq);bag-deq(eq)) ∈ EqDecider(bag(T) × bag(T))
6. x : bag(T) × bag(T)
7. x ↓∈ bag-partitions(eq;bs)
8. (#x in bag-map(λp.<snd(p), fst(p)>;bag-partitions(eq;bs))) ~ (#<snd(x), fst(x)> in bag-partitions(eq;bs))
⊢ (#x in bag-to-set(proddeq(bag-deq(eq);bag-deq(eq));bag-splits(bs)))
= (#<snd(x), fst(x)> in bag-to-set(proddeq(bag-deq(eq);bag-deq(eq));bag-splits(bs)))
∈ ℤ
BY
{ ((BLemma `equal-count-bag-to-set` THENA Auto)
THEN DVar `x'
THEN Reduce 0
THEN RWO "bag-member-splits" 0
THEN Auto
THEN RWO "bag-append-comm" 0
THEN Auto)⋅ }
Latex:
Latex:
1. T : Type
2. valueall-type(T)
3. eq : EqDecider(T)
4. bs : bag(T)
5. proddeq(bag-deq(eq);bag-deq(eq)) \mmember{} EqDecider(bag(T) \mtimes{} bag(T))
6. x : bag(T) \mtimes{} bag(T)
7. x \mdownarrow{}\mmember{} bag-partitions(eq;bs)
8. (\#x in bag-map(\mlambda{}p.<snd(p), fst(p)>bag-partitions(eq;bs))) \msim{} (\#<snd(x), fst(x)> in bag-partitions\000C(eq;bs))
\mvdash{} (\#x in bag-to-set(proddeq(bag-deq(eq);bag-deq(eq));bag-splits(bs)))
= (\#<snd(x), fst(x)> in bag-to-set(proddeq(bag-deq(eq);bag-deq(eq));bag-splits(bs)))
By
Latex:
((BLemma `equal-count-bag-to-set` THENA Auto)
THEN DVar `x'
THEN Reduce 0
THEN RWO "bag-member-splits" 0
THEN Auto
THEN RWO "bag-append-comm" 0
THEN Auto)\mcdot{}
Home
Index