Step
*
of Lemma
ffor_wf
∀T:Type. ∀Q:(T List) ⟶ Type. ∀b0:Q[[]]. ∀b1:∀x:T. Q[[x]]. ∀up:∀ys,ys':T List. (Q[ys]
⇒ Q[ys']
⇒ Q[ys @ ys']).
∀zs:T List.
(ffor(b0;b1;up;zs) ∈ Q[zs])
BY
{ (InductionOnList THEN RecUnfold `ffor` 0 THEN Reduce 0 THEN Auto) }
Latex:
Latex:
\mforall{}T:Type. \mforall{}Q:(T List) {}\mrightarrow{} Type. \mforall{}b0:Q[[]]. \mforall{}b1:\mforall{}x:T. Q[[x]]. \mforall{}up:\mforall{}ys,ys':T List.
(Q[ys] {}\mRightarrow{} Q[ys'] {}\mRightarrow{} Q[ys @ ys']).
\mforall{}zs:T List.
(ffor(b0;b1;up;zs) \mmember{} Q[zs])
By
Latex:
(InductionOnList THEN RecUnfold `ffor` 0 THEN Reduce 0 THEN Auto)
Home
Index