Step * of Lemma bag-summation-filter

[T,R:Type]. ∀[add:R ⟶ R ⟶ R]. ∀[zero:R]. ∀[b:bag(T)]. ∀[p:T ⟶ 𝔹]. ∀[f:T ⟶ R].
  Σ(x∈[x∈b|p[x]]). f[x] = Σ(x∈b). if p[x] then f[x] else zero fi  ∈ supposing IsMonoid(R;add;zero) ∧ Comm(R;add)
BY
(InstLemma `bag-summation-split` []⋅ THEN RepeatFor (ParallelLast') THEN Auto) }

1
1. Type
2. Type
3. add R ⟶ R ⟶ R
4. zero R
5. bag(T)
6. T ⟶ 𝔹
7. ∀[f:T ⟶ R]
     Σ(x∈b). f[x] (x∈[x∈b|p[x]]). f[x] add Σ(x∈[x∈b|¬bp[x]]). f[x]) ∈ supposing IsMonoid(R;add;zero) ∧ Comm(R;add)
8. T ⟶ R
9. IsMonoid(R;add;zero)
10. Comm(R;add)
⊢ Σ(x∈[x∈b|p[x]]). f[x] = Σ(x∈b). if p[x] then f[x] else zero fi  ∈ R


Latex:


Latex:
\mforall{}[T,R:Type].  \mforall{}[add:R  {}\mrightarrow{}  R  {}\mrightarrow{}  R].  \mforall{}[zero:R].  \mforall{}[b:bag(T)].  \mforall{}[p:T  {}\mrightarrow{}  \mBbbB{}].  \mforall{}[f:T  {}\mrightarrow{}  R].
    \mSigma{}(x\mmember{}[x\mmember{}b|p[x]]).  f[x]  =  \mSigma{}(x\mmember{}b).  if  p[x]  then  f[x]  else  zero  fi   
    supposing  IsMonoid(R;add;zero)  \mwedge{}  Comm(R;add)


By


Latex:
(InstLemma  `bag-summation-split`  []\mcdot{}  THEN  RepeatFor  6  (ParallelLast')  THEN  Auto)




Home Index