Step
*
of Lemma
bag-count-combine
∀[T1,T2:Type]. ∀[f:T1 ⟶ bag(T2)]. ∀[eq:EqDecider(T2)]. ∀[z:T2]. ∀[bs:bag(T1)].
((#z in ⋃x∈bs.f[x]) ~ bag-sum(bs;x.(#z in f[x])))
BY
{ (Auto
THEN BagD (-1)
THEN Auto
THEN (Subst ⌜as = bs ∈ bag(T1)⌝ 0⋅ THENA Auto)
THEN ThinVar `as'
THEN RenameVar `L' (-1)) }
1
1. T1 : Type
2. T2 : Type
3. f : T1 ⟶ bag(T2)
4. eq : EqDecider(T2)
5. z : T2
6. L : T1 List
⊢ (#z in ⋃x∈L.f[x]) = bag-sum(L;x.(#z in f[x])) ∈ ℕ
Latex:
Latex:
\mforall{}[T1,T2:Type]. \mforall{}[f:T1 {}\mrightarrow{} bag(T2)]. \mforall{}[eq:EqDecider(T2)]. \mforall{}[z:T2]. \mforall{}[bs:bag(T1)].
((\#z in \mcup{}x\mmember{}bs.f[x]) \msim{} bag-sum(bs;x.(\#z in f[x])))
By
Latex:
(Auto
THEN BagD (-1)
THEN Auto
THEN (Subst \mkleeneopen{}as = bs\mkleeneclose{} 0\mcdot{} THENA Auto)
THEN ThinVar `as'
THEN RenameVar `L' (-1))
Home
Index