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