Step
*
of Lemma
sum-reindex
∀[n:ℕ]. ∀[a:ℕn ⟶ ℤ]. ∀[m:ℕ]. ∀[b:ℕm ⟶ ℤ].
  Σ(a[i] | i < n) = Σ(b[j] | j < m) ∈ ℤ 
  supposing ∃f:{i:ℕn| ¬(a[i] = 0 ∈ ℤ)}  ⟶ {j:ℕm| ¬(b[j] = 0 ∈ ℤ)} . (Bij({i:ℕn| ¬(a[i] = 0 ∈ ℤ)} {j:ℕm| ¬(b[j] = 0 ∈ ℤ\000C)} f) ∧ (∀i:{i:ℕn| ¬(a[i] = 0 ∈ ℤ)} . (a[i] = b[f i] ∈ ℤ)))
BY
{ (Auto
   THEN (RWO "sum-as-bag-accum" 0 THENA Auto)
   THEN Subst ⌜[i∈bag-map(λi.a[i];upto(n))|¬b(i =z 0)] = [j∈bag-map(λj.b[j];upto(m))|¬b(j =z 0)] ∈ bag(ℤ)⌝ 0⋅
   THEN Try ((GenConclTerm ⌜upto(m)⌝⋅ THEN Complete (Auto))⋅)
   THEN ((RWO "bag-filter-map" 0 THENA Auto) THEN Reduce 0 THEN ExRepD)⋅) }
1
1. n : ℕ
2. a : ℕn ⟶ ℤ
3. m : ℕ
4. b : ℕm ⟶ ℤ
5. f : {i:ℕn| ¬(a[i] = 0 ∈ ℤ)}  ⟶ {j:ℕm| ¬(b[j] = 0 ∈ ℤ)} 
6. Bij({i:ℕn| ¬(a[i] = 0 ∈ ℤ)} {j:ℕm| ¬(b[j] = 0 ∈ ℤ)} f)
7. ∀i:{i:ℕn| ¬(a[i] = 0 ∈ ℤ)} . (a[i] = b[f i] ∈ ℤ)
⊢ bag-map(λi.a[i];[i∈upto(n)|¬b(a[i] =z 0)]) = bag-map(λj.b[j];[j∈upto(m)|¬b(b[j] =z 0)]) ∈ bag(ℤ)
Latex:
Latex:
\mforall{}[n:\mBbbN{}].  \mforall{}[a:\mBbbN{}n  {}\mrightarrow{}  \mBbbZ{}].  \mforall{}[m:\mBbbN{}].  \mforall{}[b:\mBbbN{}m  {}\mrightarrow{}  \mBbbZ{}].
    \mSigma{}(a[i]  |  i  <  n)  =  \mSigma{}(b[j]  |  j  <  m) 
    supposing  \mexists{}f:\{i:\mBbbN{}n|  \mneg{}(a[i]  =  0)\}    {}\mrightarrow{}  \{j:\mBbbN{}m|  \mneg{}(b[j]  =  0)\}  .  (Bij(\{i:\mBbbN{}n|  \mneg{}(a[i]  =  0)\}  ;\{j:\mBbbN{}m|  \mneg{}(b[j]\000C  =  0)\}  ;f)  \mwedge{}  (\mforall{}i:\{i:\mBbbN{}n|  \mneg{}(a[i]  =  0)\}  .  (a[i]  =  b[f  i])))
By
Latex:
(Auto
  THEN  (RWO  "sum-as-bag-accum"  0  THENA  Auto)
  THEN  Subst  \mkleeneopen{}[i\mmember{}bag-map(\mlambda{}i.a[i];upto(n))|\mneg{}\msubb{}(i  =\msubz{}  0)]  =  [j\mmember{}bag-map(\mlambda{}j.b[j];upto(m))|\mneg{}\msubb{}(j  =\msubz{}  0)]\mkleeneclose{}  0\mcdot{}
  THEN  Try  ((GenConclTerm  \mkleeneopen{}upto(m)\mkleeneclose{}\mcdot{}  THEN  Complete  (Auto))\mcdot{})
  THEN  ((RWO  "bag-filter-map"  0  THENA  Auto)  THEN  Reduce  0  THEN  ExRepD)\mcdot{})
Home
Index