Step
*
1
1
1
1
of Lemma
mklist-general-fun
1. T : Type
2. h : (T List) ⟶ T
3. n : ℤ
4. 0 < n
5. mklist-general(n - 1;h) ~ map(λn.mklist-general(n + 1;h)[n];upto(n - 1))
6. hide : Base
7. hide ~ λn,h. map(λn.mklist-general(n + 1;h)[n];upto(n))
⊢ [h mklist-general(n - 1;h)] ~ [mklist-general(n;h)[n - 1]]
BY
{ ((Subst ⌜mklist-general(n;h)[n - 1] ~ mklist-general(n;h)[||mklist-general(n;h)|| - 1]⌝ 0⋅
THENA (RWO "mklist-general-length" 0 THEN Auto)
)
THEN Fold `last` 0
) }
1
1. T : Type
2. h : (T List) ⟶ T
3. n : ℤ
4. 0 < n
5. mklist-general(n - 1;h) ~ map(λn.mklist-general(n + 1;h)[n];upto(n - 1))
6. hide : Base
7. hide ~ λn,h. map(λn.mklist-general(n + 1;h)[n];upto(n))
⊢ [h mklist-general(n - 1;h)] ~ [last(mklist-general(n;h))]
Latex:
Latex:
1. T : Type
2. h : (T List) {}\mrightarrow{} T
3. n : \mBbbZ{}
4. 0 < n
5. mklist-general(n - 1;h) \msim{} map(\mlambda{}n.mklist-general(n + 1;h)[n];upto(n - 1))
6. hide : Base
7. hide \msim{} \mlambda{}n,h. map(\mlambda{}n.mklist-general(n + 1;h)[n];upto(n))
\mvdash{} [h mklist-general(n - 1;h)] \msim{} [mklist-general(n;h)[n - 1]]
By
Latex:
((Subst \mkleeneopen{}mklist-general(n;h)[n - 1] \msim{} mklist-general(n;h)[||mklist-general(n;h)|| - 1]\mkleeneclose{} 0\mcdot{}
THENA (RWO "mklist-general-length" 0 THEN Auto)
)
THEN Fold `last` 0
)
Home
Index