Nuprl Lemma : primrec-wf2

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


Proof




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

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



Date html generated: 2019_06_20-AM-11_27_39
Last ObjectModification: 2019_01_28-PM-05_27_21

Theory : call!by!value_2


Home Index