Step
*
2
of Lemma
firstn_map_upto
1. u : Top
2. v : Top List
3. ∀[n:ℕ]. (firstn(n;v) ~ map(λi.v[i];upto(imin(||v||;n))))
⊢ ∀[n:ℕ]. (firstn(n;[u / v]) ~ map(λi.[u / v][i];upto(imin(||v|| + 1;n))))
BY
{ (Auto THEN RecUnfold `firstn` 0 THEN Reduce 0) }
1
1. u : Top
2. v : Top List
3. ∀[n:ℕ]. (firstn(n;v) ~ map(λi.v[i];upto(imin(||v||;n))))
4. n : ℕ
⊢ if 0 <z n then [u / firstn(n - 1;v)] else [] fi  ~ map(λi.[u / v][i];upto(imin(||v|| + 1;n)))
Latex:
Latex:
1.  u  :  Top
2.  v  :  Top  List
3.  \mforall{}[n:\mBbbN{}].  (firstn(n;v)  \msim{}  map(\mlambda{}i.v[i];upto(imin(||v||;n))))
\mvdash{}  \mforall{}[n:\mBbbN{}].  (firstn(n;[u  /  v])  \msim{}  map(\mlambda{}i.[u  /  v][i];upto(imin(||v||  +  1;n))))
By
Latex:
(Auto  THEN  RecUnfold  `firstn`  0  THEN  Reduce  0)
Home
Index