Nuprl Lemma : gammaFIM_unfold

g,h: List  . a: List.
  (gammaFIM(a;g;h) ~ if (||a|| = 0) then []
  if (g (gammaFIM(firstn(||a|| - 1;a);g;h) @ [last(a)]) = 0) then gammaFIM(firstn(||a|| - 1;a);g;h) @ [last(a)]
  else gammaFIM(firstn(||a|| - 1;a);g;h) @ [h gammaFIM(firstn(||a|| - 1;a);g;h)]
  fi )


Proof




Definitions occuring in Statement :  gammaFIM: gammaFIM(a;g;h),  firstn: firstn(n;as),  length: ||as||,  append: as @ bs,  eq_int: (i = j),  ifthenelse: if b then t else f fi ,  nat: ,  all: x:A. B[x],  apply: f a,  function: x:A  B[x],  subtract: n - m,  natural_number: $n,  sqequal: s ~ t,  last: last(L)
Definitions :  all: x:A. B[x],  exists: x:A. B[x],  member: t  T,  ifthenelse: if b then t else f fi ,  gammaFIM: gammaFIM(a;g;h),  nat: ,  so_lambda: x.t[x],  implies: P  Q,  btrue: tt,  bfalse: ff,  sq_type: SQType(T),  uall: [x:A]. B[x],  uimplies: b supposing a,  so_apply: x[s],  bool: ,  unit: Unit,  assert: b,  uiff: uiff(P;Q),  and: P  Q,  bnot: b,  or: P  Q,  guard: {T},  false: False,  prop: ,  it:
Lemmas :  base_sq,  base_wf,  subtype_base_sq,  Error :list_wf,  nat_wf,  list_subtype_base,  set_subtype_base,  le_wf,  int_subtype_base,  Error :list_ind_reverse_unfold1,  Error :nil_wf,  eq_int_wf,  append_wf,  Error :cons_wf,  subtype_rel_set_simple,  bool_wf,  eqtt_to_assert,  assert_of_eq_int,  eqff_to_assert,  equal_wf,  bool_cases_sqequal,  bool_subtype_base,  Error :assert-bnot,  neg_assert_of_eq_int,  length_wf,  gammaFIM_wf,  firstn_wf,  subtype_rel_dep_function,  subtype_rel_weakening,  ext-eq_weakening,  last_wf,  Error :non_null_iff_length,  subtype_rel_list,  top_wf,  subtype_top,  non_neg_length,  length_wf_nat
\mforall{}g,h:\mBbbN{}  List  {}\mrightarrow{}  \mBbbN{}.  \mforall{}a:\mBbbN{}  List.
    (gammaFIM(a;g;h)  \msim{}  if  (||a||  =\msubz{}  0)  then  []
    if  (g  (gammaFIM(firstn(||a||  -  1;a);g;h)  @  [last(a)])  =\msubz{}  0)
        then  gammaFIM(firstn(||a||  -  1;a);g;h)  @  [last(a)]
    else  gammaFIM(firstn(||a||  -  1;a);g;h)  @  [h  gammaFIM(firstn(||a||  -  1;a);g;h)]
    fi  )


Date html generated: 2013_03_20-AM-10_33_05
Last ObjectModification: 2013_03_08-PM-11_32_12

Home Index