Nuprl Lemma : primrec-wf-upper

[k:ℤ]. ∀[P:{k...} ⟶ ℙ]. ∀[b:P[k]]. ∀[s:∀n:{k...}. (P[n]  P[n 1])]. ∀[n:{k...}].
  (primrec(n k;b;λi,x. (s (i k) x)) ∈ P[n])


Proof




Definitions occuring in Statement :  primrec: primrec(n;b;c) int_upper: {i...} uall: [x:A]. B[x] prop: so_apply: x[s] all: x:A. B[x] implies:  Q member: t ∈ T apply: a lambda: λx.A[x] function: x:A ⟶ B[x] subtract: m add: m natural_number: $n int:
Definitions unfolded in proof :  nat: ge: i ≥  cand: c∧ B less_than: a < b guard: {T} bool: 𝔹 unit: Unit it: btrue: tt ifthenelse: if then else fi  sq_type: SQType(T) bfalse: ff exists: x:A. B[x] bnot: ¬bb assert: b nat_plus: + uall: [x:A]. B[x] member: t ∈ T all: x:A. B[x] implies:  Q so_apply: x[s] subtype_rel: A ⊆B int_upper: {i...} decidable: Dec(P) or: P ∨ Q iff: ⇐⇒ Q and: P ∧ Q not: ¬A rev_implies:  Q false: False uiff: uiff(P;Q) uimplies: supposing a sq_stable: SqStable(P) squash: T subtract: m top: Top le: A ≤ B less_than': less_than'(a;b) true: True prop:
Lemmas referenced :  subtract_nat_wf minus-minus decidable__lt nat_properties less_than_transitivity1 less_than_irreflexivity ge_wf istype-less_than primrec-unroll lt_int_wf eqtt_to_assert assert_of_lt_int subtype_base_sq int_subtype_base add-zero eqff_to_assert bool_cases_sqequal bool_wf bool_subtype_base iff_transitivity assert_wf bnot_wf not_wf less_than_wf iff_weakening_uiff assert_of_bnot istype-assert int_upper_wf not-lt-2 subtract-1-ge-0 subtype_rel-equal less-iff-le le-add-cancel2 subtract_wf subtype_rel_function le_weakening2 zero-add subtype_rel_self add-is-int-iff one-mul add-mul-special two-mul mul-distributes-right zero-mul omega-shadow istype-nat decidable__le istype-false not-le-2 sq_stable__le condition-implies-le minus-add istype-void minus-one-mul add-swap minus-one-mul-top add-associates add-commutes add_functionality_wrt_le le-add-cancel istype-le le_reflexive istype-int_upper istype-int
Rules used in proof :  intWeakElimination Error :lambdaEquality_alt,  Error :functionIsTypeImplies,  equalityElimination instantiate cumulativity intEquality Error :dependent_pairFormation_alt,  Error :equalityIstype,  promote_hyp functionExtensionality baseApply closedConclusion multiplyEquality sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :isect_memberFormation_alt,  introduction cut sqequalRule sqequalHypSubstitution axiomEquality equalityTransitivity hypothesis equalitySymmetry because_Cache Error :isect_memberEquality_alt,  isectElimination thin hypothesisEquality Error :isectIsTypeImplies,  Error :inhabitedIsType,  Error :functionIsType,  Error :universeIsType,  applyEquality Error :dependent_set_memberEquality_alt,  addEquality setElimination rename natural_numberEquality extract_by_obid dependent_functionElimination unionElimination independent_pairFormation Error :lambdaFormation_alt,  voidElimination productElimination independent_functionElimination independent_isectElimination imageMemberEquality baseClosed imageElimination minusEquality universeEquality

Latex:
\mforall{}[k:\mBbbZ{}].  \mforall{}[P:\{k...\}  {}\mrightarrow{}  \mBbbP{}].  \mforall{}[b:P[k]].  \mforall{}[s:\mforall{}n:\{k...\}.  (P[n]  {}\mRightarrow{}  P[n  +  1])].  \mforall{}[n:\{k...\}].
    (primrec(n  -  k;b;\mlambda{}i,x.  (s  (i  +  k)  x))  \mmember{}  P[n])



Date html generated: 2019_06_20-PM-01_04_41
Last ObjectModification: 2019_06_20-PM-01_01_23

Theory : call!by!value_2


Home Index