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:  Q member: t ∈ T lambda: λx.A[x] function: x:A ⟶ B[x] add: m natural_number: $n universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T implies:  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 ⊆B uimplies: 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: ⇐⇒ Q rev_implies:  Q uiff: uiff(P;Q) subtract: 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 then else 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