Step
*
1
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)
⊢ [u / v] = map(f;upto(||v|| + 1)) ∈ (T List)
BY
{ xxx((InstHyp [⌜λi.(f (i + 1))⌝] (-3))⋅ THENA (Reduce 0 THEN Auto))xxx }
1
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. i : ℕ||v||
⊢ (f (i + 1)) = v[i] ∈ T
2
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;upto(||v|| + 1)) ∈ (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])
\mvdash{}  [u  /  v]  =  map(f;upto(||v||  +  1))
By
Latex:
xxx((InstHyp  [\mkleeneopen{}\mlambda{}i.(f  (i  +  1))\mkleeneclose{}]  (-3))\mcdot{}  THENA  (Reduce  0  THEN  Auto))xxx
Home
Index