Nuprl Lemma : W-induction

∀[A:Type]. ∀[B:A ⟶ Type]. ∀[Q:W(A;a.B[a]) ⟶ ℙ].
  ((∀a:A. ∀f:B[a] ⟶ W(A;a.B[a]).  ((∀b:B[a]. Q[f b]) ⇒ Q[Wsup(a;f)])) ⇒ (∀w:W(A;a.B[a]). Q[w]))


Proof




Definitions occuring in Statement :  Wsup: Wsup(a;b),  W: W(A;a.B[a]),  uall: ∀[x:A]. B[x],  prop: ℙ,  so_apply: x[s],  all: ∀x:A. B[x],  implies: P ⇒ Q,  apply: f a,  function: x:A ⟶ B[x],  universe: Type
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  implies: P ⇒ Q,  all: ∀x:A. B[x],  member: t ∈ T,  so_lambda: λ2x.t[x],  so_apply: x[s],  prop: ℙ,  subtype_rel: A ⊆r B
Lemmas referenced :  W_wf,  all_wf,  Wsup_wf,  W_ind_wf
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  isect_memberFormation,  lambdaFormation,  rename,  cut,  lemma_by_obid,  sqequalHypSubstitution,  isectElimination,  thin,  hypothesisEquality,  sqequalRule,  lambdaEquality,  applyEquality,  hypothesis,  cumulativity,  functionEquality,  because_Cache,  universeEquality,  introduction,  equalityTransitivity,  equalitySymmetry

Latex:
\mforall{}[A:Type].  \mforall{}[B:A  {}\mrightarrow{}  Type].  \mforall{}[Q:W(A;a.B[a])  {}\mrightarrow{}  \mBbbP{}].
    ((\mforall{}a:A.  \mforall{}f:B[a]  {}\mrightarrow{}  W(A;a.B[a]).    ((\mforall{}b:B[a].  Q[f  b])  {}\mRightarrow{}  Q[Wsup(a;f)]))  {}\mRightarrow{}  (\mforall{}w:W(A;a.B[a]).  Q[w]))



Date html generated: 2016_05_14-AM-06_15_39
Last ObjectModification: 2015_12_26-PM-00_04_45

Theory : co-recursion


Home Index