Step
*
of Lemma
bound-term-induction
No Annotations
∀[opr:Type]. ∀[P:bound-term(opr) ⟶ ℙ].
  ((∀vs:varname() List. ∀v:varname().  ((¬(v = nullvar() ∈ varname())) 
⇒ P[<vs, varterm(v)>]))
  
⇒ (∀bts:bound-term(opr) List
        ((∀bt:bound-term(opr). ((bt ∈ bts) 
⇒ P[bt])) 
⇒ (∀f:opr. ∀vs:varname() List.  P[<vs, mkterm(f;bts)>])))
  
⇒ (∀bt:bound-term(opr). P[bt]))
BY
{ Auto }
1
1. [opr] : Type
2. [P] : bound-term(opr) ⟶ ℙ
3. ∀vs:varname() List. ∀v:varname().  ((¬(v = nullvar() ∈ varname())) 
⇒ P[<vs, varterm(v)>])
4. ∀bts:bound-term(opr) List
     ((∀bt:bound-term(opr). ((bt ∈ bts) 
⇒ P[bt])) 
⇒ (∀f:opr. ∀vs:varname() List.  P[<vs, mkterm(f;bts)>]))
5. bt : bound-term(opr)
⊢ P[bt]
Latex:
Latex:
No  Annotations
\mforall{}[opr:Type].  \mforall{}[P:bound-term(opr)  {}\mrightarrow{}  \mBbbP{}].
    ((\mforall{}vs:varname()  List.  \mforall{}v:varname().    ((\mneg{}(v  =  nullvar()))  {}\mRightarrow{}  P[<vs,  varterm(v)>]))
    {}\mRightarrow{}  (\mforall{}bts:bound-term(opr)  List
                ((\mforall{}bt:bound-term(opr).  ((bt  \mmember{}  bts)  {}\mRightarrow{}  P[bt]))
                {}\mRightarrow{}  (\mforall{}f:opr.  \mforall{}vs:varname()  List.    P[<vs,  mkterm(f;bts)>])))
    {}\mRightarrow{}  (\mforall{}bt:bound-term(opr).  P[bt]))
By
Latex:
Auto
Home
Index