Step
*
1
2
1
2
of Lemma
map-upto-length
1. T : Type
2. u : T
3. v : T List
4. ∀[f:ℕ||v|| ⟶ T]. v = map(f;upto(||v||)) ∈ (T List) supposing ∀i:ℕ||v||. ((f i) = v[i] ∈ T)
5. f : ℕ||v|| + 1 ⟶ T
6. ∀i:ℕ||v|| + 1. ((f i) = [u / v][i] ∈ T)
7. v = map(λi.(f (i + 1));upto(||v||)) ∈ (T List)
⊢ [u / v] = (map(f;[0]) @ map(f;map(λx.(x + 1);upto(||v||)))) ∈ (T List)
BY
{ xxx(Reduce 0 THEN EqCD THEN Auto)xxx }
1
.....subterm..... T:t
1:n
1. T : Type
2. u : T
3. v : T List
4. ∀[f:ℕ||v|| ⟶ T]. v = map(f;upto(||v||)) ∈ (T List) supposing ∀i:ℕ||v||. ((f i) = v[i] ∈ T)
5. f : ℕ||v|| + 1 ⟶ T
6. ∀i:ℕ||v|| + 1. ((f i) = [u / v][i] ∈ T)
7. v = map(λi.(f (i + 1));upto(||v||)) ∈ (T List)
⊢ u = (f 0) ∈ T
2
.....subterm..... T:t
2:n
1. T : Type
2. u : T
3. v : T List
4. ∀[f:ℕ||v|| ⟶ T]. v = map(f;upto(||v||)) ∈ (T List) supposing ∀i:ℕ||v||. ((f i) = v[i] ∈ T)
5. f : ℕ||v|| + 1 ⟶ T
6. ∀i:ℕ||v|| + 1. ((f i) = [u / v][i] ∈ T)
7. v = map(λi.(f (i + 1));upto(||v||)) ∈ (T List)
⊢ v = map(f;map(λx.(x + 1);upto(||v||))) ∈ (T List)
Latex:
Latex:
1.  T  :  Type
2.  u  :  T
3.  v  :  T  List
4.  \mforall{}[f:\mBbbN{}||v||  {}\mrightarrow{}  T].  v  =  map(f;upto(||v||))  supposing  \mforall{}i:\mBbbN{}||v||.  ((f  i)  =  v[i])
5.  f  :  \mBbbN{}||v||  +  1  {}\mrightarrow{}  T
6.  \mforall{}i:\mBbbN{}||v||  +  1.  ((f  i)  =  [u  /  v][i])
7.  v  =  map(\mlambda{}i.(f  (i  +  1));upto(||v||))
\mvdash{}  [u  /  v]  =  (map(f;[0])  @  map(f;map(\mlambda{}x.(x  +  1);upto(||v||))))
By
Latex:
xxx(Reduce  0  THEN  EqCD  THEN  Auto)xxx
Home
Index