Nuprl Lemma : hereditarily-varterm

∀[opr:Type]. ∀[P:term(opr) ⟶ ℙ]. ∀[v:{v:varname()| ¬(v = nullvar() ∈ varname())} ].
  (hereditarily(opr;s.P[s];varterm(v)) ⇐⇒ P[varterm(v)])


Proof




Definitions occuring in Statement :  hereditarily: hereditarily(opr;s.P[s];t),  varterm: varterm(v),  term: term(opr),  nullvar: nullvar(),  varname: varname(),  uall: ∀[x:A]. B[x],  prop: ℙ,  so_apply: x[s],  iff: P ⇐⇒ Q,  not: ¬A,  set: {x:A| B[x]} ,  function: x:A ⟶ B[x],  universe: Type,  equal: s = t ∈ T
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  iff: P ⇐⇒ Q,  and: P ∧ Q,  implies: P ⇒ Q,  member: t ∈ T,  so_lambda: λ2x.t[x],  so_apply: x[s],  uimplies: b supposing a,  not: ¬A,  false: False,  prop: ℙ,  rev_implies: P ⇐ Q,  hereditarily: hereditarily(opr;s.P[s];t),  all: ∀x:A. B[x]
Lemmas referenced :  hereditarily_wf,  term_wf,  varterm_wf,  nullvar_wf,  subterm_wf,  varname_wf,  istype-void,  istype-universe,  subterm-varterm
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  isect_memberFormation_alt,  independent_pairFormation,  lambdaFormation_alt,  universeIsType,  cut,  introduction,  extract_by_obid,  sqequalHypSubstitution,  isectElimination,  thin,  because_Cache,  sqequalRule,  lambdaEquality_alt,  applyEquality,  hypothesisEquality,  hypothesis,  setElimination,  rename,  independent_isectElimination,  independent_functionElimination,  voidElimination,  equalityIstype,  inhabitedIsType,  setIsType,  functionIsType,  universeEquality,  instantiate,  productElimination

Latex:
\mforall{}[opr:Type].  \mforall{}[P:term(opr)  {}\mrightarrow{}  \mBbbP{}].  \mforall{}[v:\{v:varname()|  \mneg{}(v  =  nullvar())\}  ].
    (hereditarily(opr;s.P[s];varterm(v))  \mLeftarrow{}{}\mRightarrow{}  P[varterm(v)])



Date html generated: 2020_05_19-PM-09_54_35
Last ObjectModification: 2020_03_12-AM-11_08_47

Theory : terms


Home Index