Nuprl Lemma : gammaFIM_fun

g,h: List  .
  (spr(g)
   (a: List. (((g a) = 0)  ((g (a @ [h a])) = 0)))
   ((g []) = 0)
   (f:  . x:.  (gammaFIM(mklist(x;f);g;h) = mklist(x;n.gammaFIM(mklist(n + 1;f);g;h)[n]))))


Proof




Definitions occuring in Statement :  gammaFIM: gammaFIM(a;g;h),  select: l[i],  append: as @ bs,  nat: ,  all: x:A. B[x],  implies: P  Q,  apply: f a,  lambda: x.A[x],  function: x:A  B[x],  add: n + m,  natural_number: $n,  equal: s = t,  mklist: mklist(n;f)
Definitions :  ge: i  j ,  primrec: primrec(n;b;c),  so_lambda: x.t[x],  false: False,  not: A,  le: A  B,  prop: ,  member: t  T,  mklist: mklist(n;f),  implies: P  Q,  nat: ,  all: x:A. B[x],  list_ind: Error :list_ind,  length: ||as||,  bfalse: ff,  btrue: tt,  it: ,  eq_int: (i = j),  ifthenelse: if b then t else f fi ,  gammaFIM: gammaFIM(a;g;h),  nil: Error :nil,  exists: x:A. B[x],  true: True,  squash: T,  int_seg: {i..j},  top: Top,  and: P  Q,  lelt: i  j < k,  iff: P  Q,  rev_implies: P  Q,  cand: A c B,  hd: hd(l),  so_apply: x[s],  uall: [x:A]. B[x],  unit: Unit,  bool: ,  uimplies: b supposing a,  sq_type: SQType(T),  or: P  Q,  bnot: b,  uiff: uiff(P;Q),  assert: b,  guard: {T},  nequal: a  b  T 
Lemmas :  ge_wf,  nat_properties,  spr_wf,  Error :cons_wf,  append_wf,  Error :list_wf,  all_wf,  le_wf,  Error :nil_wf,  equal_wf,  nat_wf,  Error :list_ind_reverse_unfold1,  bool_wf,  eq_int_wf,  gammaFIM_equi_length_mklist,  gammaFIM_equi_length,  gammaFIM_true,  gammaFIM_id,  base_sq,  ext-eq_weakening,  subtype_rel_weakening,  lelt_wf,  subtype_rel_sets,  int_seg_wf,  subtype_rel_dep_function,  subtype_rel_set_simple,  mklist_wf,  gammaFIM_wf,  select_wf,  gammaFIM_unfold,  mklist_length,  neg_assert_of_eq_int,  Error :assert-bnot,  bool_subtype_base,  subtype_base_sq,  bool_cases_sqequal,  eqff_to_assert,  assert_of_eq_int,  eqtt_to_assert,  Error :firstn-mklist1,  subtype_top,  top_wf,  subtype_rel_list,  Error :non_null_iff_length,  last_wf,  int_subtype_base,  mklist-add1,  true_wf,  squash_wf,  length_wf_nat,  length_cons,  length_wf_nil,  non_neg_length,  length_nil,  length_wf,  select_append_back,  select0,  and_wf
\mforall{}g,h:\mBbbN{}  List  {}\mrightarrow{}  \mBbbN{}.
    (spr(g)
    {}\mRightarrow{}  (\mforall{}a:\mBbbN{}  List.  (((g  a)  =  0)  {}\mRightarrow{}  ((g  (a  @  [h  a]))  =  0)))
    {}\mRightarrow{}  ((g  [])  =  0)
    {}\mRightarrow{}  (\mforall{}f:\mBbbN{}  {}\mrightarrow{}  \mBbbN{}.  \mforall{}x:\mBbbN{}.
                (gammaFIM(mklist(x;f);g;h)  =  mklist(x;\mlambda{}n.gammaFIM(mklist(n  +  1;f);g;h)[n]))))


Date html generated: 2013_03_20-AM-10_33_41
Last ObjectModification: 2013_03_11-PM-04_55_21

Home Index