Nuprl Lemma : bar_recursion_wf

`∀[T:Type]. ∀[R,A:n:ℕ ⟶ (ℕn ⟶ T) ⟶ ℙ]. ∀[d:∀n:ℕ. ∀s:ℕn ⟶ T.  Dec(R[n;s])].`
`∀[b:∀n:ℕ. ∀s:ℕn ⟶ T.  (R[n;s] `` A[n;s])]. ∀[i:∀n:ℕ. ∀s:ℕn ⟶ T.  ((∀t:T. A[n + 1;seq-append(n;1;s;λi.t)]) `` A[n;s])].`
`∀[n:ℕ]. ∀[s:ℕn ⟶ T].`
`  ((∀alpha:ℕ ⟶ T. (↓∃m:ℕ. R[n + m;seq-append(n;m;s;alpha)]))`
`  `` (bar_recursion(d;`
`                    b;`
`                    i;`
`                    n;seq-normalize(n;s)) ∈ A[n;seq-normalize(n;s)]))`

Proof

Definitions occuring in Statement :  bar_recursion: bar_recursion seq-normalize: `seq-normalize(n;s)` seq-append: `seq-append(n;m;s1;s2)` int_seg: `{i..j-}` nat: `ℕ` decidable: `Dec(P)` uall: `∀[x:A]. B[x]` prop: `ℙ` so_apply: `x[s1;s2]` all: `∀x:A. B[x]` exists: `∃x:A. B[x]` squash: `↓T` implies: `P `` Q` member: `t ∈ T` lambda: `λx.A[x]` function: `x:A ⟶ B[x]` add: `n + m` natural_number: `\$n` universe: `Type`
Definitions unfolded in proof :  uall: `∀[x:A]. B[x]` member: `t ∈ T` implies: `P `` Q` all: `∀x:A. B[x]` so_lambda: `λ2x.t[x]` so_apply: `x[s1;s2]` nat: `ℕ` guard: `{T}` sq_stable: `SqStable(P)` squash: `↓T` prop: `ℙ` subtype_rel: `A ⊆r B` uimplies: `b supposing a` le: `A ≤ B` and: `P ∧ Q` less_than': `less_than'(a;b)` false: `False` not: `¬A` so_apply: `x[s]` exists: `∃x:A. B[x]` decidable: `Dec(P)` or: `P ∨ Q` iff: `P `⇐⇒` Q` rev_implies: `P `` Q` uiff: `uiff(P;Q)` subtract: `n - m` top: `Top` true: `True` bool: `𝔹` unit: `Unit` it: `⋅` btrue: `tt` less_than: `a < b` bfalse: `ff` sq_type: `SQType(T)` bnot: `¬bb` ifthenelse: `if b then t else f fi ` assert: `↑b` bar_recursion: bar_recursion
Lemmas referenced :  istype-universe squash_wf exists_wf nat_wf add_nat_wf sq_stable__le le_wf seq-append_wf subtype_rel_function int_seg_wf int_seg_subtype_nat istype-void subtype_rel_self decidable__le istype-false not-le-2 condition-implies-le minus-add istype-int minus-one-mul zero-add minus-one-mul-top add-associates add-swap add-commutes add_functionality_wrt_le add-zero le-add-cancel decidable_wf minus-zero lt_int_wf eqtt_to_assert assert_of_lt_int istype-top less-iff-le add-mul-special zero-mul eqff_to_assert bool_cases_sqequal subtype_base_sq bool_wf bool_subtype_base iff_transitivity assert_wf bnot_wf not_wf less_than_wf iff_weakening_uiff assert_of_bnot seq-append0 seq-normalize-normalize seq-normalize_wf seq-normalize-append seq-append-assoc seq-append1 seq-append-normalize seq-append1-assoc
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :isect_memberFormation_alt,  introduction cut Error :lambdaFormation_alt,  sqequalRule sqequalHypSubstitution hypothesis Error :functionIsType,  Error :inhabitedIsType,  hypothesisEquality extract_by_obid isectElimination thin Error :universeIsType,  Error :lambdaEquality_alt,  applyEquality Error :dependent_set_memberEquality_alt,  addEquality setElimination rename natural_numberEquality independent_functionElimination imageMemberEquality baseClosed imageElimination Error :equalityIsType1,  equalityTransitivity equalitySymmetry dependent_functionElimination because_Cache independent_isectElimination independent_pairFormation axiomEquality Error :functionIsTypeImplies,  Error :isect_memberEquality_alt,  unionElimination voidElimination productElimination minusEquality universeEquality equalityElimination lessCases axiomSqEquality Error :dependent_pairFormation_alt,  promote_hyp instantiate cumulativity bar_Induction functionExtensionality

Latex:
\mforall{}[T:Type].  \mforall{}[R,A:n:\mBbbN{}  {}\mrightarrow{}  (\mBbbN{}n  {}\mrightarrow{}  T)  {}\mrightarrow{}  \mBbbP{}].  \mforall{}[d:\mforall{}n:\mBbbN{}.  \mforall{}s:\mBbbN{}n  {}\mrightarrow{}  T.    Dec(R[n;s])].  \mforall{}[b:\mforall{}n:\mBbbN{}.  \mforall{}s:\mBbbN{}n  {}\mrightarrow{}  T.
(R[n;s]
{}\mRightarrow{}  A[n;s])].
\mforall{}[i:\mforall{}n:\mBbbN{}.  \mforall{}s:\mBbbN{}n  {}\mrightarrow{}  T.    ((\mforall{}t:T.  A[n  +  1;seq-append(n;1;s;\mlambda{}i.t)])  {}\mRightarrow{}  A[n;s])].  \mforall{}[n:\mBbbN{}].  \mforall{}[s:\mBbbN{}n  {}\mrightarrow{}  T].
((\mforall{}alpha:\mBbbN{}  {}\mrightarrow{}  T.  (\mdownarrow{}\mexists{}m:\mBbbN{}.  R[n  +  m;seq-append(n;m;s;alpha)]))
{}\mRightarrow{}  (bar\_recursion(d;
b;
i;
n;seq-normalize(n;s))  \mmember{}  A[n;seq-normalize(n;s)]))

Date html generated: 2019_06_20-AM-11_28_52
Last ObjectModification: 2018_10_07-PM-08_32_56

Theory : bar-induction

Home Index