Nuprl Lemma : primtailrec-unroll

[n:ℤ]. ∀[b,c:Top].  (primtailrec(n;0;b;c) if n <then else (n 1) primtailrec(n 1;0;b;c) fi )


Proof




Definitions occuring in Statement :  primtailrec: primtailrec(n;i;b;f) ifthenelse: if then else fi  lt_int: i <j uall: [x:A]. B[x] top: Top apply: a subtract: m natural_number: $n int: sqequal: t
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T all: x:A. B[x] implies:  Q bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) and: P ∧ Q uimplies: supposing a ifthenelse: if then else fi  primtailrec: primtailrec(n;i;b;f) less_than: a < b less_than': less_than'(a;b) top: Top true: True squash: T not: ¬A false: False bfalse: ff exists: x:A. B[x] or: P ∨ Q sq_type: SQType(T) guard: {T} bnot: ¬bb assert: b iff: ⇐⇒ Q rev_implies:  Q gt: i > j nat: ge: i ≥  le: A ≤ B cand: c∧ B prop: subtract: m has-value: (a)↓ decidable: Dec(P)
Lemmas referenced :  lt_int_wf eqtt_to_assert assert_of_lt_int istype-void eqff_to_assert bool_cases_sqequal subtype_base_sq bool_wf bool_subtype_base iff_transitivity iff_weakening_uiff assert_of_bnot assert_wf bnot_wf not_wf less_than_wf istype-less_than istype-assert not-gt-2 istype-top istype-int nat_properties less_than_transitivity1 less_than_irreflexivity ge_wf subtract-1-ge-0 istype-nat value-type-has-value int-value-type zero-add subtract-add-cancel less-iff-le condition-implies-le minus-add minus-one-mul add-swap minus-one-mul-top add-associates add-commutes add_functionality_wrt_le add-zero le-add-cancel2 add-subtract-cancel int_subtype_base subtract_wf decidable__le istype-false not-le-2 minus-minus le-add-cancel istype-le
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :isect_memberFormation_alt,  introduction cut extract_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality natural_numberEquality hypothesis Error :inhabitedIsType,  Error :lambdaFormation_alt,  unionElimination equalityElimination equalityTransitivity equalitySymmetry productElimination independent_isectElimination sqequalRule because_Cache lessCases axiomSqEquality Error :isect_memberEquality_alt,  Error :isectIsTypeImplies,  independent_pairFormation voidElimination imageMemberEquality baseClosed imageElimination independent_functionElimination Error :dependent_pairFormation_alt,  Error :equalityIstype,  promote_hyp dependent_functionElimination instantiate cumulativity callbyvalueReduce sqleReflexivity Error :functionIsType,  setElimination rename intWeakElimination Error :universeIsType,  Error :lambdaEquality_alt,  Error :functionIsTypeImplies,  intEquality addEquality minusEquality Error :dependent_set_memberEquality_alt

Latex:
\mforall{}[n:\mBbbZ{}].  \mforall{}[b,c:Top].
    (primtailrec(n;0;b;c)  \msim{}  if  n  <z  1  then  b  else  c  (n  -  1)  primtailrec(n  -  1;0;b;c)  fi  )



Date html generated: 2019_06_20-AM-11_27_28
Last ObjectModification: 2019_01_28-PM-05_02_19

Theory : call!by!value_2


Home Index