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