Step
*
of Lemma
prec-induction-ext
∀[P:Type]. ∀[a:Atom ⟶ P ⟶ ((P + P + Type) List)]. ∀[Q:i:P ⟶ prec(lbl,p.a[lbl;p];i) ⟶ TYPE].
  ((∀i:P. ∀x:prec(lbl,p.a[lbl;p];i).  ((∀j:P. ∀z:{z:prec(lbl,p.a[lbl;p];j)| prec_sub+(P;lbl,p.a[lbl;p]) <j, z> <i, x>} .\000C  Q[j;z]) 
⇒ Q[i;x]))
  
⇒ (∀i:P. ∀x:prec(lbl,p.a[lbl;p];i).  Q[i;x]))
BY
{ Extract of Obid: prec-induction
  normalizes to:
  
  λh,i,x. (letrec r(i)=λx.(h i x (λj,z. (r j z))) in r(i) x)
  finishing with Auto }
Latex:
Latex:
\mforall{}[P:Type].  \mforall{}[a:Atom  {}\mrightarrow{}  P  {}\mrightarrow{}  ((P  +  P  +  Type)  List)].  \mforall{}[Q:i:P  {}\mrightarrow{}  prec(lbl,p.a[lbl;p];i)  {}\mrightarrow{}  TYPE].
    ((\mforall{}i:P.  \mforall{}x:prec(lbl,p.a[lbl;p];i).
            ((\mforall{}j:P.  \mforall{}z:\{z:prec(lbl,p.a[lbl;p];j)|  prec\_sub+(P;lbl,p.a[lbl;p])  <j,  z>  <i,  x>\}  .    Q[j;z])  {}\mRightarrow{}\000C  Q[i;x]))
    {}\mRightarrow{}  (\mforall{}i:P.  \mforall{}x:prec(lbl,p.a[lbl;p];i).    Q[i;x]))
By
Latex:
Extract  of  Obid:  prec-induction
normalizes  to:
\mlambda{}h,i,x.  (letrec  r(i)=\mlambda{}x.(h  i  x  (\mlambda{}j,z.  (r  j  z)))  in  r(i)  x)
finishing  with  Auto
Home
Index