{ [locs:Id List]. [T:Type]. [f:{x:Id| (x  locs)}   Message  bag(T)].
    (defined-class(general-base-program(locs;f;T))
    = general-base-class(locs;f)) }

{ Proof }



Definitions occuring in Statement :  general-base-class: general-base-class(locs;f) Message: Message general-base-program: general-base-program(locs;f;T) defined-class: defined-class(prg) eclass: EClass(A[eo; e]) Id: Id uall: [x:A]. B[x] set: {x:A| B[x]}  function: x:A  B[x] list: type List universe: Type equal: s = t l_member: (x  l) bag: bag(T)
Definitions :  spread: spread def pi1: fst(t) eclass-program-type: eclass-program-type(prg) subtype: S  T event_ordering: EO es-E: E event-ordering+: EO+(Info) lambda: x.A[x] prop: top: Top pair: <a, b> fpf: a:A fp-B[a] strong-subtype: strong-subtype(A;B) le: A  B ge: i  j  not: A less_than: a < b uimplies: b supposing a product: x:A  B[x] and: P  Q uiff: uiff(P;Q) subtype_rel: A r B all: x:A. B[x] so_lambda: x y.t[x; y] bag: bag(T) set: {x:A| B[x]}  l_member: (x  l) Id: Id eclass: EClass(A[eo; e]) Message: Message defined-class: defined-class(prg) general-base-program: general-base-program(locs;f;T) general-base-class: general-base-class(locs;f) function: x:A  B[x] universe: Type list: type List equal: s = t member: t  T axiom: Ax isect: x:A. B[x] uall: [x:A]. B[x] Auto: Error :Auto,  Complete: Error :Complete,  Try: Error :Try,  CollapseTHENA: Error :CollapseTHENA,  CollapseTHEN: Error :CollapseTHEN,  tactic: Error :tactic,  void: Void label: ...$L... t fpf-cap: f(x)?z MaAuto: Error :MaAuto,  implies: P  Q fpf-dom: x  dom(f) fpf_ap_pair: fpf_ap_pair{fpf_ap_pair_compseq_tag_def:o}(x; eq; f; d) dataflow-history-val: dataflow-history-val(es;e;x.P[x]) dataflow-set-class: dataflow-set-class(x.P[x]) fpf-single: x : v mk_fpf: mk_fpf(L;f) fpf-join: f  g record-select: r.x eq_atom: x =a y eq_atom: eq_atom$n(x;y) decide: case b of inl(x) =s[x] | inr(y) =t[y] ifthenelse: if b then t else f fi  assert: b dep-isect: Error :dep-isect,  record+: record+ apply: f a es-le-before: loc(e) es-info: info(e) map: map(f;as) es-loc: loc(e) es-le: e loc e'  combination: Combination(n;T) listp: A List length: ||as|| natural_number: $n es-before: before(e) true: True fpf-sub: f  g deq: EqDecider(T) ma-state: State(ds) atom: Atom es-base-E: es-base-E(es) token: "$token" false: False rcv: rcv(l,tg) guard: {T} locl: locl(a) Knd: Knd class-program: ClassProgram(T) es-E-interface: E(X) nil: [] bool: add: n + m append: as @ bs cons: [car / cdr] sqequal: s ~ t nat: int: empty-bag: {} null-df-program: null-df-program(B) atom: Atom$n it: df-program-meaning: df-program-meaning(dfp) data-stream: data-stream(P;L) last: last(L) lt_int: i <z j le_int: i z j bfalse: ff exists: x:A. B[x] limited-type: LimitedType btrue: tt iff: P  Q deq-disjoint: deq-disjoint(eq;as;bs) deq-all-disjoint: deq-all-disjoint(eq;ass;bs) eq_id: a = b eq_lnk: a = b es-eq-E: e = e' es-bless: e <loc e' es-ble: e loc e' bimplies: p  q band: p  q bor: p q id-deq: IdDeq deq-member: deq-member(eq;x;L) bnot: b union: left + right unit: Unit subtract: n - m firstn: firstn(n;as) iterate-dataflow: P*(inputs) dataflow-ap: df(a) pi2: snd(t) null: null(as) quotient: x,y:A//B[x; y] set_blt: a < b grp_blt: a < b infix_ap: x f y dcdr-to-bool: [d] bl-all: (xL.P[x])_b bl-exists: (xL.P[x])_b b-exists: (i<n.P[i])_b eq_type: eq_type(T;T') qeq: qeq(r;s) q_less: q_less(r;s) q_le: q_le(r;s) real: grp_car: |g| sq_type: SQType(T) pMsg: pMsg(P.M[P]) mData: mData so_lambda: x.t[x] name: Name es-locl: (e <loc e') squash: T iter_df_cons: iter_df_cons{iter_df_cons_compseq_tag_def:o}(as; a; P) cand: A c B iter_df_nil: iter_df_nil{iter_df_nil_compseq_tag_def:o}(P) rec_dataflow_ap: rec_dataflow_ap_compseq_tag_def RepUR: Error :RepUR
Lemmas :  data-stream-null-df-program empty-bag_wf last_append squash_wf true_wf es-before_wf3 es-locl_wf null_append last-map es-le-before_wf2 es-le_wf false_wf member_null subtype_base_sq mData_wf name_wf list_subtype_base atom_subtype_base product_subtype_base nat_wf null_wf3 assert_of_null not_functionality_wrt_uiff uiff_transitivity firstn_wf last_wf last-data-stream it_wf unit_wf bool_wf id-deq_wf deq-member_wf assert_wf not_wf bnot_wf assert-deq-member not_functionality_wrt_iff assert_of_bnot iff_weakening_uiff iff_transitivity eqff_to_assert eqtt_to_assert non_neg_length length_wf_nat length-map length-append append_wf es-base-E_wf subtype_rel_list es-before_wf top_wf pos_length2 length_wf1 map_wf es-le-before_wf es-info_wf es-loc_wf eclass_wf2 eclass_wf3 subtype_rel_self eclass_wf Message_wf member_wf defined-class_wf general-base-program_wf event-ordering+_wf event-ordering+_inc es-E_wf eclass-ext general-base-class_wf Id_wf bag_wf l_member_wf subtype_rel_wf eclass-program-type_wf es-interface-top

\mforall{}[locs:Id  List].  \mforall{}[T:Type].  \mforall{}[f:\{x:Id|  (x  \mmember{}  locs)\}    {}\mrightarrow{}  Message  {}\mrightarrow{}  bag(T)].
    (defined-class(general-base-program(locs;f;T))  =  general-base-class(locs;f))


Date html generated: 2011_08_17-PM-04_17_11
Last ObjectModification: 2011_06_18-AM-11_33_26

Home Index