Nuprl Lemma : callbyvalueall_seq-shift-init

[L,F,K:Top]. ∀[m,n,p,q:ℕ].
  (callbyvalueall_seq(L;λf.mk_applies(f;K;p q);F;n;m) 
  callbyvalueall_seq(λi.mk_applies(L i;K;p);λf.mk_applies(f;λi.(K (p i));q);λg.(F f.(g mk_applies(f;K;p))));n;m))


Proof




Definitions occuring in Statement :  mk_applies: mk_applies(F;G;m) callbyvalueall_seq: callbyvalueall_seq(L;G;F;n;m) nat: uall: [x:A]. B[x] top: Top apply: a lambda: λx.A[x] add: m sqequal: t
Definitions unfolded in proof :  all: x:A. B[x] member: t ∈ T nat: decidable: Dec(P) or: P ∨ Q exists: x:A. B[x] uall: [x:A]. B[x] ge: i ≥  uimplies: supposing a satisfiable_int_formula: satisfiable_int_formula(fmla) false: False implies:  Q not: ¬A top: Top and: P ∧ Q prop: sq_type: SQType(T) guard: {T} callbyvalueall_seq: callbyvalueall_seq(L;G;F;n;m) bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) ifthenelse: if then else fi  bfalse: ff bnot: ¬bb assert: b nat_plus: + int_seg: {i..j-} lelt: i ≤ j < k iff: ⇐⇒ Q rev_implies:  Q le: A ≤ B subtract: m subtype_rel: A ⊆B less_than': less_than'(a;b) true: True nequal: a ≠ b ∈ 
Lemmas referenced :  decidable__le subtract_wf nat_properties satisfiable-full-omega-tt intformand_wf intformnot_wf intformle_wf itermConstant_wf itermSubtract_wf itermVar_wf int_formula_prop_and_lemma int_formula_prop_not_lemma int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_subtract_lemma int_term_value_var_lemma int_formula_prop_wf le_wf decidable__equal_int intformeq_wf itermAdd_wf int_formula_prop_eq_lemma int_term_value_add_lemma equal_wf subtype_base_sq int_subtype_base intformless_wf int_formula_prop_less_lemma ge_wf less_than_wf nat_wf le_int_wf bool_wf eqtt_to_assert assert_of_le_int mk_applies_split eqff_to_assert bool_cases_sqequal bool_subtype_base assert-bnot top_wf mk_applies_unroll decidable__lt eq_int_wf mk_applies_fun lelt_wf assert_wf bnot_wf not_wf bool_cases assert_of_eq_int iff_transitivity iff_weakening_uiff assert_of_bnot false_wf not-lt-2 condition-implies-le minus-add minus-one-mul zero-add minus-one-mul-top add-commutes add_functionality_wrt_le add-associates add-zero le-add-cancel add-subtract-cancel mk_applies_fun2 neg_assert_of_eq_int
Rules used in proof :  cut introduction extract_by_obid sqequalHypSubstitution sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity dependent_functionElimination thin setElimination rename hypothesisEquality hypothesis unionElimination dependent_pairFormation dependent_set_memberEquality isectElimination because_Cache natural_numberEquality independent_isectElimination lambdaEquality int_eqEquality intEquality isect_memberEquality voidElimination voidEquality sqequalRule independent_pairFormation computeAll addEquality productElimination instantiate cumulativity equalityTransitivity equalitySymmetry independent_functionElimination intWeakElimination lambdaFormation sqequalAxiom equalityElimination promote_hyp isect_memberFormation impliesFunctionality applyEquality minusEquality

Latex:
\mforall{}[L,F,K:Top].  \mforall{}[m,n,p,q:\mBbbN{}].
    (callbyvalueall\_seq(L;\mlambda{}f.mk\_applies(f;K;p  +  q);F;n;m) 
    \msim{}  callbyvalueall\_seq(\mlambda{}i.mk\_applies(L  i;K;p);\mlambda{}f.mk\_applies(f;\mlambda{}i.(K  (p  +  i));q)
                                            ;\mlambda{}g.(F  (\mlambda{}f.(g  mk\_applies(f;K;p))));n;m))



Date html generated: 2017_10_01-AM-08_41_59
Last ObjectModification: 2017_07_26-PM-04_28_53

Theory : untyped!computation


Home Index