Nuprl Lemma : hdf-state-base

[f,C,F,s:Top].
  (hdf-state((λx,s. f[x;s]) hdf-base(a.if C[a] then [F[a]] else [] fi );[s]) 
  fix((λmk-hdf,s. (inl a.cbva_seq(λn.if C[a] then f[F[a];s] else fi ; λg.<mk-hdf (g x.x)), x.[x])>1))))) s\000C)


Proof




Definitions occuring in Statement :  hdf-state: hdf-state(X;bs) hdf-compose1: X hdf-base: hdf-base(m.F[m]) cons: [a b] nil: [] ifthenelse: if then else fi  uall: [x:A]. B[x] top: Top so_apply: x[s1;s2] so_apply: x[s] apply: a fix: fix(F) lambda: λx.A[x] pair: <a, b> inl: inl x natural_number: $n sqequal: t cbva_seq: cbva_seq(L; F; m)
Definitions unfolded in proof :  uall: [x:A]. B[x] so_lambda: λ2x.t[x] member: t ∈ T top: Top so_apply: x[s] so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] nat: le: A ≤ B and: P ∧ Q less_than': less_than'(a;b) false: False not: ¬A implies:  Q prop: cbva_seq: cbva_seq(L; F; m) select_fun_last: select_fun_last(g;m) bag-map: bag-map(f;bs) mk_lambdas_fun: mk_lambdas_fun(F;m) select_fun_ap: select_fun_ap(g;n;m) subtract: m mk_lambdas: mk_lambdas(F;m) all: x:A. B[x] callbyvalueall_seq: callbyvalueall_seq(L;G;F;n;m) le_int: i ≤j lt_int: i <j bnot: ¬bb ifthenelse: if then else fi  btrue: tt bfalse: ff eq_int: (i =z j) mk_lambdas-fun: mk_lambdas-fun(F;G;n;m) ge: i ≥  uimplies: supposing a satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] decidable: Dec(P) or: P ∨ Q nat_plus: + subtype_rel: A ⊆B callbyvalueall: callbyvalueall evalall: evalall(t) cons: [a b] nil: [] it: empty-bag: {} bag-append: as bs append: as bs so_lambda: so_lambda(x,y,z.t[x; y; z]) so_apply: x[s1;s2;s3] has-valueall: has-valueall(a) bag-null: bag-null(bs) uiff: uiff(P;Q) has-value: (a)↓ bag-combine: x∈bs.f[x] bag-union: bag-union(bbs) concat: concat(ll) reduce: reduce(f;k;as) list_ind: list_ind map: map(f;as) null: null(as)

Latex:
\mforall{}[f,C,F,s:Top].
    (hdf-state((\mlambda{}x,s.  f[x;s])  o  hdf-base(a.if  C[a]  then  [F[a]]  else  []  fi  );[s]) 
    \msim{}  fix((\mlambda{}mk-hdf,s.  (inl  (\mlambda{}a.cbva\_seq(\mlambda{}n.if  C[a]  then  f[F[a];s]  else  s  fi  ;  \mlambda{}g.<mk-hdf  (g  (\mlambda{}x.x))
                                                                                                                                                              ,  g  (\mlambda{}x.[x])
                                                                                                                                                              >  1))))) 
        s)



Date html generated: 2016_05_16-AM-10_48_20
Last ObjectModification: 2016_01_17-AM-11_08_09

Theory : halting!dataflow


Home Index