Step * of Lemma wf-term-induction

No Annotations
[opr:Type]
  ∀sort:term(opr) ⟶ ℕ. ∀arity:opr ⟶ ((ℕ × ℕList).
    ∀[P:wfterm(opr;sort;arity) ⟶ ℙ]
      ((∀v:{v:varname()| ¬(v nullvar() ∈ varname())} P[varterm(v)])
       (∀f:opr. ∀bts:wf-bound-terms(opr;sort;arity;f).  ((∀i:ℕ||bts||. P[snd(bts[i])])  P[mkwfterm(f;bts)]))
       {∀t:wfterm(opr;sort;arity). P[t]})
BY
(InstLemma `term-ind_wf_wfterm` []
   THEN RepeatFor (ParallelLast')
   THEN Unfolds ``implies guard`` 0
   THEN Fold`all` 0
   THEN RepeatFor (ParallelLast')
   THEN UseWitness ⌜term-ind(x.%[x];f,bts,r.%5[f;bts;r];t)⌝⋅
   THEN Trivial) }


Latex:


Latex:
No  Annotations
\mforall{}[opr:Type]
    \mforall{}sort:term(opr)  {}\mrightarrow{}  \mBbbN{}.  \mforall{}arity:opr  {}\mrightarrow{}  ((\mBbbN{}  \mtimes{}  \mBbbN{})  List).
        \mforall{}[P:wfterm(opr;sort;arity)  {}\mrightarrow{}  \mBbbP{}]
            ((\mforall{}v:\{v:varname()|  \mneg{}(v  =  nullvar())\}  .  P[varterm(v)])
            {}\mRightarrow{}  (\mforall{}f:opr.  \mforall{}bts:wf-bound-terms(opr;sort;arity;f).
                        ((\mforall{}i:\mBbbN{}||bts||.  P[snd(bts[i])])  {}\mRightarrow{}  P[mkwfterm(f;bts)]))
            {}\mRightarrow{}  \{\mforall{}t:wfterm(opr;sort;arity).  P[t]\})


By


Latex:
(InstLemma  `term-ind\_wf\_wfterm`  []
  THEN  RepeatFor  4  (ParallelLast')
  THEN  Unfolds  ``implies  guard``  0
  THEN  Fold`all`  0
  THEN  RepeatFor  3  (ParallelLast')
  THEN  UseWitness  \mkleeneopen{}term-ind(x.\%[x];f,bts,r.\%5[f;bts;r];t)\mkleeneclose{}\mcdot{}
  THEN  Trivial)




Home Index