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