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