Nuprl Lemma : term-induction1-ext

[opr:Type]. ∀[P:term(opr) ⟶ ℙ].
  ((∀v:{v:varname()| ¬(v nullvar() ∈ varname())} P[varterm(v)])
   (∀f:opr. ∀bts:bound-term(opr) List.  ((∀i:ℕ||bts||. P[snd(bts[i])])  P[mkterm(f;bts)]))
   {∀t:term(opr). P[t]})


Proof




Definitions occuring in Statement :  bound-term: bound-term(opr) mkterm: mkterm(opr;bts) varterm: varterm(v) term: term(opr) nullvar: nullvar() varname: varname() select: L[n] length: ||as|| list: List int_seg: {i..j-} uall: [x:A]. B[x] prop: guard: {T} so_apply: x[s] pi2: snd(t) all: x:A. B[x] not: ¬A implies:  Q set: {x:A| B[x]}  function: x:A ⟶ B[x] natural_number: $n universe: Type equal: t ∈ T
Definitions unfolded in proof :  member: t ∈ T pi2: snd(t) genrec-ap: genrec-ap so_apply: x[s1;s2;s3] so_apply: x[s] term-ind: term-ind term-induction1 uniform-comp-nat-induction sq_stable__le uall: [x:A]. B[x] so_lambda: so_lambda4 so_apply: x[s1;s2;s3;s4] uimplies: supposing a so_lambda: λ2x.t[x] so_lambda: λ2y.t[x; y] so_apply: x[s1;s2]
Lemmas referenced :  term-induction1 lifting-strict-decide strict4-apply lifting-strict-spread uniform-comp-nat-induction sq_stable__le
Rules used in proof :  introduction sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity cut instantiate extract_by_obid hypothesis sqequalRule thin sqequalHypSubstitution equalityTransitivity equalitySymmetry isectElimination baseClosed Error :memTop,  independent_isectElimination

Latex:
\mforall{}[opr:Type].  \mforall{}[P:term(opr)  {}\mrightarrow{}  \mBbbP{}].
    ((\mforall{}v:\{v:varname()|  \mneg{}(v  =  nullvar())\}  .  P[varterm(v)])
    {}\mRightarrow{}  (\mforall{}f:opr.  \mforall{}bts:bound-term(opr)  List.    ((\mforall{}i:\mBbbN{}||bts||.  P[snd(bts[i])])  {}\mRightarrow{}  P[mkterm(f;bts)]))
    {}\mRightarrow{}  \{\mforall{}t:term(opr).  P[t]\})



Date html generated: 2020_05_19-PM-09_54_26
Last ObjectModification: 2020_03_11-PM-09_20_28

Theory : terms


Home Index