Step
*
of Lemma
prec-size-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)| ||j;z|| < ||i;x||} .  Q[j;z]) 
⇒ Q[i;x]))
  
⇒ (∀i:P. ∀x:prec(lbl,p.a[lbl;p];i).  Q[i;x]))
BY
{ (RepeatFor 4 ((D 0 THENA Auto))
   THEN (Assert ∀[s:ℕ]. ∀i:P. ∀x:prec(lbl,p.a[lbl;p];i).  Q[i;x] supposing ||i;x|| ≤ s BY
               UniformCompNatIndScheme)
   ) }
1
.....aux..... 
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)| ||j;z|| < ||i;x||} .  Q[j;z]) 
⇒ Q[i;x])
5. [s] : ℕ
6. ∀[i:ℕs]. ∀i@0:P. ∀x:prec(lbl,p.a[lbl;p];i@0).  Q[i@0;x] supposing ||i@0;x|| ≤ i
⊢ ∀i:P. ∀x:prec(lbl,p.a[lbl;p];i).  Q[i;x] supposing ||i;x|| ≤ s
2
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)| ||j;z|| < ||i;x||} .  Q[j;z]) 
⇒ Q[i;x])
5. ∀[s:ℕ]. ∀i:P. ∀x:prec(lbl,p.a[lbl;p];i).  Q[i;x] supposing ||i;x|| ≤ s
⊢ ∀i:P. ∀x:prec(lbl,p.a[lbl;p];i).  Q[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)|  ||j;z||  <  ||i;x||\}  .    Q[j;z])  {}\mRightarrow{}  Q[i;x]))
    {}\mRightarrow{}  (\mforall{}i:P.  \mforall{}x:prec(lbl,p.a[lbl;p];i).    Q[i;x]))
By
Latex:
(RepeatFor  4  ((D  0  THENA  Auto))
  THEN  (Assert  \mforall{}[s:\mBbbN{}].  \mforall{}i:P.  \mforall{}x:prec(lbl,p.a[lbl;p];i).    Q[i;x]  supposing  ||i;x||  \mleq{}  s  BY
                          UniformCompNatIndScheme)
  )
Home
Index