Step
*
2
1
1
1
1
of Lemma
l_sum-sum
.....subterm..... T:t
1:n
1. T : Type
2. u : T
3. v : T List
4. ∀[f:{x:T| (x ∈ v)}  ⟶ ℤ]. (l_sum(map(f;v)) = Σ(f v[i] | i < ||v||) ∈ ℤ)
5. f : {x:T| (x ∈ [u / v])}  ⟶ ℤ
6. l_sum(map(f;v)) = Σ(f v[i] | i < ||v||) ∈ ℤ
7. Σ(f [u / v][x] | x < ||v|| + 1) = (Σ(f [u / v][x] | x < 1) + Σ(f [u / v][x + 1] | x < (||v|| + 1) - 1)) ∈ ℤ
⊢ (f u) = Σ(f [u / v][x] | x < 1) ∈ ℤ
BY
{ TACTIC:(RWO "sum-as-primrec" 0 THEN Auto) }
1
1. T : Type
2. u : T
3. v : T List
4. ∀[f:{x:T| (x ∈ v)}  ⟶ ℤ]. (l_sum(map(f;v)) = Σ(f v[i] | i < ||v||) ∈ ℤ)
5. f : {x:T| (x ∈ [u / v])}  ⟶ ℤ
6. l_sum(map(f;v)) = Σ(f v[i] | i < ||v||) ∈ ℤ
7. Σ(f [u / v][x] | x < ||v|| + 1) = (Σ(f [u / v][x] | x < 1) + Σ(f [u / v][x + 1] | x < (||v|| + 1) - 1)) ∈ ℤ
⊢ (f u) = primrec(1;0;λj,x. (x + (f [u / v][j]))) ∈ ℤ
Latex:
Latex:
.....subterm.....  T:t
1:n
1.  T  :  Type
2.  u  :  T
3.  v  :  T  List
4.  \mforall{}[f:\{x:T|  (x  \mmember{}  v)\}    {}\mrightarrow{}  \mBbbZ{}].  (l\_sum(map(f;v))  =  \mSigma{}(f  v[i]  |  i  <  ||v||))
5.  f  :  \{x:T|  (x  \mmember{}  [u  /  v])\}    {}\mrightarrow{}  \mBbbZ{}
6.  l\_sum(map(f;v))  =  \mSigma{}(f  v[i]  |  i  <  ||v||)
7.  \mSigma{}(f  [u  /  v][x]  |  x  <  ||v||  +  1)
=  (\mSigma{}(f  [u  /  v][x]  |  x  <  1)  +  \mSigma{}(f  [u  /  v][x  +  1]  |  x  <  (||v||  +  1)  -  1))
\mvdash{}  (f  u)  =  \mSigma{}(f  [u  /  v][x]  |  x  <  1)
By
Latex:
TACTIC:(RWO  "sum-as-primrec"  0  THEN  Auto)
Home
Index