Nuprl Lemma : hdf-once-transformation2
∀[L,G,S,init:Top]. ∀[m:ℕ].
  (hdf-once(fix((λmk-hdf,s. (inl (λa.cbva_seq(L[s;a]; λg.<mk-hdf S[g;s], G[g]> m))))) init) 
  ~ fix((λmk-hdf,s. (inl (λa.cbva_seq(L[s;a]; λg.<case null(G[g]) of inl() => mk-hdf S[g;s] | inr() => inr Ax , G[g]>
                                      m))))) 
    init)
Proof
Definitions occuring in Statement : 
hdf-once: hdf-once(X)
, 
null: null(as)
, 
nat: ℕ
, 
uall: ∀[x:A]. B[x]
, 
top: Top
, 
so_apply: x[s1;s2]
, 
so_apply: x[s]
, 
apply: f a
, 
fix: fix(F)
, 
lambda: λx.A[x]
, 
pair: <a, b>
, 
decide: case b of inl(x) => s[x] | inr(y) => t[y]
, 
inr: inr x 
, 
inl: inl x
, 
sqequal: s ~ t
, 
axiom: Ax
, 
cbva_seq: cbva_seq(L; F; m)
Lemmas : 
lifting-strict-decide, 
has-value_wf_base, 
base_wf, 
is-exception_wf, 
top_wf, 
lifting-strict-spread, 
strict4-spread, 
cbva_seq-spread, 
nat_properties, 
less_than_transitivity1, 
less_than_irreflexivity, 
ge_wf, 
less_than_wf, 
nat_wf, 
strictness-apply, 
lifting-strict-ispair, 
lifting-strict-isaxiom, 
lifting-strict-less, 
strictness-decide, 
bottom-sqle, 
decidable__le, 
subtract_wf, 
false_wf, 
not-ge-2, 
less-iff-le, 
condition-implies-le, 
minus-one-mul, 
zero-add, 
minus-add, 
minus-minus, 
add-associates, 
add-swap, 
add-commutes, 
add_functionality_wrt_le, 
add-zero, 
le-add-cancel, 
fun_exp_unroll, 
le_weakening2, 
le_wf, 
eq_int_wf, 
bool_wf, 
eqtt_to_assert, 
assert_of_eq_int, 
le_weakening, 
eqff_to_assert, 
equal_wf, 
bool_cases_sqequal, 
subtype_base_sq, 
bool_subtype_base, 
assert-bnot, 
neg_assert_of_eq_int, 
bottom_diverge, 
exception-not-bottom, 
subtract-elim
\mforall{}[L,G,S,init:Top].  \mforall{}[m:\mBbbN{}].
    (hdf-once(fix((\mlambda{}mk-hdf,s.  (inl  (\mlambda{}a.cbva\_seq(L[s;a];  \mlambda{}g.<mk-hdf  S[g;s],  G[g]>  m)))))  init) 
    \msim{}  fix((\mlambda{}mk-hdf,s.  (inl  (\mlambda{}a.cbva\_seq(L[s;a];  \mlambda{}g.<case  null(G[g])
                                                                                                      of  inl()  =>
                                                                                                      mk-hdf  S[g;s]
                                                                                                      |  inr()  =>
                                                                                                      inr  Ax 
                                                                                                  ,  G[g]
                                                                                                  >  m))))) 
        init)
Date html generated:
2015_07_17-AM-08_15_26
Last ObjectModification:
2015_06_19-PM-00_53_22
Home
Index