Nuprl Lemma : simple-cbva-seq-combine

[F,L1,L2:Top]. ∀[m1,m2:ℕ+].
  (simple-cbva-seq(L1;λout.simple-cbva-seq(L2[out];F;m2);m1) simple-cbva-seq(λn.if n <m1
                                                                                  then L1 n
                                                                                  else mk_lambdas(λout.(L2[out] 
                                                                                                        (n m1));m1 
                                                                                       1)
                                                                                  fi ;F;m1 m2))


Proof




Definitions occuring in Statement :  simple-cbva-seq: simple-cbva-seq(L;F;m) mk_lambdas: mk_lambdas(F;m) nat_plus: + ifthenelse: if then else fi  lt_int: i <j uall: [x:A]. B[x] top: Top so_apply: x[s] apply: a lambda: λx.A[x] subtract: m add: m natural_number: $n sqequal: t
Definitions unfolded in proof :  simple-cbva-seq: simple-cbva-seq(L;F;m) cbva-seq: cbva-seq(L;F;m) member: t ∈ T uall: [x:A]. B[x] nat_plus: + 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  bfalse: ff exists: x:A. B[x] prop: or: P ∨ Q sq_type: SQType(T) guard: {T} bnot: ¬bb assert: b false: False nequal: a ≠ b ∈  not: ¬A satisfiable_int_formula: satisfiable_int_formula(fmla) top: Top nat: le: A ≤ B less_than': less_than'(a;b) subtype_rel: A ⊆B decidable: Dec(P) so_lambda: λ2x.t[x] so_apply: x[s]
Lemmas referenced :  eq_int_wf bool_wf eqtt_to_assert assert_of_eq_int eqff_to_assert equal_wf bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot neg_assert_of_eq_int nat_plus_properties full-omega-unsat intformand_wf intformeq_wf itermVar_wf itermConstant_wf intformless_wf int_formula_prop_and_lemma int_formula_prop_eq_lemma int_term_value_var_lemma int_term_value_constant_lemma int_formula_prop_less_lemma int_formula_prop_wf itermAdd_wf int_term_value_add_lemma false_wf le_wf nat_plus_subtype_nat decidable__le intformnot_wf intformle_wf int_formula_prop_not_lemma int_formula_prop_le_lemma callbyvalueall_seq-seq callbyvalueall_seq-combine0 mk_lambdas_compose subtract_wf itermSubtract_wf int_term_value_subtract_lemma int_subtype_base decidable__equal_int nat_plus_wf top_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity sqequalRule cut introduction extract_by_obid sqequalHypSubstitution isectElimination thin setElimination rename hypothesisEquality hypothesis natural_numberEquality lambdaFormation unionElimination equalityElimination equalityTransitivity equalitySymmetry productElimination independent_isectElimination addEquality because_Cache dependent_pairFormation promote_hyp dependent_functionElimination instantiate cumulativity independent_functionElimination voidElimination approximateComputation lambdaEquality int_eqEquality intEquality isect_memberEquality voidEquality independent_pairFormation dependent_set_memberEquality applyEquality isect_memberFormation sqequalAxiom

Latex:
\mforall{}[F,L1,L2:Top].  \mforall{}[m1,m2:\mBbbN{}\msupplus{}].
    (simple-cbva-seq(L1;\mlambda{}out.simple-cbva-seq(L2[out];F;m2);m1) 
    \msim{}  simple-cbva-seq(\mlambda{}n.if  n  <z  m1  then  L1  n  else  mk\_lambdas(\mlambda{}out.(L2[out]  (n  -  m1));m1  -  1)  fi  ;F;m1
    +  m2))



Date html generated: 2018_05_21-PM-06_23_49
Last ObjectModification: 2018_05_19-PM-05_32_05

Theory : untyped!computation


Home Index