{ [locs:Id List]. [hdr:Name]. [T:Type].
    (defined-class(base-program(locs;hdr;T)) = BaseClass(hdr;T)@locs) }

{ Proof }



Definitions occuring in Statement :  restricted-baseclass: BaseClass(h;T)@locs Message: Message base-program: base-program(locs;hdr;T) defined-class: defined-class(prg) eclass: EClass(A[eo; e]) Id: Id name: Name uall: [x:A]. B[x] list: type List universe: Type equal: s = t
Definitions :  mData: mData 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] 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 function: x:A  B[x] all: x:A. B[x] so_lambda: x y.t[x; y] Id: Id eclass: EClass(A[eo; e]) Message: Message defined-class: defined-class(prg) base-program: base-program(locs;hdr;T) restricted-baseclass: BaseClass(h;T)@locs list: type List axiom: Ax name: Name equal: s = t uall: [x:A]. B[x] member: t  T universe: Type isect: x:A. B[x] pMsg: pMsg(P.M[P]) fpf-cap: f(x)?z eclass-program: eclass-program{i:l}(Info) bool: IdLnk: IdLnk rationals: so_apply: x[s] append: as @ bs locl: locl(a) Knd: Knd l_member: (x  l) assert: b limited-type: LimitedType unit: Unit atom: Atom$n prop: squash: T tag-by: zT rev_implies: P  Q or: P  Q implies: P  Q iff: P  Q ldag: LabeledDAG(T) labeled-graph: LabeledGraph(T) record+: record+ record: record(x.T[x]) fset: FSet{T} dataflow: dataflow(A;B) isect2: T1  T2 b-union: A  B union: left + right bag: bag(T) true: True fpf-sub: f  g deq: EqDecider(T) ma-state: State(ds) atom: Atom apply: f a fpf-dom: x  dom(f) false: False guard: {T} df-program-type: df-program-type(dfp) class-program: ClassProgram(T) es-E-interface: E(X) so_lambda: x.t[x] set: {x:A| B[x]}  dataflow-program: DataflowProgram(A) void: Void label: ...$L... t es-base-E: es-base-E(es) token: "$token" dep-isect: Error :dep-isect,  infix_ap: x f y record-select: r.x eq_atom: eq_atom$n(x;y) eq_atom: x =a y intensional-universe: IType decide: case b of inl(x) =s[x] | inr(y) =t[y] ifthenelse: if b then t else f fi  dataflow-set-class: dataflow-set-class(x.P[x]) fpf-join: f  g fpf-single: x : v mk_fpf: mk_fpf(L;f) dataflow-history-val: dataflow-history-val(es;e;x.P[x]) baseclass: BaseClass(h;T) fpf_ap_pair: fpf_ap_pair{fpf_ap_pair_compseq_tag_def:o}(x; eq; f; d) 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) nil: [] rcv: rcv(l,tg) add: n + m cons: [car / cdr] sqequal: s ~ t int: nat: null-df-program: null-df-program(B) empty-bag: {} single-bag: {x} eq_term: a == b name_eq: name_eq(x;y) spreadn: spread3 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] btrue: tt 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 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 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) inl: inl x  rec-dataflow: rec-dataflow(s0;s,m.next[s; m]) iter_df_cons: iter_df_cons{iter_df_cons_compseq_tag_def:o}(as; a; P) rec_dataflow_ap: rec_dataflow_ap_compseq_tag_def iter_df_nil: iter_df_nil{iter_df_nil_compseq_tag_def:o}(P) Auto: Error :Auto,  CollapseTHEN: Error :CollapseTHEN,  RepeatFor: Error :RepeatFor,  Try: Error :Try,  CollapseTHENA: Error :CollapseTHENA,  D: Error :D,  valueall-type: valueall-type(T) eq_bool: p =b q eq_int: (i = j) rec: rec(x.A[x]) tunion: x:A.B[x] filter: filter(P;l) permutation: permutation(T;L1;L2) es-locl: (e <loc e') rev_uimplies: rev_uimplies(P;Q)
Lemmas :  data-stream-null-df-program bool_subtype_base iff_imp_equal_bool assert-name_eq last_append es-before_wf3 es-locl_wf null_append last-map es-le-before_wf2 es-le_wf member_null permutation_wf assert-eq_term type-valueall-type name_eq_wf empty-bag_wf eq_term_wf valueall-type_wf false_wf btrue_wf single-bag_wf ifthenelse_wf subtype_base_sq 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 bool_wf id-deq_wf deq-member_wf assert_wf not_wf l_member_wf bnot_wf assert-deq-member not_functionality_wrt_iff assert_of_bnot iff_weakening_uiff iff_transitivity eqff_to_assert eqtt_to_assert length_wf_nat non_neg_length length-map length-append append_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 subtype_rel_function intensional-universe_wf subtype_rel_record+ event_ordering_wf es-base-E_wf subtype_rel_dep_function eclass_wf3 eclass_wf2 dataflow-program_wf fpf_wf df-program-type_wf subtype_rel_product true_wf squash_wf subtype-fpf2 subtype_rel_set subtype_rel_sets bag_wf unit_wf subtype_rel_self eclass-program_wf name_wf mData_wf restricted-baseclass_wf eclass_wf es-interface-top eclass-program-type_wf base-program_wf defined-class_wf subtype_rel_wf Message_wf member_wf event-ordering+_wf event-ordering+_inc es-E_wf eclass-ext Id_wf

\mforall{}[locs:Id  List].  \mforall{}[hdr:Name].  \mforall{}[T:Type].
    (defined-class(base-program(locs;hdr;T))  =  BaseClass(hdr;T)@locs)


Date html generated: 2011_08_17-PM-04_16_23
Last ObjectModification: 2011_06_18-AM-11_33_14

Home Index