Nuprl Lemma : defined-by-rec-comb-loc-program

[Info:Type]. [B:{A:Type| valueall-type(A)} ]. [Ps:eclass-program{i:l}(Info) List].
  [F:Id  k:||Ps||  bag(eclass-program-type(Ps[k]))  bag(B)  bag(B)]
    defined-class(rec-comb-loc-program(F;B;Ps)) = F|Loc, k.defined-class(Ps[k]), Prior(self)| 
    supposing x:Id. buf:bag(B).  ((F x (k.{}) buf) = {}) 
  supposing 0 < ||Ps||


Proof not projected




Definitions occuring in Statement :  rec-comb-loc-program: rec-comb-loc-program(F;B;Ps),  defined-class: defined-class(prg),  eclass-program-type: eclass-program-type(prg),  eclass-program: eclass-program{i:l}(Info),  rec-combined-loc-class: f|Loc, X, Prior(self)|,  eclass: EClass(A[eo; e]),  Id: Id,  select: l[i],  length: ||as||,  int_seg: {i..j},  uimplies: b supposing a,  uall: [x:A]. B[x],  all: x:A. B[x],  less_than: a < b,  set: {x:A| B[x]} ,  apply: f a,  lambda: x.A[x],  function: x:A  B[x],  list: type List,  natural_number: $n,  universe: Type,  equal: s = t,  empty-bag: {},  bag: bag(T),  valueall-type: valueall-type(T)
Definitions :  AssertBY: Error :AssertBY,  all: x:A. B[x],  int_seg: {i..j},  natural_number: $n,  length: ||as||,  implies: P  Q,  l_member: (x  l),  union-list2: union-list2(eq;ll),  id-deq: IdDeq,  map: map(f;as),  lambda: x.A[x],  Id: Id,  fpf-domain: fpf-domain(f),  eclass-program-flows: eclass-program-flows(p),  select: l[i],  MaAuto: Error :MaAuto,  RepUR: Error :RepUR,  CollapseTHEN: Error :CollapseTHEN,  CollapseTHENA: Error :CollapseTHENA,  Auto: Error :Auto,  isect: x:A. B[x],  eclass-program: eclass-program{i:l}(Info),  eclass-program-type: eclass-program-type(prg),  bag: bag(T),  function: x:A  B[x],  member: t  T,  uall: [x:A]. B[x],  less_than: a < b,  prop: ,  uimplies: b supposing a,  list: type List,  universe: Type,  equal: s = t,  eclass: EClass(A[eo; e]),  defined-class: defined-class(prg),  rec-comb-loc-program: rec-comb-loc-program(F;B;Ps),  rec-combined-loc-class: f|Loc, X, Prior(self)|,  axiom: Ax,  so_lambda: x y.t[x; y],  subtype_rel: A r B,  uiff: uiff(P;Q),  and: P  Q,  product: x:A  B[x],  not: A,  ge: i  j ,  le: A  B,  strong-subtype: strong-subtype(A;B),  fpf: a:A fp-> B[a],  pair: <a, b>,  apply: f a,  top: Top,  limited-type: LimitedType,  empty-bag: {},  int: ,  subtype: S  T,  rationals: ,  real: ,  set: {x:A| B[x]} ,  false: False,  void: Void,  lelt: i  j < k,  exists: x:A. B[x],  cand: A c B,  nat: ,  atom: Atom$n,  dataflow-program: DataflowProgram(A),  df-program-type: df-program-type(dfp),  so_lambda: x.t[x],  iff: P  Q,  rev_implies: P  Q,  combination: Combination(n;T),  listp: A List,  bool: ,  fpf-join: f  g,  fpf-single: x : v,  fpf-cap: f(x)?z,  mk_fpf: mk_fpf(L;f),  fpf-dom: x  dom(f),  fpf_ap_pair: fpf_ap_pair{fpf_ap_pair_compseq_tag_def:o}(x; eq; f; d),  spread: spread def,  dataflow-set-class: dataflow-set-class(x.P[x]),  df-program-meaning: df-program-meaning(dfp),  ifthenelse: if b then t else f fi ,  deq-member: deq-member(eq;x;L),  fpf-ap: f(x),  null-df-program: null-df-program(B),  dataflow: dataflow(A;B),  corec: corec(T.F[T]),  es-E-interface: E(X),  union: left + right,  unit: Unit,  bnot: b,  assert: b,  bor: p q,  band: p  q,  bimplies: p  q,  es-ble: e loc e',  es-bless: e <loc e',  es-eq-E: e = e',  eq_lnk: a = b,  eq_id: a = b,  deq-all-disjoint: deq-all-disjoint(eq;ass;bs),  deq-disjoint: deq-disjoint(eq;as;bs),  btrue: tt,  bfalse: ff,  sq_type: SQType(T),  guard: {T},  deq: EqDecider(T),  le_int: i z j,  lt_int: i <z j,  nil: [],  cons: [car / cdr],  or: P  Q,  so_apply: x[s],  event-ordering+: EO+(Info),  es-E: E,  event_ordering: EO,  quotient: x,y:A//B[x; y],  decide: case b of inl(x) => s[x] | inr(y) => t[y],  true: True,  eqof: eqof(d),  pi1: fst(t),  class-program: ClassProgram(T),  squash: T,  feedback-df-program: feedback-df-program(B;F;buf;P;dfps),  bag-size: bag-size(bs),  tactic: Error :tactic,  upto: upto(n),  better-feedback-dataflow: better-feedback-dataflow(n;ds;F;s;x.P[x]),  constant-dataflow: constant-dataflow(b),  Knd: Knd,  locl: locl(a),  rcv: rcv(l,tg),  ma-state: State(ds),  fpf-sub: f  g,  b-union: A  B,  isect2: T1  T2,  fset: FSet{T},  record: record(x.T[x]),  record+: record+,  tag-by: zT,  grp_car: |g|,  dep-isect: Error :dep-isect,  eq_atom: eq_atom$n(x;y),  eq_atom: x =a y,  record-select: r.x,  es-loc: loc(e),  same-thread: same-thread(es;p;e;e'),  decidable: Dec(P),  collect-event: collect-event(es;X;n;v.num[v];L.P[L];e),  cut-order: a (X;f) b,  path-goes-thru: x-f*-y thru i,  es-r-immediate-pred: es-r-immediate-pred(es;R;e';e),  es-fset-loc: i  locs(s),  existse-between3: e(e1,e2].P[e],  existse-between2: e[e1,e2].P[e],  alle-between2: e[e1,e2].P[e],  existse-between1: e[e1,e2).P[e],  alle-between1: e[e1,e2).P[e],  alle-le: ee'.P[e],  alle-lt: e<e'.P[e],  existse-le: ee'.P[e],  existse-before: e<e'.P[e],  es-causle: e c e',  es-le: e loc e' ,  es-locl: (e <loc e'),  es-causl: (e < e'),  infix_ap: x f y,  cs-precondition: state s may consider v in inning i,  cs-archive-blocked: in state s, ws' blocks ws from archiving v in inning i,  cs-inning-committable: in state s, inning i could commit v ,  cs-inning-committed: in state s, inning i has committed v,  cs-passed: by state s, a passed inning i without archiving a value,  cs-archived: by state s, a archived v in inning i,  cs-not-completed: in state s, a has not completed inning i,  l_disjoint: l_disjoint(T;l1;l2),  fset-closed: (s closed under fs),  f-subset: xs  ys,  fset-member: a  s,  p-outcome: Outcome,  i-closed: i-closed(I),  i-finite: i-finite(I),  sq_exists: x:{A| B[x]},  q-rel: q-rel(r;x),  qless: r < s,  qle: r  s,  fun-connected: y is f*(x),  l_all: (xL.P[x]),  l_exists: (xL. P[x]),  prime: prime(a),  reducible: reducible(a),  inject: Inj(A;B;f),  cmp-le: cmp-le(cmp;x;y),  l_contains: A  B,  consensus-rcv: consensus-rcv(V;A),  consensus-state3: consensus-state3(T),  MaName: MaName,  IdLnk: IdLnk,  primed-class: Prior(X),  strongwellfounded: SWellFounded(R[x; y]),  subtract: n - m,  add: n + m,  minus: -n,  sqequal: s ~ t,  atom: Atom,  es-before: before(e),  es-info: info(e),  append: as @ bs,  data-stream: data-stream(P;L),  filter: filter(P;l),  null: null(as),  last: last(L),  es-le-before: loc(e),  dataflow-history-val: dataflow-history-val(es;e;x.P[x]),  base: Base,  D: Error :D,  iterate-dataflow: P*(inputs),  dataflow-ap: df(a),  pi2: snd(t),  data_stream_nil: data_stream_nil{data_stream_nil_compseq_tag_def:o}(P),  suptype: suptype(S; T),  permutation: permutation(T;L1;L2),  equiv_rel: EquivRel(T;x,y.E[x; y]),  trans: Trans(T;x,y.E[x; y]),  sym: Sym(T;x,y.E[x; y]),  refl: Refl(T;x,y.E[x; y]),  intensional-universe: IType,  firstn: firstn(n;as),  iter_df_nil: iter_df_nil{iter_df_nil_compseq_tag_def:o}(P),  iter_df_cons: iter_df_cons{iter_df_cons_compseq_tag_def:o}(as; a; P),  hd: hd(l),  tl: tl(l),  rec_dataflow_ap: rec_dataflow_ap{rec_dataflow_ap_compseq_tag_def:o}(a; v21,v22.next[v21; v22]; s0),  eval-parallel-dataflow: eval-parallel-dataflow(n;s;m),  dataflow-out: dataflow-out(df;a),  primrec: primrec(n;b;c),  rec-dataflow: rec-dataflow(s0;s,m.next[s; m]),  let: let,  q_le: q_le(r;s),  q_less: q_less(r;s),  qeq: qeq(r;s),  eq_type: eq_type(T;T'),  b-exists: (i<n.P[i])_b,  bl-exists: (xL.P[x])_b,  bl-all: (xL.P[x])_b,  dcdr-to-bool: [d],  grp_blt: a < b,  set_blt: a < b,  eq_int: (i = j),  es-interface-prior-vals: X(e),  token: "$token",  es-base-E: es-base-E(es),  RepeatFor: Error :RepeatFor,  rev_uimplies: rev_uimplies(P;Q),  label: ...$L... t,  es-first: first(e),  eq_bool: p =b q,  es-pred: pred(e),  causal-predecessor: causal-predecessor(es;p),  es-p-locl: e p< e',  es-p-le: e p e',  name_eq: name_eq(x;y),  compose: f o g,  sq_stable: SqStable(P),  gt: i > j,  multiply: n * m,  iseg: l1  l2,  proper-iseg: L1 < L2,  list_ind: list_ind def,  it: ,  inr: inr x 
Lemmas :  it_wf,  equal-nil-sq-nil,  pos-length,  feedback-df-program-type,  sq_stable__subtype_rel,  length-map-sq,  list_extensionality,  map-map,  select_upto,  int_subtype_base,  select-map,  feedback-df-program-meaning,  dataflow-history-val_wf,  feedback-df-program_wf,  length_upto,  constant-data-stream,  es-le_weakening,  es-locl_transitivity2,  es-pred-locl,  es-loc-pred,  es-le-loc,  es-causl_transitivity2,  es-causle_weakening_locl,  es-pred-causl,  es-pred_wf,  es-first_wf,  primed-class-cases,  nat_ind_tp,  guard_wf,  primed-class_wf,  last-map,  data-stream-null-df-program,  length_append,  length_cons,  non_neg_length,  length_nil,  length-data-stream,  length-map,  non_null_iff_length,  iff_wf,  rev_implies_wf,  bfalse_wf,  es-le-before-not-null,  es-le_wf,  es-le-before_wf2,  null-map,  member_null,  null-data-stream,  es-base-E_wf,  es-le-before_wf,  subtype_rel_list,  list-subtype,  not_functionality_wrt_uiff,  assert_of_null,  last-cons,  pos_length2,  null_wf3,  filter_wf,  le_int_wf,  assert_of_le_int,  bnot_of_lt_int,  assert_functionality_wrt_uiff,  assert_of_lt_int,  uiff_transitivity,  append_wf,  last_wf,  Error :pi1_wf,  iterate-dataflow_wf,  rec-dataflow_wf,  eval-parallel-dataflow_wf,  dataflow-out_wf,  isect_subtype_base,  primrec_wf,  product_subtype_base,  Error :pi2_wf,  dataflow-ap_wf,  eval-parallel-dataflow-property,  firstn_wf,  upto_wf,  inject_wf,  intensional-universe_wf,  refl_wf,  sym_wf,  trans_wf,  equiv_rel_wf,  quotient_wf,  permutation_wf,  subtype_rel_function,  last_append,  data-stream_wf,  data-stream-cons,  data-stream-append,  es-info_wf,  es-before_wf,  es-before_wf3,  map_append_sq,  prior-dataflow-set-class,  atom2_subtype_base,  primed-class-equal,  es-locl_wf,  es-causl_wf,  le_wf,  es-causl-swellfnd,  nat_properties,  ge_wf,  es-loc_wf,  decidable__equal_Id,  decidable__l_member,  constant-dataflow_wf,  bag-size_wf,  lt_int_wf,  eclass-ext,  better-feedback-dataflow_wf,  unit_wf,  pi1_wf_top,  subtype_rel_bag,  bool_cases,  subtype_base_sq,  bool_subtype_base,  int_seg_properties,  null-df-program_wf,  event-ordering+_inc,  rec-combined-loc-class_wf,  squash_wf,  subtype_rel_self,  dataflow_subtype,  false_wf,  fpf-dom_wf,  true_wf,  member-fpf-dom,  es-interface-top,  event-ordering+_wf,  es-E_wf,  df-program-meaning_wf_null,  deq-member_wf,  fpf-domain_wf2,  bnot_wf,  not_functionality_wrt_iff,  assert_of_bnot,  eqff_to_assert,  not_wf,  assert-deq-member,  eqtt_to_assert,  iff_weakening_uiff,  assert_wf,  iff_transitivity,  bool_wf,  dataflow_wf,  dataflow-set-class_wf,  ifthenelse_wf,  fpf-ap_wf,  df-program-meaning_wf,  union-list2_wf,  select_member,  length_wf_nat,  member_map,  map_wf,  id-deq_wf,  member-union-list2,  df-program-type_wf,  fpf-trivial-subtype-top,  subtype_rel_wf,  member_wf,  top_wf,  fpf_wf,  dataflow-program_wf,  eclass-program-flows_wf,  fpf-domain_wf,  nat_wf,  l_member_wf,  Error :eclass_wf,  rec-comb-loc-program_wf,  defined-class_wf,  bag_wf,  eclass-program-type_wf,  select_wf,  empty-bag_wf,  Id_wf,  int_seg_wf,  eclass-program_wf,  length_wf

\mforall{}[Info:Type].  \mforall{}[B:\{A:Type|  valueall-type(A)\}  ].  \mforall{}[Ps:eclass-program\{i:l\}(Info)  List].
    \mforall{}[F:Id  {}\mrightarrow{}  k:\mBbbN{}||Ps||  {}\mrightarrow{}  bag(eclass-program-type(Ps[k]))  {}\mrightarrow{}  bag(B)  {}\mrightarrow{}  bag(B)]
        defined-class(rec-comb-loc-program(F;B;Ps))  =  F|Loc,  \mlambda{}k.defined-class(Ps[k]),  Prior(self)| 
        supposing  \mforall{}x:Id.  \mforall{}buf:bag(B).    ((F  x  (\mlambda{}k.\{\})  buf)  =  \{\}) 
    supposing  0  <  ||Ps||


Date html generated: 2012_02_20-PM-02_50_52
Last ObjectModification: 2012_01_07-PM-02_00_05

Home Index