Step
*
of Lemma
prec-induction
∀[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
{ (InstLemma `prec-size-induction-ext` []
   THEN RepeatFor 4 ((ParallelLast' THENA Auto))
   THEN (BHyp 4 THENW Auto)
   THEN RepeatFor 2 (ParallelLast)) }
1
.....wf..... 
1. P : Type
2. a : Atom ⟶ P ⟶ ((P + P + Type) List)
3. Q : i:P ⟶ prec(lbl,p.a[lbl;p];i) ⟶ TYPE
4. ∀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])
5. i : P
6. x : prec(lbl,p.a[lbl;p];i)
7. ∀j:P. ∀z:{z:prec(lbl,p.a[lbl;p];j)| ||j;z|| < ||i;x||} .  Q[j;z]
8. j : P
9. ∀z:{z:prec(lbl,p.a[lbl;p];j)| ||j;z|| < ||i;x||} . Q[j;z]
10. z : {z:prec(lbl,p.a[lbl;p];j)| prec_sub+(P;lbl,p.a[lbl;p]) <j, z> <i, x>} 
⊢ z ∈ {z:prec(lbl,p.a[lbl;p];j)| ||j;z|| < ||i;x||} 
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:
(InstLemma  `prec-size-induction-ext`  []
  THEN  RepeatFor  4  ((ParallelLast'  THENA  Auto))
  THEN  (BHyp  4  THENW  Auto)
  THEN  RepeatFor  2  (ParallelLast))
Home
Index