Nuprl Lemma : primrec-wf-int_seg

[a,b:ℤ].
  ∀[P:{a..b-} ⟶ ℙ]. ∀[init:P[a]]. ∀[s:∀n:ℕa. (P[a n]  P[a 1])]. ∀[n:{a..b-}].
    (primrec(n a;init;s) ∈ P[n]) 
  supposing a < b


Proof




Definitions occuring in Statement :  primrec: primrec(n;b;c) int_seg: {i..j-} less_than: a < b uimplies: supposing a uall: [x:A]. B[x] prop: so_apply: x[s] all: x:A. B[x] implies:  Q member: t ∈ T 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 uimplies: supposing a all: x:A. B[x] nat: implies:  Q false: False and: P ∧ Q ge: i ≥  le: A ≤ B cand: c∧ B less_than: a < b squash: T guard: {T} prop: top: Top bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) ifthenelse: if then else fi  sq_type: SQType(T) bfalse: ff exists: x:A. B[x] or: P ∨ Q 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] int_seg: {i..j-} lelt: i ≤ j < k decidable: Dec(P) sq_stable: SqStable(P) nat_plus: +
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 subtype_base_sq int_subtype_base add-zero subtract_wf 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_seg_wf not-lt-2 subtract-1-ge-0 subtype_rel-equal less-iff-le add_functionality_wrt_le add-associates add-commutes le-add-cancel2 decidable__le istype-false not-le-2 condition-implies-le minus-one-mul zero-add minus-one-mul-top minus-add minus-minus add-swap le-add-cancel decidable__lt le-add-cancel-alt istype-le subtype_rel_function le_weakening2 subtype_rel_self istype-nat subtract_nat_wf sq_stable__le add-mul-special one-mul zero-mul add-member-int_seg1 le_reflexive istype-int sq_stable__and le_wf sq_stable__less_than member-less_than add-is-int-iff two-mul mul-distributes-right omega-shadow mul-associates mul-distributes mul-swap mul-commutes
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :isect_memberFormation_alt,  introduction cut Error :lambdaFormation_alt,  extract_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality hypothesis setElimination rename intWeakElimination independent_pairFormation productElimination imageElimination natural_numberEquality independent_isectElimination independent_functionElimination voidElimination Error :universeIsType,  sqequalRule Error :lambdaEquality_alt,  dependent_functionElimination axiomEquality equalityTransitivity equalitySymmetry Error :functionIsTypeImplies,  Error :inhabitedIsType,  because_Cache Error :isect_memberEquality_alt,  unionElimination equalityElimination instantiate cumulativity intEquality Error :dependent_pairFormation_alt,  Error :equalityIstype,  promote_hyp Error :functionIsType,  applyEquality functionExtensionality closedConclusion addEquality Error :dependent_set_memberEquality_alt,  minusEquality Error :productIsType,  imageMemberEquality baseClosed multiplyEquality Error :isectIsTypeImplies,  universeEquality baseApply

Latex:
\mforall{}[a,b:\mBbbZ{}].
    \mforall{}[P:\{a..b\msupminus{}\}  {}\mrightarrow{}  \mBbbP{}].  \mforall{}[init:P[a]].  \mforall{}[s:\mforall{}n:\mBbbN{}b  -  1  -  a.  (P[a  +  n]  {}\mRightarrow{}  P[a  +  n  +  1])].  \mforall{}[n:\{a..b\msupminus{}\}].
        (primrec(n  -  a;init;s)  \mmember{}  P[n]) 
    supposing  a  <  b



Date html generated: 2019_06_20-AM-11_27_36
Last ObjectModification: 2019_01_28-PM-05_23_48

Theory : call!by!value_2


Home Index