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: ⇐⇒ Q not: ¬A set: {x:A| B[x]}  function: x:A ⟶ B[x] universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] iff: ⇐⇒ Q and: P ∧ Q implies:  Q member: t ∈ T so_lambda: λ2x.t[x] so_apply: x[s] uimplies: supposing a not: ¬A false: False prop: rev_implies:  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