Nuprl Lemma : callbyvalueall_seq-extend

[F,G,L,K:Top]. ∀[m:ℕ]. ∀[n:ℕ1].
  (callbyvalueall_seq(L;λf.mk_applies(f;K;n);λg.let x ⟵ F[g]
                                                in G[g;x];n;m) callbyvalueall_seq(λn.if (n =z m)
                                                                                       then mk_lambdas_fun(λg.F[g];m)
                                                                                       else n
                                                                                       fi f.mk_applies(f;K;n)
                                                                                   g.G[partial_ap(g;m
                                                                                       1;m);select_fun_ap(g;m 1;m)]
                                                                                   ;n;m 1))


Proof




Definitions occuring in Statement :  mk_applies: mk_applies(F;G;m) select_fun_ap: select_fun_ap(g;n;m) partial_ap: partial_ap(g;n;m) mk_lambdas_fun: mk_lambdas_fun(F;m) callbyvalueall_seq: callbyvalueall_seq(L;G;F;n;m) int_seg: {i..j-} nat: callbyvalueall: callbyvalueall ifthenelse: if then else fi  eq_int: (i =z j) uall: [x:A]. B[x] top: Top so_apply: x[s1;s2] so_apply: x[s] apply: a lambda: λx.A[x] add: m natural_number: $n sqequal: t
Definitions unfolded in proof :  exists: x:A. B[x] member: t ∈ T nat: uall: [x:A]. B[x] int_seg: {i..j-} guard: {T} ge: i ≥  lelt: i ≤ j < k and: P ∧ Q all: x:A. B[x] decidable: Dec(P) or: P ∨ Q uimplies: supposing a not: ¬A implies:  Q satisfiable_int_formula: satisfiable_int_formula(fmla) false: False top: Top prop: sq_type: SQType(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 nequal: a ≠ b ∈  partial_ap: partial_ap(g;n;m) mk_lambdas: mk_lambdas(F;m) mk_applies: mk_applies(F;G;m) lt_int: i <j subtract: m select_fun_ap: select_fun_ap(g;n;m) nat_plus: + le: A ≤ B iff: ⇐⇒ Q rev_implies:  Q subtype_rel: A ⊆B less_than': less_than'(a;b) true: True
Lemmas referenced :  subtract_wf int_seg_properties nat_properties decidable__le full-omega-unsat intformand_wf intformnot_wf intformle_wf itermConstant_wf itermSubtract_wf itermVar_wf intformless_wf itermAdd_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_less_lemma int_term_value_add_lemma int_formula_prop_wf le_wf decidable__equal_int intformeq_wf int_formula_prop_eq_lemma equal_wf subtype_base_sq int_subtype_base ge_wf less_than_wf int_seg_wf nat_wf top_wf add-zero le_int_wf bool_wf eqtt_to_assert assert_of_le_int eqff_to_assert bool_cases_sqequal bool_subtype_base assert-bnot eq_int_wf assert_of_eq_int neg_assert_of_eq_int mk_applies_lambdas_fun0 primrec1_lemma mk_applies_lambdas_fun1 decidable__lt lelt_wf primrec-unroll primrec0_lemma mk_applies_fun mk_applies_lambdas1 mk_applies_roll 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 le-add-cancel add-subtract-cancel assert_wf bnot_wf not_wf equal-wf-base mk_applies_unroll bool_cases iff_transitivity iff_weakening_uiff assert_of_bnot
Rules used in proof :  cut sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity dependent_pairFormation dependent_set_memberEquality introduction extract_by_obid sqequalHypSubstitution isectElimination thin setElimination rename because_Cache hypothesis hypothesisEquality natural_numberEquality addEquality productElimination dependent_functionElimination unionElimination independent_isectElimination approximateComputation independent_functionElimination lambdaEquality int_eqEquality intEquality isect_memberEquality voidElimination voidEquality sqequalRule independent_pairFormation instantiate cumulativity equalityTransitivity equalitySymmetry intWeakElimination lambdaFormation sqequalAxiom isect_memberFormation equalityElimination promote_hyp applyEquality minusEquality baseApply closedConclusion baseClosed impliesFunctionality

Latex:
\mforall{}[F,G,L,K:Top].  \mforall{}[m:\mBbbN{}].  \mforall{}[n:\mBbbN{}m  +  1].
    (callbyvalueall\_seq(L;\mlambda{}f.mk\_applies(f;K;n);\mlambda{}g.let  x  \mleftarrow{}{}  F[g]
                                                                                                in  G[g;x];n;m) 
    \msim{}  callbyvalueall\_seq(\mlambda{}n.if  (n  =\msubz{}  m)  then  mk\_lambdas\_fun(\mlambda{}g.F[g];m)  else  L  n  fi 
                                            ;\mlambda{}f.mk\_applies(f;K;n);\mlambda{}g.G[partial\_ap(g;m  +  1;m);select\_fun\_ap(g;m  +  1;m)];n;m
                                            +  1))



Date html generated: 2018_05_21-PM-06_23_43
Last ObjectModification: 2018_05_19-PM-05_32_11

Theory : untyped!computation


Home Index