Step * of Lemma bag-summation-product

[r:Rng]. ∀[A,B:Type]. ∀[f:A ⟶ |r|]. ∀[c:bag(B)]. ∀[g:B ⟶ |r|]. ∀[b:bag(A)].
  ((Σ(x∈b). f[x] * Σ(y∈c). g[y]) = Σ(p∈b × c). f[fst(p)] g[snd(p)] ∈ |r|)
BY
(Auto
   THEN (InstLemma `rng_plus_comm` [⌜r⌝]⋅ THENA Auto)
   THEN Fold `comm` (-1)
   THEN (Assert Assoc(|r|;+r) BY
               (RepeatFor (DVar `r') THEN Auto))
   THEN PromoteHyp (-2) 2
   THEN PromoteHyp (-1) 2
   THEN (BagInd (-1) THENA Auto)⋅}

1
1. Rng
2. Assoc(|r|;+r)
3. Comm(|r|;+r)
4. Type
5. Type
6. A ⟶ |r|
7. bag(B)
8. B ⟶ |r|
⊢ (x∈[]). f[x] * Σ(y∈c). g[y]) = Σ(p∈[] × c). f[fst(p)] g[snd(p)] ∈ |r|

2
1. Rng
2. Assoc(|r|;+r)
3. Comm(|r|;+r)
4. Type
5. Type
6. A ⟶ |r|
7. bag(B)
8. B ⟶ |r|
9. A
10. List
11. (x∈v). f[x] * Σ(y∈c). g[y]) = Σ(p∈v × c). f[fst(p)] g[snd(p)] ∈ |r|
⊢ (x∈[u v]). f[x] * Σ(y∈c). g[y]) = Σ(p∈[u v] × c). f[fst(p)] g[snd(p)] ∈ |r|


Latex:


Latex:
\mforall{}[r:Rng].  \mforall{}[A,B:Type].  \mforall{}[f:A  {}\mrightarrow{}  |r|].  \mforall{}[c:bag(B)].  \mforall{}[g:B  {}\mrightarrow{}  |r|].  \mforall{}[b:bag(A)].
    ((\mSigma{}(x\mmember{}b).  f[x]  *  \mSigma{}(y\mmember{}c).  g[y])  =  \mSigma{}(p\mmember{}b  \mtimes{}  c).  f[fst(p)]  *  g[snd(p)])


By


Latex:
(Auto
  THEN  (InstLemma  `rng\_plus\_comm`  [\mkleeneopen{}r\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  Fold  `comm`  (-1)
  THEN  (Assert  Assoc(|r|;+r)  BY
                          (RepeatFor  2  (DVar  `r')  THEN  Auto))
  THEN  PromoteHyp  (-2)  2
  THEN  PromoteHyp  (-1)  2
  THEN  (BagInd  (-1)  THENA  Auto)\mcdot{})




Home Index